Especificando chaves do KMS em instruções de políticas do IAM - 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á.

Especificando chaves do KMS em instruções de políticas do IAM

É possível usar uma política do IAM para permitir que uma entidade principal use ou gerencie chaves do KMS. Chaves do KMS são especificadas no elemento Resource da instrução de política.

  • Para especificar uma chave do KMS em uma instrução de política do IAM, use seu ARN de chave. Não é possível usar um ID de chave, um nome de alias nem um ARN de alias para identificar uma chave do KMS em uma instrução de política do IAM.

    Por exemplo: "Resource": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab"

    Para controlar o acesso a uma chave KMS com base em seus aliases, use as chaves de condição kms: RequestAlias ou kms:. ResourceAliases Para obter detalhes, consulte ABAC para AWS KMS.

    Use um alias ARN como recurso somente em uma declaração de política que controle o acesso às operações de alias, CreateAliascomo UpdateAlias, ou. DeleteAlias Para obter detalhes, consulte Controlar o acesso a aliases.

  • Para especificar várias chaves do KMS na conta e região, use caracteres curinga (*) nas posições de Região ou ID de recurso do ARN de chave.

    Por exemplo, para especificar todas as chaves do KMS na região Oeste dos EUA (Oregon) de uma conta, use ”Resource": "arn:aws:kms:us-west-2:111122223333:key/*“. Para especificar todas as chaves do KMS em todas as regiões da conta, use "Resource": "arn:aws:kms:*:111122223333:key/*".

  • Para representar todas as chaves do KMS, use um caractere curinga sozinho ("*"). Use esse formato para operações que não usam nenhuma chave KMS específica, a saber CreateKeyGenerateRandom, ListAliases, e. ListKeys

Ao escrever suas instruções de política, é uma prática recomendada limitar as chaves do KMS àquelas que as entidades principais precisam usar, em vez de conceder acesso a todas as chaves do KMS.

Por exemplo, a declaração de política do IAM a seguir permite que o diretor chame as operações DescribeKeyGenerateDataKey,, Decrypt somente nas chaves KMS listadas no Resource elemento da declaração de política. Especificar chaves do KMS por ARN de chave, que é uma prática recomendada, garante que as permissões sejam limitadas apenas às chaves do KMS especificadas.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "arn:aws:kms:us-west-2:111122223333:key/0987dcba-09fe-87dc-65ba-ab0987654321" ] } }

Para aplicar a permissão a todas as chaves KMS em um determinado local confiável Conta da AWS, você pode usar caracteres curinga (*) na região e nas posições de ID da chave. Por exemplo, a instrução de política a seguir permite que a entidade principal chame as operações especificadas em quaisquer chaves do KMS em duas contas confiáveis demonstrativas.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:DescribeKey", "kms:GenerateDataKey", "kms:GenerateDataKeyPair" ], "Resource": [ "arn:aws:kms:*:111122223333:key/*", "arn:aws:kms:*:444455556666:key/*" ] } }

Também é possível usar um caractere curinga ("*") sozinho no elemento Resource. Como ela permite o acesso a todas as chaves do KMS que a conta tem permissão para usar, é recomendável principalmente para operações que não envolvam uma chaves do KMS específica e para instruções Deny. Você também pode usá-lo em declarações de política que permitam apenas operações somente leitura menos confidenciais. Para determinar se uma AWS KMS operação envolve uma chave KMS específica, procure o valor da chave KMS na coluna Recursos da tabela em. AWS KMS permissões

Por exemplo, a instrução de política a seguir usa um efeito Deny para proibir as entidades principais de usar as operações especificadas em qualquer chave do KMS. Ela usa um caractere curinga no elemento Resource para representar todas as chaves do KMS.

{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:CreateKey", "kms:PutKeyPolicy", "kms:CreateGrant", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }

A instrução de política a seguir usa um caractere curinga isoladamente para representar todas as chaves do KMS. Porém, ela permite apenas operações menos confidenciais somente leitura e operações que não se aplicam a uma chave do KMS específica.

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases", "kms:ListResourceTags" ], "Resource": "*" } }