Message Queue for Apache Kafka As edições Professional e Serverless oferecem suporte ao recurso de lista de controle de acesso (ACL). Após ativar a ACL, conceda permissões refinadas a usuários SASL e direcione todo o acesso ao plano de dados por um endpoint SASL.
Descrição
A ACL oferece controle de permissões refinado no nível de tópico e Consumer Group. Com a ACL ativada, conceda a usuários SASL permissões para produzir ou consumir em tópicos específicos, ou utilizar Consumer Groups determinados. Todo o acesso ao plano de dados passa pelo endpoint SASL.
Diferença entre ACL e listas de permissões de camada de rede (grupos de segurança)
Tanto a ACL quanto as listas de permissões de camada de rede (grupos de segurança) são mecanismos de segurança, mas operam em camadas distintas:
|
Mecanismo de segurança |
Camada |
Granularidade de controle |
|
Lista de permissões de camada de rede (grupo de segurança) |
Rede |
Controla quais endereços IP podem se conectar à instância. Não distingue usuários ou recursos. |
|
ACL |
Plano de dados |
Define quais usuários SASL têm acesso de leitura ou escrita a tópicos ou Consumer Groups específicos. Permite controle de acesso refinado e proteção de dados sensíveis. |
(Recomendado) Utilize ambos os mecanismos em conjunto para obter segurança em camadas.
Ecossistema de segurança do ApsaraMQ for Kafka
O ApsaraMQ for Kafka disponibiliza uma estrutura de segurança abrangente:
|
Componente |
Finalidade |
|
Gerenciamento de permissões do RAM |
Controla o acesso ao console e à API para contas Alibaba Cloud e usuários RAM. |
|
ACL + autenticação SASL |
Oferece controle de acesso no nível de recurso (ACL) e autenticação de identidade (SASL) no plano de dados. |
|
Criptografia SSL/TLS em trânsito |
Criptografa dados em trânsito para evitar interceptação. |
|
Cloud Monitor |
Disponibiliza capacidades de monitoramento e auditoria. |
A ACL é o componente essencial para o controle refinado de acesso a dados e a proteção de informações sensíveis, como restringir quem pode produzir ou consumir em tópicos ou Consumer Groups específicos.
Pré-requisitos
A instância deve ser da edição Professional ou Serverless.
O status da instância deve ser Running.
A versão principal da instância deve ser 2.2.0 ou superior. Para instruções de atualização, consulte Atualizar versões.
A versão secundária da instância deve ser a mais recente. Para instruções de atualização, consulte Atualizar versões da instância.
Procedimento
Faça login no console do ApsaraMQ for Kafka.
Na página Overview, selecione uma região na seção Resource Distribution.
Na página Instances, clique em nome da instância desejada.
Na página Instance Details, clique em Enable ACL no canto superior direito da seção Overview.
-
Na caixa de diálogo ACL Risk Notice, clique em OK e atualize a página manualmente.
Após a atualização manual da página, o Status da instância muda para Upgrading na seção Basic Information da página Instance Details. O processo termina quando o Status retorna para Running.
NotaAtivar a ACL exige uma atualização da instância que leva cerca de 30 minutos (ou mais para clusters maiores). Após a atualização, crie usuários SASL e conceda-lhes permissões para acessar a instância via endpoint SASL. Para mais informações, consulte Criar um usuário SASL.
Também é possível ativar o recurso de ACL durante a criação da instância.
Perguntas frequentes
**P: Como resolver erros GroupAuthorizationException nas conexões dos consumidores?**
Esse erro geralmente ocorre porque o Consumer Group não recebeu permissão de leitura na configuração da ACL.
Causa: Com a ACL ativada, as conexões de consumidores que leem de um Consumer Group exigem permissão explícita de leitura no recurso Group. Sem essa permissão, o broker rejeita a conexão e retorna GroupAuthorizationException.
Solução:
Verifique se a ACL está ativada para sua instância.
Na página de detalhes da instância, clique em aba Manage SASL User Permissions.
Clique em Grant Permission.
-
No painel Grant Permission, configure os seguintes parâmetros:
Defina Resource Type como Group.
Defina Operation Type como Read.
Especifique o nome do Consumer Group ou insira um prefixo e selecione Prefix Match como modo de correspondência.
Selecione o nome de usuário SASL utilizado pela aplicação consumidora.
Envie a regra de ACL. O consumidor poderá então se conectar com sucesso.
Instâncias da edição Standard não suportam ACL. Caso sua instância seja da edição Standard, conceda ao usuário RAM a permissão AliyunKafkaFullAccess como método alternativo de controle de acesso.