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á.
Criação de uma política de chave
Você pode criar e gerenciar políticas de chaves no AWS KMS console ou usando AWS KMS API operações CreateKey, como ReplicateKey, PutKeyPolicye.
Quando você cria uma KMS chave no AWS KMS console, o console orienta você pelas etapas de criação de uma política de chaves com base na política de chaves padrão do console. Quando você usa o CreateKey
ou ReplicateKey
APIs, se você não especificar uma política de chaves, eles APIs aplicam a política de chaves padrão para chaves criadas programaticamente. Ao usar o PutKeyPolicy
API, você precisa especificar uma política de chaves.
Cada documento de política pode ter uma ou mais declarações de política. O exemplo a seguir mostra um documento válido de política de chaves com uma instrução de política.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "
Describe the policy statement
", "Effect": "Allow
", "Principal": { "AWS": "arn:aws:iam::111122223333:user/Alice
" }, "Action": "kms:DescribeKey
", "Resource": "*", "Condition": { "StringEquals
": {"kms:KeySpec": "SYMMETRIC_DEFAULT"
} } } ] }
Tópicos
Formato de política de chaves
Um documento de política de chaves deve estar de acordo com as seguintes regras:
-
Até 32 kilobytes (32.768 bytes)
-
O elemento
Sid
em uma instrução de política de chaves pode incluir espaços. (Espaços são proibidos noSid
elemento de um documento IAM de política.)
Um documento de política de chaves pode incluir apenas os seguintes caracteres:
-
Caracteres imprimíveis ASCII
-
Caracteres imprimíveis no conjunto de caracteres Basic Latin e Latin-1 Supplement
-
Os caracteres especiais de tabulação (
\u0009
), alimentação de linha (\u000A
) e retorno de carro (\u000D
)
Elementos em uma política de chaves
Um documento de política de chaves deve ter os elementos a seguir:
- Versão
-
Especifica a versão do documento de política de chaves. Define a versão como
2012-10-17
(a versão mais recente). - Declaração
-
Inclui as instruções da política. Um documento de política de chaves deve ter pelo menos uma instrução.
Cada instrução de política de chaves pode consistir em até seis elementos. Os elementos
Effect
,Principal
,Action
eResource
são obrigatórios.- Sid
-
(Opcional) O identificador de instrução (
Sid
) é uma string arbitrária que você pode usar para descrever a instrução. OSid
em uma política de chaves pode incluir espaços. (Você não pode incluir espaços em umSid
elemento IAM de política.) - Efeito
-
(Obrigatório) Determina se as permissões devem ser permitidas ou negadas na instrução de política. Os valores válidos são
Allow
ouDeny
. Se você não permitir explicitamente o acesso a uma KMS chave, o acesso será negado implicitamente. Você também pode negar explicitamente o acesso a uma KMS chave. Você poderia fazer isso para garantir que um usuário não possa acessá-la, mesmo quando uma política diferente permite o acesso. - Entidade principal
-
(Obrigatório) A entidade principal é a identidade que recebe a especificação de permissões na instrução de política. Você pode especificar IAM usuários Contas da AWS, IAM funções e alguns AWS serviços como principais em uma política de chaves. IAMgrupos de usuários não são um principal válido em nenhum tipo de política.
Um valor de asterisco, como
"AWS": "*"
representa todas as identidades da AWS em todas as contas.Importante
Não defina a entidade principal como um asterisco (*) em qualquer instrução de política de chave que permita permissões, a menos que você utilize condições para limitar a política de chave. Um asterisco dá a cada identidade em cada Conta da AWS permissão para usar a KMS chave, a menos que outra declaração de política a negue explicitamente. Usuários de outros usuários Contas da AWS podem usar sua KMS chave sempre que tiverem as permissões correspondentes em suas próprias contas.
nota
IAMas melhores práticas desencorajam o uso de IAM usuários com credenciais de longo prazo. Sempre que possível, use IAM funções que forneçam credenciais temporárias. Para obter detalhes, consulte as melhores práticas de segurança IAM no Guia IAM do usuário.
Quando o diretor em uma declaração de política fundamental é um Conta da AWS diretor expresso como
arn:aws:iam::
, a declaração de política não dá permissão a nenhum IAM diretor. Em vez disso, ele dá Conta da AWS permissão para usar IAM políticas para delegar as permissões especificadas na política de chaves. (Uma entidade principal no formato111122223333
:root"arn:aws:iam::
não representa o usuário raiz de conta da AWS, apesar do uso de “root” no identificador da conta. No entanto, a entidade principal da conta representa a conta e seus administradores, incluindo o usuário raiz da conta.)111122223333
:root"Quando o diretor é outro Conta da AWS ou seus diretores, as permissões são efetivas somente quando a conta é ativada na região com a KMS chave e a política de chaves. Para obter informações sobre regiões não habilitadas por padrão (“regiões de adesão”), consulte Gerenciar Regiões da AWS em Referência geral da AWS.
Para permitir que outra Conta da AWS pessoa ou seus principais usem uma KMS chave, você deve fornecer permissão em uma política de chaves e em uma IAM política na outra conta. Para obter detalhes, consulte Permitir que usuários de outras contas usem uma chave do KMS.
- Ação
-
(Obrigatório) Especifique as API operações a serem permitidas ou negadas. Por exemplo, a
kms:Encrypt
ação corresponde à operação AWS KMS Criptografar. Você pode listar mais de uma ação em uma declaração de política. Para obter mais informações, consulte Referência de permissões.nota
Se o elemento
Action
necessário estiver ausente de uma declaração de política de chave, a declaração de política não terá efeito. Uma declaração de política fundamental sem umAction
elemento não se aplica a nenhuma KMS chave.Quando uma declaração de política chave não tem seu
Action
elemento, o AWS KMS console relata corretamente um erro, mas o CreateKeye é PutKeyPolicyAPIsbem-sucedido, mesmo que a declaração de política seja ineficaz. - Recurso
-
(Obrigatório) Em uma política de chave, o valor do elemento Recurso é
"*"
, o que significa “essa KMS chave”. O asterisco ("*"
) identifica a chave do KMS à qual a política de chaves está associada.nota
Se o elemento
Resource
necessário estiver ausente de uma declaração de política de chave, a declaração de política não terá efeito. Uma declaração de política fundamental sem umResource
elemento não se aplica a nenhuma KMS chave.Quando uma declaração de política chave não tem seu
Resource
elemento, o AWS KMS console relata corretamente um erro, mas o CreateKeye é PutKeyPolicyAPIsbem-sucedido, mesmo que a declaração de política seja ineficaz. - Condição
-
(Opcional) As condições especificam os requisitos que devem ser atendidos para que a política de chaves entre em vigor. Com condições, AWS pode avaliar o contexto de uma API solicitação para determinar se a declaração de política se aplica ou não.
Para especificar condições, você usa chaves de condição predefinidas. AWS KMS suporta chaves de condição AWS globais e chaves de AWS KMS condição. Para oferecer suporte ao controle de acesso baseado em atributos (ABAC), AWS KMS fornece chaves de condição que controlam o acesso a uma KMS chave com base em tags e aliases. Para obter detalhes, consulte ABAC para AWS KMS.
O formato de uma condição é:
"Condition": {"
condition operator
": {"condition key
": "condition value
"}}como:
"Condition": {"
StringEquals
": {"kms:CallerAccount
": "111122223333
"}}
Para obter mais informações sobre a sintaxe da AWS política, consulte Referência AWS IAM de política no Guia do IAM usuário.
Exemplo de política de chaves
O exemplo a seguir mostra uma política de chave completa para uma KMS chave de criptografia simétrica. Você pode usá-lo para referência ao ler sobre os principais conceitos de política neste capítulo. Esta política de chaves combina as declarações da política de exemplo da seção anterior de política de chaves padrão em uma política de chaves única que faz o seguinte:
-
Permite Conta da AWS, por exemplo, 111122223333, acesso total à chave. KMS Ele permite que a conta e seus administradores, incluindo o usuário raiz da conta (para emergências), usem IAM políticas na conta para permitir o acesso à chave. KMS
-
Permite que a
ExampleAdminRole
IAM função administre a KMS chave. -
Permite que a
ExampleUserRole
IAM função use a KMS chave.
{ "Id": "key-consolepolicy", "Version": "2012-10-17", "Statement": [ { "Sid": "Enable IAM user Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:root" }, "Action": "kms:*", "Resource": "*" }, { "Sid": "Allow access for Key Administrators", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/
ExampleAdminRole
" }, "Action": [ "kms:Create*", "kms:Describe*", "kms:Enable*", "kms:List*", "kms:Put*", "kms:Update*", "kms:Revoke*", "kms:Disable*", "kms:Get*", "kms:Delete*", "kms:TagResource", "kms:UntagResource", "kms:ScheduleKeyDeletion", "kms:CancelKeyDeletion", "kms:RotateKeyOnDemand" ], "Resource": "*" }, { "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleUserRole
" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }, { "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ExampleUserRole
" }, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": "true" } } } ] }