Anexe tags às instâncias do ECS e configure uma política personalizada do RAM para que usuários específicos visualizem e gerenciem apenas as instâncias com essas tags.
Contexto
Em uma política personalizada, as tags autorizadas são especificadas no bloco de condição. As chaves de condição a seguir se aplicam a tags:
acs:RequestTag/<tag-key>: tag obrigatória na solicitação da API.acs:ResourceTag/<tag-key>: tag obrigatória no recurso acessado.
Procedimento
Neste exemplo, a usuária do RAM Alice visualiza e gerencia apenas instâncias do ECS com as tags owner:alice e environment:production.
O processo de autorização não afeta instâncias do ECS em execução.
Execute estas etapas com sua conta Alibaba Cloud ou um usuário do RAM com permissões administrativas.
-
Crie uma usuária do RAM chamada Alice no console do RAM.
-
Anexe tags às instâncias do ECS de destino.
Adicione as tags
owner:aliceeenvironment:productionàs instâncias do ECS desejadas.Use um dos métodos a seguir para anexar tags:
Crie e anexe as tags no console de Tags. Consulte Criar uma tag e Adicionar tags.
Crie e anexe tags diretamente às instâncias no console do ECS. Consulte Criar e anexar tags.
-
Crie uma política personalizada chamada UseTagAccessRes no console do RAM.
Crie uma política com o conteúdo a seguir. Consulte Criar uma política personalizada.
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "alice" ], "acs:ResourceTag/environment": [ "production" ] } } }, { "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/owner": [ "alice" ], "acs:RequestTag/environment": [ "production" ] } } }, { "Effect": "Allow", "Action": [ "ecs:List*", "ecs:DescribeInstanceStatus", "ecs:DescribeInstanceVncUrl", "ecs:DescribeInstanceAutoRenewAttribute", "ecs:DescribeInstanceRamRole", "ecs:DescribeInstanceTypeFamilies", "ecs:DescribeInstanceTypes", "ecs:DescribeInstanceAttachmentAttributes", "ecs:DescribeInstancesFullStatus", "ecs:DescribeInstanceHistoryEvents", "ecs:DescribeInstanceMonitorData", "ecs:DescribeInstanceMaintenanceAttributes", "ecs:DescribeInstanceModificationPrice", "ecs:DescribeA*", "ecs:DescribeC*", "ecs:DescribeD*", "ecs:DescribeE*", "ecs:DescribeH*", "ecs:DescribeIm*", "ecs:DescribeInv*", "ecs:DescribeK*", "ecs:DescribeL*", "ecs:DescribeM*", "ecs:DescribeN*", "ecs:DescribeP*", "ecs:DescribeR*", "ecs:DescribeS*", "ecs:DescribeT*", "ecs:DescribeZ*", "vpc:DescribeVpcs", "vpc:DescribeVSwitches" ], "Resource": "*" }, { "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" } ] }Descrição da política:
Política
Descrição
{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:RequestTag/owner": "alice", "acs:RequestTag/environment": "production" } } }Permite ações como criar instância somente se a solicitação incluir as tags
owner:aliceeenvironment:production.{ "Effect": "Allow", "Action": "ecs:*", "Resource": "*", "Condition": { "StringEquals": { "acs:ResourceTag/owner": [ "alice" ], "acs:ResourceTag/environment": [ "production" ] } } }Permite operações de gerenciamento em instâncias do ECS com as tags
owner:aliceeenvironment:production.{ "Effect": "Allow", "Action": [ "ecs:List*", "ecs:DescribeInstanceStatus", "ecs:DescribeInstanceVncUrl", "ecs:DescribeInstanceAutoRenewAttribute", "ecs:DescribeInstanceRamRole", "ecs:DescribeInstanceTypeFamilies", "ecs:DescribeInstanceTypes", "ecs:DescribeInstanceAttachmentAttributes", "ecs:DescribeInstancesFullStatus", "ecs:DescribeInstanceHistoryEvents", "ecs:DescribeInstanceMonitorData", "ecs:DescribeInstanceMaintenanceAttributes", "ecs:DescribeInstanceModificationPrice", "ecs:DescribeA*", "ecs:DescribeC*", "ecs:DescribeD*", "ecs:DescribeE*", "ecs:DescribeH*", "ecs:DescribeIm*", "ecs:DescribeInv*", "ecs:DescribeK*", "ecs:DescribeL*", "ecs:DescribeM*", "ecs:DescribeN*", "ecs:DescribeP*", "ecs:DescribeR*", "ecs:DescribeS*", "ecs:DescribeT*", "ecs:DescribeZ*", "vpc:DescribeVpcs", "vpc:DescribeVSwitches" ], "Resource": "*" }Concede permissões para listar e descrever instâncias do ECS. O console exige essas permissões para exibir informações das instâncias antes da aplicação de filtros baseados em tags.
{ "Effect": "Deny", "Action": [ "ecs:DeleteTags", "ecs:UntagResources", "ecs:CreateTags", "ecs:TagResources" ], "Resource": "*" }Nega permissões para criar, anexar, desanexar ou excluir tags.
Essa configuração impede que o usuário do RAM contorne restrições de acesso ao modificar tags.
-
Anexe a política UseTagAccessRes à usuária do RAM Alice no console do RAM.
Ao conceder a permissão, defina Account como Account, selecione a usuária do RAM Alice como Principal e escolha a política personalizada UseTagAccessRes. Consulte Conceder permissões a um usuário do RAM.
Verificação do resultado
-
Faça login no console do ECS como a usuária do RAM Alice.
Fazer login no console do Alibaba Cloud como um usuário do RAM.
No painel de navegação à esquerda, escolha .
No canto superior esquerdo da barra de navegação superior, selecione a região.
-
Na página Instance, clique em Filter by Tag ao lado da barra de pesquisa e selecione as tags
owner:aliceeenvironment:production.ImportanteO usuário do RAM deve filtrar pelas tags corretas para visualizar as instâncias do ECS marcadas. Caso contrário, nenhuma instância será exibida.
Verifique se você consegue visualizar e gerenciar apenas as instâncias do ECS com as tags
owner:aliceeenvironment:production.
Referências
Autorização do RAM descreve as regras de autenticação do RAM para o ECS.