Atribua tags aos recursos do ECS e use políticas do RAM para aplicar controle de acesso detalhado baseado em categorias.
Por que usar permissões baseadas em tags
Diferente dos grupos de recursos, as tags permitem vários rótulos por recurso, possibilitando classificação por região, departamento, ambiente ou qualquer outra dimensão.
As políticas do RAM baseadas em tags oferecem três vantagens:
-
Controle detalhado: restrinja permissões a um subconjunto de recursos sem ampliar atribuições de função.
-
Menos políticas para manter: uma única política condicionada por tag abrange toda uma classe de recursos, reduzindo a quantidade de políticas à medida que a infraestrutura cresce.
-
Atributos com significado de negócio: as chaves e valores das tags refletem suas convenções de nomenclatura — nomes de projetos, centros de custo, estágios de implantação —, facilitando a auditoria das políticas.
Práticas recomendadas
Atribua tags às instâncias do ECS que compartilham uma função de negócio e referencie a tag em uma condição de política do RAM para aplicar regras de acesso.
O exemplo a seguir impede que instâncias do ECS com a tag de banco de dados recebam endereços IP públicos.
Etapa 1: atribuir tags às instâncias
Adicione uma tag às instâncias do ECS. Consulte Visão geral de tags.
Neste exemplo, a tag é function:database.
Etapa 2: criar uma política do RAM com condição de tag
Crie a política do RAM a seguir e vincule-a aos usuários ou funções do RAM de destino.
{
"Version": "1",
"Statement": [
{
"Effect": "Deny",
"Action": [
"ecs:ModifyInstanceNetworkSpec"
],
"Resource": "acs:ecs:*:*:instance/*",
"Condition": {
"StringEquals": {
"acs:ResourceTag/function:database": ["*"]
},
"Bool": {
"ecs:AssociatePublicIpAddress": ["true"]
}
}
}
]
}
Principais elementos da política:
| Elemento | Valor | Descrição |
|---|---|---|
Effect |
Deny |
Bloqueia a ação quando todas as condições são atendidas |
Action |
ecs:ModifyInstanceNetworkSpec |
Direciona a operação de configuração de rede da instância |
Resource |
acs:ecs:*:*:instance/* |
Aplica-se a todas as instâncias do ECS em todas as regiões e contas |
acs:ResourceTag/function:database |
["*"] |
Corresponde às instâncias com a tag function:database |
ecs:AssociatePublicIpAddress |
["true"] |
Corresponde às solicitações que atribuem um endereço IP público |
Resultado
Após a ativação, a política nega qualquer solicitação ModifyInstanceNetworkSpec que atribua um endereço IP público a uma instância com a tag function:database. Instâncias sem essa tag não são afetadas.