O ApsaraMQ for RabbitMQ oferece suporte à autenticação e às permissões do RabbitMQ open-source para controlar o acesso no nível de vhost.
Limitações
Apenas instâncias serverless de cluster exclusivo recém-adquiridas são compatíveis.
Não é possível crie nem gerencie a conta padrão guest.
O gerenciamento de permissões com base em tags de usuário não é suportado. Para obter detalhes sobre como gerencie permissões pelo console ou pela OpenAPI, consulte Controle de acesso do RAM.
Ao configurar uma instância, escolha entre a autenticação open-source ou o Resource Access Management (RAM) da Alibaba Cloud. Essa escolha é irreversível.
Habilitar a autenticação open-source em uma instância serverless de cluster exclusivo impede o downgrade para uma instância compartilhada.
Como funciona
O ApsaraMQ for RabbitMQ controla o acesso no nível de vhost. Atribua as permissões configure, write e read a exchanges e filas usando expressões regulares:
.*concede acesso a todos os recursos.^$corresponde à string vazia e bloqueia todo o acesso.'^(amq\.gen.*|amq\.default)$'permite o acesso aos recursos do sistema e à exchange padrão.
A tabela a seguir descreve o mapeamento das operações típicas do AMQP 0-9-1 para essas permissões:
|
Operação AMQP 0-9-1 |
configure |
write |
read |
|
|
exchange.declare |
(passive=false) |
exchange |
||
|
exchange.declare |
(passive=true) |
|||
|
exchange.declare |
(with AE) |
exchange |
exchange (AE) |
exchange |
|
exchange.delete |
exchange |
|||
|
queue.declare |
(passive=false) |
queue |
||
|
queue.declare |
(passive=true) |
|||
|
queue.declare |
(with DLX) |
queue |
exchange (DLX) |
queue |
|
queue.delete |
queue |
|||
|
exchange.bind |
exchange (destination) |
exchange (source) |
||
|
exchange.unbind |
exchange (destination) |
exchange (source) |
||
|
queue.bind |
queue |
exchange |
||
|
queue.unbind |
queue |
exchange |
||
|
basic.publish |
exchange |
|||
|
basic.get |
queue |
|||
|
basic.consume |
queue |
|||
|
queue.purge |
queue |
O controle de acesso ocorre em duas etapas:
Acesso ao vhost: o cliente especifica um vhost durante a conexão. O servidor verifica se o usuário tem acesso; caso contrário, rejeita a conexão.
Operações de recurso: o servidor verifica se o usuário possui as permissões necessárias para cada operação de exchange ou fila.
Segurança de rede
Ao usar a autenticação open-source e o gerenciamento de permissões, o ApsaraMQ for RabbitMQ aprimora a segurança da seguinte forma:
|
Tipo de rede |
Solução |
|
VPC |
Autenticação open-source + endpoint privado |
|
Internet |
Autenticação open-source + lista de permissões de IP público |
Gerenciamento de usuários e permissões
O ApsaraMQ for RabbitMQ permite crie usuários e gerencie permissões diretamente no console. Para obter orientações passo a passo, consulte Permissões.