Controlar o acesso a etiquetas - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Controlar o acesso a etiquetas

Para adicionar, visualizar e excluir etiquetas, seja no console do AWS KMS do usando a API, as entidades principais precisam de permissões de marcação. Você pode fornecer essas permissões em políticas de chaves. Também é possível fornecê-las em políticas do IAM (incluindo políticas de endpoint da VPC), mas somente se permitido pela política de chaves. A política AWSKeyManagementServicePowerUsergerenciada permite que os diretores marquem, desmarquem e listem as tags em todas as chaves KMS que a conta pode acessar.

Também é possível pode limitar essas permissões usando chaves de condição globais da AWS para etiquetas. EmAWS KMS, essas condições podem controlar o acesso às operações de marcação, como TagResourcee. UntagResource

nota

Tenha cuidado ao conceder permissão a entidades principais para gerenciar etiquetas e aliases. Alterar uma etiqueta ou um alias pode conceder ou negar uma permissão à chave gerenciada pelo cliente. Para obter mais detalhes, consulte ABAC para AWS KMS e Usar etiquetas para controlar o acesso a chaves do KMS.

Para mais informações e exemplos de políticas, consulte Controlar o acesso baseado em chaves de etiqueta, no Guia do Usuário do IAM.

As permissões para criar e gerenciar aliases funcionam como a seguir.

kms: TagResource

Permite que as entidades principais adicionem ou editem etiquetas. Para adicionar etiquetas ao criar uma chave do KMS, a entidade principal deve ter permissão em uma política do IAM que não esteja restrita a chaves do KMS específicas.

kms: ListResourceTags

Permite que as entidades principais visualizem etiquetas em chaves do KMS.

kms: UntagResource

Permite que as entidades principais excluam etiquetas de chaves do KMS.

Permissões de etiquetas em políticas

Você pode fornecer permissões de marcação em uma política de chaves ou política do IAM. O seguinte exemplo de política de chaves concede permissão de marcação a usuários selecionados na chave do KMS. Ele concede a todos os usuários que podem assumir os exemplos de funções Administrador ou Desenvolvedor permissão para visualizar etiquetas.

{ "Version": "2012-10-17", "Id": "example-key-policy", "Statement": [ { "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:root"}, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow all tagging permissions", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:user/LeadAdmin", "arn:aws:iam::111122223333:user/SupportLead" ]}, "Action": [ "kms:TagResource", "kms:ListResourceTags", "kms:UntagResource" ], "Resource": "*" }, { "Sid": "Allow roles to view tags", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::111122223333:role/Administrator", "arn:aws:iam::111122223333:role/Developer" ]}, "Action": "kms:ListResourceTags", "Resource": "*" } ] }

Para conceder permissão de marcação de entidades principais em várias chaves do KMS, é possível usar uma política do IAM. Para que essa política seja eficiente, a política de chaves de cada chave do KMS deve permitir que a conta utilize políticas do IAM para controlar o acesso à chave do KMS.

Por exemplo, a seguinte política do IAM permite que as entidades principais criem chaves do KMS. Ela também permite que eles criem e gerenciem etiquetas em todas as chaves do KMS na conta especificada. Essa combinação permite que os diretores usem o parâmetro Tags da CreateKeyoperação para adicionar tags a uma chave KMS enquanto a criam.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKeys", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource", "kms:ListResourceTags" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } ] }

Limitar permissões de etiquetas

É possível limitar permissões de marcação usando condições de política. As seguintes condições de política podem ser aplicadas às permissões kms:TagResource e kms:UntagResource. Por exemplo, você pode usar a condição aws:RequestTag/tag-key para permitir que uma entidade principal adicione apenas etiquetas específicas, ou pode impedir que uma entidade principal adicione etiquetas com chaves de etiqueta específicas. Você também pode usar a condição kms:KeyOrigin para impedir que as entidades principais marquem ou desmarcem chaves do KMS com material de chave importado.

Como prática recomendada ao usar etiquetas para controlar o acesso a chaves do KMS, use a chave de condição aws:RequestTag/tag-key ou aws:TagKeys para determinar quais etiquetas (ou chaves de etiqueta) são permitidas.

Por exemplo, a política do IAM a seguir é semelhante à anterior. No entanto, essa política permite que as entidades principais criem etiquetas (TagResource) e excluam etiquetas UntagResource somente para etiquetas com um chave de etiqueta Project.

Como TagResource as UntagResource solicitações podem incluir várias tags, você deve especificar um operador ForAllValues ou ForAnyValue definir com a TagKeys condição aws:. O operador ForAnyValue exige que pelo menos uma das chaves de etiqueta na solicitação corresponda a uma das chaves de etiqueta na política. O operador ForAllValues requer que todas as chaves de etiqueta na solicitação correspondam a uma das chaves de etiqueta na política. O ForAllValues operador também retorna true se não houver tags na solicitação, mas TagResource UntagResource falhará quando nenhuma tag for especificada. Para detalhes sobre os operadores de conjunto, consulteUsar várias chaves e valores, no Manual do usuário do IAM.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPolicyCreateKey", "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" }, { "Sid": "IAMPolicyViewAllTags", "Effect": "Allow", "Action": "kms:ListResourceTags", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPolicyManageTags", "Effect": "Allow", "Action": [ "kms:TagResource", "kms:UntagResource" ], "Resource": "arn:aws:kms:*:111122223333:key/*", "Condition": { "ForAllValues:StringEquals": {"aws:TagKeys": "Project"} } } ] }