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á.
Exemplos de política do IAM
Nesta seção, você pode encontrar exemplos de políticas do IAM que concedem permissões para várias ações do AWS KMS.
Importante
Algumas permissões das políticas a seguir são concedidas somente quando a política de chaves da chave do KMS também as concede. Para ter mais informações, consulte Referência de permissões.
Para ajuda sobre como escrever e formatar um documento de política JSON, consulte aReferência a políticas JSON do IAM, no Manual do usuário do IAM.
Exemplos
- Permitir que um usuário visualize chaves do KMS no console do AWS KMS
- Permitir que um usuário crie chaves do KMS
- Permitir que um usuário criptografe e descriptografe com qualquer chave do KMS em uma conta Conta da AWS específica
- Permitir que um usuário criptografe e descriptografe com qualquer chave do KMS em uma região e conta Conta da AWS específicas
- Permitir que um usuário criptografe e descriptografe com chaves do KMS específicas
- Impedir que um usuário desabilite ou exclua qualquer chave do KMS
Permitir que um usuário visualize chaves do KMS no console do AWS KMS
A política do IAM a seguir permite que os usuários tenham acesso somente leitura no console do AWS KMS. Os usuários com essas permissões podem visualizar todas as chaves do KMS em suas Conta da AWS, mas não podem criar nem alterar chaves do KMS.
Para exibir as chaves do KMS nas páginas Chaves gerenciadas pela AWS e Customer managed keys (Chaves gerenciadas pelo cliente), as entidades principais exigem as permissões kms:ListKeys, kms:ListAliases e tag:GetResources, mesmo que as chaves não tenham tags ou aliases. As permissões restantes, especialmente kms:DescribeKey, são necessárias para exibir colunas e dados opcionais da tabela de chaves do KMS nas páginas de detalhes da chave do KMS. As permissões iam:ListUsers e iam:ListRoles são necessárias para visualizar a política de chaves no modo de exibição padrão sem erro. Para visualizar dados na página Custom key stores (Armazenamentos de chaves personalizados) e detalhes sobre chaves do KMS em armazenamentos de chaves personalizados, as entidades principais também precisam da permissão kms:DescribeCustomKeyStores.
Se você limitar o acesso do console de um usuário a chaves do KMS específicas, o console exibirá um erro para cada chave do KMS que não estiver visível.
Essa política inclui duas declarações de política. O elemento Resource
na primeira instrução de política habilita as permissões especificadas em todas as chaves do KMS em todas as regiões da Conta da AWS de exemplo. Os visualizadores do console não precisam de acesso adicional porque o console do AWS KMS exibe somente chaves do KMS na conta da entidade principal. Isso é válido mesmo que tenham permissão para visualizar chaves do KMS em outras Contas da AWS. As permissões restantes do AWS KMS e do IAM exigem um elemento "Resource": "*"
porque não se aplicam a nenhuma chave do KMS específica.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "ReadOnlyAccessForAllKMSKeysInAccount", "Effect": "Allow", "Action": [ "kms:GetPublicKey", "kms:GetKeyRotationStatus", "kms:GetKeyPolicy", "kms:DescribeKey", "kms:ListKeyPolicies", "kms:ListResourceTags", "tag:GetResources" ], "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "ReadOnlyAccessForOperationsWithNoKMSKey", "Effect": "Allow", "Action": [ "kms:ListKeys", "kms:ListAliases", "iam:ListRoles", "iam:ListUsers" ], "Resource": "*" } ] }
Permitir que um usuário crie chaves do KMS
A seguinte política do IAM permite que um usuário crie todos os tipos de chaves do KMS. O valor do elemento Resource
é *
porque a operação CreateKey
não usa nenhum recurso específico do AWS KMS (chaves do KMS ou aliases).
Para restringir o usuário a tipos específicos de chaves do KMS, use as chaves de condição kms:KeySpec, kms:KeyUsage e kms:KeyOrigin.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": "kms:CreateKey", "Resource": "*" } }
As entidades principais que criam chaves podem precisar de algumas permissões relacionadas.
-
kms:PutKeyPolicy — As entidades principais que têm a permissão
kms:CreateKey
podem definir a política de chave inicial para a chave do KMS. No entanto, o autor da chamadaCreateKey
deve ter a permissão kms:PutKeyPolicy, que permite alterar a política de chaves da chave do KMS, ou deve especificar o parâmetroBypassPolicyLockoutSafetyCheck
deCreateKey
, o que não é recomendável. O autor da chamadaCreateKey
pode obter a permissãokms:PutKeyPolicy
para a chave do KMS a partir de uma política do IAM ou incluir essa permissão na política de chaves da chave do KMS que ele está criando. -
kms:TagResource — Para adicionar etiquetas à chave do KMS durante a operação
CreateKey
, o autor da chamadaCreateKey
deve ter a permissão kms:TagResource em uma política do IAM. Não é suficiente incluir essa permissão na política de chaves da nova chave do KMS. No entanto, se o autor da chamadaCreateKey
incluirkms:TagResource
na política de chaves inicial, ele poderá adicionar etiquetas a uma chamada separada após a criação da chave do KMS. -
kms:CreateAlias — As entidades principais que criam uma chave do KMS no console do AWS KMS devem ter a permissão kms:CreateAlias na chave do KMS e no alias. (O console faz duas chamadas; uma para
CreateKey
e outra paraCreateAlias
). É necessário fornecer a permissão de alias em uma política do IAM. É possível fornecer a permissão da chave do KMS em uma política de chave ou política do IAM. Para obter detalhes, consulte Controlar o acesso a aliases.
Além de kms:CreateKey
, a política do IAM a seguir fornece a permissão kms:TagResource
para todas as chaves do KMS na Conta da AWS e a permissão kms:CreateAlias
em todos os aliases da conta. Ela também inclui algumas permissões úteis somente leitura que podem ser fornecidas somente em uma política do IAM.
Essa política do IAM não inclui a permissão kms:PutKeyPolicy
nem outras permissões que possam ser definidas em uma política de chaves. Uma prática recomendada é definir essas permissões na política de chaves em que elas se aplicam exclusivamente a uma chave do KMS.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "IAMPermissionsForParticularKMSKeys", "Effect": "Allow", "Action": "kms:TagResource", "Resource": "arn:aws:kms:*:111122223333:key/*" }, { "Sid": "IAMPermissionsForParticularAliases", "Effect": "Allow", "Action": "kms:CreateAlias", "Resource": "arn:aws:kms:*:111122223333:alias/*" }, { "Sid": "IAMPermissionsForAllKMSKeys", "Effect": "Allow", "Action": [ "kms:CreateKey", "kms:ListKeys", "kms:ListAliases" ], "Resource": "*" } ] }
Permitir que um usuário criptografe e descriptografe com qualquer chave do KMS em uma conta Conta da AWS específica
A política do IAM a seguir permite que um usuário criptografe e descriptografar dados com qualquer chave do KMS na Conta da AWS 111122223333.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": "arn:aws:kms:*:111122223333:key/*" } }
Permitir que um usuário criptografe e descriptografe com qualquer chave do KMS em uma região e conta Conta da AWS específicas
A política do IAM a seguir permite que um usuário criptografe e descriptografar dados com qualquer chave do KMS na Conta da AWS 111122223333
na região Oeste dos EUA (Oregon).
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "kms:Decrypt" ], "Resource": [ "arn:aws:kms:us-west-2:111122223333:key/*" ] } }
Permitir que um usuário criptografe e descriptografe com chaves do KMS específicas
A política do IAM a seguir permite que um usuário criptografe e descriptografe dados com as duas chaves do KMS especificadas no elemento Resource
. Ao especificar uma chave do KMS em uma instrução de política do IAM, você deve usar o ARN de chave dessa chave do KMS.
{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "kms:Encrypt", "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" ] } }
Impedir que um usuário desabilite ou exclua qualquer chave do KMS
A política do IAM a seguir impede que um usuário desabilite ou exclua chaves do KMS, mesmo quando outra política do IAM ou uma política de chaves concede essas permissões. Uma política que nega explicitamente permissões substitui todas as outras políticas, mesmo aquelas que concedem explicitamente as mesmas permissões. Para ter mais informações, consulte Solução de problemas de permissões do AWS KMS.
{ "Version": "2012-10-17", "Statement": { "Effect": "Deny", "Action": [ "kms:DisableKey", "kms:ScheduleKeyDeletion" ], "Resource": "*" } }