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á.
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 obter 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 as chaves KMS no console AWS KMS
A política do IAM a seguir permite que os usuários tenham acesso somente de leitura ao AWS KMS console. Os usuários com essas permissões podem visualizar todas as chaves KMS em suas Conta da AWS, mas não podem criar ou alterar nenhuma chave KMS.
Para visualizar as chaves KMS nas páginas de chaves gerenciadas pelo cliente Chaves gerenciadas pela AWSe pelas páginas de chaves gerenciadas pelo clienteListKeys, os diretores exigem as GetResources permissões kms: ListAliases, kms: e tag:, mesmo que as chaves não tenham tags ou aliases. As permissões restantes, especialmente kms: DescribeKey, são necessárias para visualizar colunas e dados opcionais da tabela de chaves KMS nas páginas de detalhes da chave KMS. As ListRoles permissões iam: ListUsers e iam: são necessárias para exibir a política de chaves na visualização padrão sem erros. Para visualizar dados na página Armazenamentos de chaves personalizadas e detalhes sobre chaves KMS em armazenamentos de chaves personalizadas, os diretores 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 é verdade mesmo que eles tenham permissão para visualizar as chaves KMS em outros Contas da AWS. As permissões restantes AWS KMS e do IAM exigem um "Resource": "*"
elemento porque não se aplicam a nenhuma chave 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 Resource
elemento é *
porque a CreateKey
operação não usa nenhum AWS KMS recurso específico (chaves ou aliases do KMS).
Para restringir o usuário a tipos específicos de chaves 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 — Os diretores que têm
kms:CreateKey
permissão podem definir a política inicial de chaves para a chave KMS. No entanto, oCreateKey
chamador deve ter a PutKeyPolicy permissão kms:, que permite alterar a política de chaves do KMS, ou deve especificar oBypassPolicyLockoutSafetyCheck
parâmetro deCreateKey
, o que não é recomendado. 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 tags à chave KMS durante a
CreateKey
operação, oCreateKey
chamador deve ter a TagResource permissão kms: 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 — Os diretores que criam uma chave KMS no AWS KMS console devem ter a CreateAlias permissão kms: na chave 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 dissokms:CreateKey
, a política do IAM a seguir fornece kms:TagResource
permissão para todas as chaves KMS na Conta da AWS e kms:CreateAlias
permissão para 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 KMS em uma determinada Conta da AWS
A política do IAM a seguir permite que um usuário criptografe e descriptografe dados com qualquer chave KMS em 111122223333. Conta da AWS
{
"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 KMS em uma região específica Conta da AWS
A política do IAM a seguir permite que um usuário criptografe e descriptografe dados com qualquer chave KMS 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 obter mais informações, consulte Solução de problemas de AWS KMS permissões.
{
"Version": "2012-10-17",
"Statement": {
"Effect": "Deny",
"Action": [
"kms:DisableKey",
"kms:ScheduleKeyDeletion"
],
"Resource": "*"
}
}