Os registros Nacos do Microservices Engine (MSE) permitem configurar permissões de acesso refinadas com base em recursos como instância, namespace, grupo e nome do service. Isso reduz o risco de acesso não autorizado ou modificação indevida de uma instância.
Pré-requisitos
Uso
A figura a seguir ilustra como ativar e configurar permissões de acesso para uma conexão direta ao mecanismo. Após a concessão das permissões, o cliente Nacos poderá acessar o MSE Nacos como um usuário RAM.

Para obter informações sobre como configurar a autenticação para controle do mecanismo, que envolve conceder a um usuário RAM permissões para usar o console MSE, consulte Registry and configuration center authorization.
Etapa 1: Criar uma política refinada
Faça login no console RAM como administrador RAM.
No painel de navegação à esquerda, escolha .
Na página Policies, clique em Create Policy.
-
Na página Create Policy, clique na aba JSON Editor.
A página exibe um editor JSON. O modelo de política padrão inclui um elemento
Version(definido como"1") e um arrayStatement. Cada instrução contém os elementosEffect(padrão"Allow"),Action,ResourceeCondition. Preencha os elementosActioneResource. -
Insira o conteúdo da política.
-
A tabela a seguir descreve as ações para autenticação refinada em um registro.
Actions
Description
mse:QueryNacosNaming
Permissão para ler serviços em um registro MSE Nacos. Permite usar um SDK para recuperar e assinar serviços.
mse:UpdateNacosNaming
Permissão para atualizar serviços em um registro MSE Nacos. Permite usar um SDK para publicar e modificar serviços.
-
Os recursos para autenticação refinada em um registro devem seguir este formato:
acs:mse:*:*:instance/{instance_id}/{namespaceId}/{group}/naming/{serviceName}Também é possível modificar o conteúdo da política com base nos exemplos da seção Examples.
Para mais informações sobre a sintaxe e a estrutura de uma política RAM, consulte Policy structure and syntax.
-
-
No topo da página, clique em Optimize e, em seguida, clique em Perform para executar uma otimização avançada na política.
O recurso de otimização avançada de políticas executa as seguintes tarefas:
Divide recursos ou condições para ações incompatíveis.
Restringe o escopo dos recursos.
Remove instruções duplicadas ou mescla instruções.
Na página Create Policy, clique em OK.
Na caixa de diálogo Create Policy, insira um policy name e uma Description e clique em OK.
Etapa 2: Conceder permissões RAM
Conceder permissões a um usuário RAM
Faça login no RAM console com uma conta Alibaba Cloud ou um usuário RAM que possua permissões administrativas RAM (
AliyunRAMFullAccess).No painel de navegação à esquerda, escolha .
-
Na página Users, localize o usuário RAM desejado e clique em Add Permissions na coluna Actions.
Você também pode selecionar vários usuários RAM e clicar em Add Permissions na parte inferior da lista para conceder permissões em massa.
No painel Grant Permission, na seção Policies, clique na lista suspensa All Policy Types e selecione Custom Policy. Na caixa de texto, insira o nome da política criada na Etapa 1, clique no nome da política exibido nos resultados da pesquisa e, em seguida, clique em OK.
No painel Grant Permission, confirme as informações de autorização e clique em Close.
Conceder permissões a uma função RAM
Faça login no RAM console com uma conta Alibaba Cloud ou um usuário RAM que possua permissões administrativas RAM (
AliyunRAMFullAccess).No painel Grant Permission, na seção Policies, clique na lista suspensa All Policy Types e selecione Custom Policy. Na caixa de texto, insira o nome da política de permissão criada na Etapa 1, clique no nome da política nos resultados da pesquisa e, em seguida, clique em Confirm Add Permission.
No painel Grant Permission, confirme as informações de autorização e clique em Close.
Exemplos
-
Conceder a um usuário permissão somente leitura em serviços de instâncias específicas.
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosNaming" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] } -
Conceder a um usuário permissões de leitura e atualização em serviços de instâncias específicas.
{ "Version": "1", "Statement": [ { "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": [ "acs:mse:*:*:instance/${instanceId1}", "acs:mse:*:*:instance/${instanceId2}" ], "Effect": "Allow" } ] }Nota${instanceId1}e${instanceId2}representam os IDs das instâncias de registro. -
Conceder a um usuário permissão somente leitura em serviços de um namespace específico de uma instância.
{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosNaming", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}" } ], "Version": "1" } -
Conceder a um usuário permissões de leitura e atualização para serviços no grupo
${group}em um namespace específico de uma instância.{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}" } ], "Version": "1" } -
Conceder a um usuário permissão somente leitura para o service
${serviceName}no grupo${group}.{ "Statement": [ { "Effect": "Allow", "Action": "mse:QueryNacosNaming", "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}" } ], "Version": "1" } -
Conceder a um usuário permissões de leitura e atualização para o service
${serviceName}no grupo${group}.{ "Statement": [ { "Effect": "Allow", "Action": [ "mse:QueryNacosNaming", "mse:UpdateNacosNaming" ], "Resource": "acs:mse:*:*:instance/${instance_id}/${namespaceId}/${group}/naming/${serviceName}" } ], "Version": "1" }
Documentos relacionados
Para saber mais sobre a autenticação no nível de instância para um registro, consulte Nacos client authentication.