Controle de acesso para usuários e funções do IAM usando etiquetas - AWS Identity and Access Management

Controle de acesso para usuários e funções do IAM usando etiquetas

Use as informações da seção a seguir para controlar quem pode acessar os usuários e as funções do IAM e quais recursos os usuários e as funções podem acessar. Para obter mais informações gerais e exemplos de controle de acesso a outros recursos da AWS, incluindo recursos do IAM, consulte Tags para recursos do AWS Identity and Access Management.

nota

Para obter detalhes sobre a distinção entre maiúsculas e minúsculas para chaves de tag e valores de chave de tag, consulte Case sensitivity.

As etiquetas podem ser anexadas ao recurso do IAM, transmitidas na solicitação, ou anexadas à entidade de segurança que está fazendo a solicitação. Um usuário ou uma função do IAM pode ser um recurso e uma entidade de segurança. Por exemplo, é possível escrever uma política que permita que um usuário liste os grupos de um usuário. Essa operação é permitida somente se o usuário que está fazendo a solicitação (o principal) tiver a mesma tag project=blue que o usuário que está tentando visualizar. Neste exemplo, o usuário pode visualizar a associação ao grupo de qualquer usuário, incluindo ele mesmo, desde que esteja trabalhando no mesmo projeto.

Para controlar o acesso com base em tags, forneça informações sobre a tag no elemento de condição de uma política. Ao criar uma política do IAM, você pode usar etiquetas do IAM e a chave de condição da etiqueta associada para controlar o acesso a qualquer um das seguintes opções:

  • Recurso: controle o acesso aos recursos do usuário ou da função com base em suas etiquetas. Para fazer isso, use a chave de condição aws:ResourceTag/key-name para especificar o par de chave-valor da tag a ser associado ao recurso. Para ter mais informações, consulte Controlar o acesso aos recursos do AWS.

  • Solicitação: controle quais etiquetas podem ser transmitidas em uma solicitação do IAM. Para isso, use a chave de condição aws:RequestTag/key-name para especificar quais etiquetas podem ser adicionadas, alteradas ou removidas de um usuário ou de uma função do IAM. Essa chave é usada da mesma forma para recursos do IAM e outros recursos da AWS. Para ter mais informações, consulte Controlar o acesso durante solicitações do AWS.

  • Entidade de segurança: controle o que a pessoa que está fazendo a solicitação (a entidade de segurança) tem permissão para fazer com base nas etiquetas anexadas ao usuário ou à função do IAM dessa pessoa. Para isso, use a chave de condição aws:PrincipalTag/key-name para especificar quais etiquetas devem ser anexadas ao usuário ou à função do IAM até a solicitação ser permitida.

  • Qualquer parte do processo de autorização: use a chave de condição aws:TagKeys para controlar se chaves de tag específicas podem ser usadas em uma solicitação ou por uma entidade principal. Neste caso, o valor da chave não importa. Essa chave se comporta de forma semelhante para o IAM e outros serviços da AWS. No entanto, quando você etiqueta um usuário no IAM, isso também controla se a entidade de segurança pode fazer a solicitação para qualquer serviço. Para ter mais informações, consulte Controlar o acesso com base em chaves de tag.

É possível criar uma política do IAM com o editor visual, usando JSON ou importando uma política gerenciada existente. Para obter detalhes, consulte Defina permissões personalizadas do IAM com políticas gerenciadas pelo cliente.

nota

Também é possível passar tags de sessão ao assumir um perfil do IAM ou federar um usuário. Elas são válidas somente durante a sessão.

Controle de acesso de entidades de segurança do IAM

Você pode controlar as ações que o principal tem permissão para realizar com base nas tags associadas à identidade dessa pessoa.

Este exemplo mostra como você pode criar uma política baseada em identidade que permita que qualquer usuário nesta conta visualize a associação ao grupo de qualquer usuário, inclusive a sua própria, desde que esteja trabalhando no mesmo projeto. Essa operação só é permitida quando a tag de recurso do usuário e a tag da entidade principal têm o mesmo valor para a chave de tag project. Para usar esta política, substitua o texto do espaço reservado em itálico na política de exemplo por suas próprias informações. Em seguida, siga as instruções em criar uma política ou editar uma política.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "iam:ListGroupsForUser", "Resource": "arn:aws:iam::111222333444:user/*", "Condition": { "StringEquals": {"aws:ResourceTag/project": "${aws:PrincipalTag/project}"} } }] }

Controlar o acesso com base em chaves de tag

Você pode usar tags em suas políticas do IAM para controlar quais chaves de tag específicas podem ser usadas em um recurso ou por uma entidade principal.

Este exemplo mostra como é possível criar uma política baseada em identidade que só permita remover a tag com a chave temporary dos usuários. Para usar esta política, substitua o texto do espaço reservado em itálico na política de exemplo por suas próprias informações. Em seguida, siga as instruções em criar uma política ou editar uma política.

{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": "iam:UntagUser", "Resource": "*", "Condition": {"ForAllValues:StringEquals": {"aws:TagKeys": ["temporary"]}} }] }