Ir para o conteúdo

Como crio uma política do IAM para controlar o acesso aos recursos do EC2 usando etiquetas?

3 minuto de leitura
0

Quero controlar o acesso às instâncias do Amazon Elastic Compute Cloud (Amazon EC2) usando etiquetas.

Resolução

Adicione uma tag ao seu grupo de instâncias do Amazon EC2

Observação: as etiquetas têm requisitos específicos, como limite de caracteres e número de tags por recurso.

Abra o console do Amazon EC2. Em seguida, adicione etiquetas ao grupo de instâncias do EC2 para os usuários ou grupos relevantes. Se você ainda não tiver uma tag, crie uma nova.

Crie uma política do IAM que conceda acesso às instâncias que possuem uma tag específica

Sua política do IAM deve atender às seguintes condições para conceder acesso a instâncias com uma tag específica:

  • Permita o controle sobre instâncias com a tag.
  • Contenha uma declaração condicional que permite acesso a recursos do EC2 se o valor da chave de condição ec2:ResourceTag/UserName corresponder à variável de política aws:username. Quando o IAM avalia a política, ele substitui a variável de política ${aws:username} pelo nome amigável do usuário do IAM atual.
  • Permita o acesso às ações ec2:Describe* para recursos do EC2.
  • Negue explicitamente o acesso às ações ec2:CreateTags e ec2:DeleteTags. Isso impede que os usuários criem ou excluam etiquetas mesmo quando têm acesso às instâncias de controle.

Em seu editor JSON, copie o seguinte modelo de política de exemplo:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "ec2:*",
      "Resource": "*",
      "Condition": {
        "StringEquals": {
          "ec2:ResourceTag/UserName": "${aws:username}"
        }
      }
    },
    {
      "Effect": "Allow",
      "Action": "ec2:Describe*",
      "Resource": "*"
    },
    {
      "Effect": "Deny",
      "Action": [
        "ec2:CreateTags",
        "ec2:DeleteTags"
      ],
      "Resource": "*"
    }
  ]
}

Observação: essa política se aplica às instâncias que usam a chave de condição ec2:ResourceTag. Se você quiser usar etiquetas para impedir que os usuários iniciem novas instâncias, siga as instruções em Como posso usar as tags de política do IAM para restringir a forma como uma instância do EC2 ou um volume do EBS podem ser criados e acessados?

Para entidades principais que não são usuários do IAM, como usuários federados, use a variável aws:userid em vez de aws:username. A variável aws:userid tem o valor account:caller-specified-name. Para obter mais informações, consulte Elementos de política do IAM: variáveis e etiquetas e Como uso variáveis de política do IAM com usuários federados?

Anexe a política do IAM aos usuários ou grupos que você deseja que acessem as instâncias

Para anexar a política do IAM aos seus usuários ou grupos, siga as instruções em Adicionar permissões de identidade do IAM (console). Também é possível usar AWS Command Line Interface (AWS CLI) ou a AWS API.

Observação: se você receber erros ao executar comandos da AWS CLI, consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Informações relacionadas

Granting required permissions for Amazon EC2 resources (Conceder as permissões necessárias para os recursos do Amazon EC2)

Políticas baseadas em identidade do Amazon EC2

Tutorial do IAM: Definir permissões para acessar recursos da AWS com base em etiquetas

Marcar com tag os recursos do Amazon EC2