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á.
Política de chaves padrão
Ao criar uma KMS chave, você pode especificar a política de chaves para a nova KMS chave. Se você não fornecer um, AWS KMS cria um para você. A política de chaves padrão AWS KMS usada difere dependendo se você cria a chave no AWS KMS console ou usa AWS KMS API o.
Política de chaves padrão quando você cria uma KMS chave programaticamente
Quando você cria uma KMS chave programaticamente com o AWS KMS
API(inclusive usando o AWS SDKs
Política de chaves padrão quando você cria uma KMS chave com o AWS Management Console
Quando você cria uma KMS chave com o AWS Management Console, a política de chaves começa com a declaração de política que permite o acesso Conta da AWS e ativa IAM as políticas. Em seguida, o console adiciona uma declaração de administradores de chaves, uma declaração de usuários-chave e (para a maioria dos tipos de chaves) uma declaração que permite que os diretores usem a KMS chave com outros AWS serviços. Você pode usar os recursos do AWS KMS console para especificar os IAM usuários e Contas da AWS quem são os principais administradores e aqueles que são os principais usuários (ou ambos). IAMroles
Permissões
Permite o acesso às IAM políticas Conta da AWS e habilita
A declaração de política de chave padrão a seguir é fundamental.
-
Ele dá Conta da AWS ao proprietário da KMS chave acesso total à KMS chave.
Diferentemente AWS de outras políticas de recursos, uma política de AWS KMS chaves não dá permissão automática à conta ou a nenhuma de suas identidades. Para dar permissão aos administradores de conta, a política de chaves deve incluir uma declaração explícita que forneça essa permissão, como esta.
-
Ele permite que a conta use IAM políticas para permitir o acesso à KMS chave, além da política de chaves.
Sem essa permissão, IAM as políticas que permitem o acesso à chave são ineficazes, embora IAM as políticas que negam o acesso à chave ainda sejam efetivas.
-
Ela reduz o risco de a chave se tornar não gerenciável, dando permissão de controle de acesso aos administradores da conta, incluindo o usuário raiz da conta, que não pode ser excluído.
A declaração de política de chaves a seguir é toda a política de chaves padrão para KMS chaves criadas programaticamente. É a primeira declaração de política na política de chaves padrão para KMS chaves criadas no AWS KMS console.
{ "Sid": "Enable IAM User Permissions", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
111122223333
:root" }, "Action": "kms:*", "Resource": "*" }
- Permite que IAM as políticas permitam o acesso à KMS chave.
-
A declaração de política principal mostrada acima dá ao Conta da AWS proprietário da chave permissão para usar IAM políticas, bem como políticas principais, para permitir todas as ações (
kms:*
) na KMS chave.O principal nesta declaração de política fundamental é o principal da conta, que é representado por um ARN neste formato:
arn:aws:iam::
. O principal da conta representa a AWS conta e seus administradores.account-id
:rootQuando o diretor em uma declaração de política principal é o principal da conta, a declaração de política não dá nenhuma permissão IAM principal para usar a KMS chave. Em vez disso, permite que a conta use IAM políticas para delegar as permissões especificadas na declaração de política. Essa declaração de política de chaves padrão permite que a conta use IAM políticas para delegar permissão para todas as ações (
kms:*
) na KMS chave. - Reduz o risco de a KMS chave se tornar incontrolável.
-
Ao contrário AWS de outras políticas de recursos, uma política de AWS KMS chaves não dá permissão automática à conta ou a qualquer um de seus diretores. Para dar permissão a qualquer entidade principal, incluindo a entidade principal da conta, você deve usar uma declaração de política chave que forneça a permissão explicitamente. Você não precisa dar ao diretor da conta, ou a qualquer principal, acesso à KMS chave. No entanto, dar acesso à entidade principal da conta ajuda você a evitar que a chave se torne não gerenciável.
Por exemplo, suponha que você crie uma política de chaves que dê acesso à KMS chave somente a um usuário. Se você excluir esse usuário, a chave ficará incontrolável e você deverá entrar em contato com o AWS Support
para recuperar o acesso à chave. KMS A declaração de política de chaves mostrada acima dá permissão para controlar a chave do principal da conta, que representa o Conta da AWS e seus administradores, incluindo o usuário raiz da conta. O usuário raiz da conta é a única entidade principal que não pode ser excluída, a menos que você exclua a Conta da AWS. IAMas melhores práticas desencorajam agir em nome do usuário raiz da conta, exceto em caso de emergência. No entanto, talvez você precise agir como usuário raiz da conta se excluir todos os outros usuários e funções com acesso à KMS chave.
Permite que os administradores de chaves administrem a chave KMS
A política de chaves padrão criada pelo console permite que você escolha IAM usuários e funções na conta e os torne administradores de chaves. Essa declaração é chamada de declaração de administradores de chaves. Os administradores de chaves têm permissões para gerenciar a KMS chave, mas não têm permissões para usar a KMS chave em operações criptográficas. Você pode adicionar IAM usuários e funções à lista de administradores de chaves ao criar a KMS chave na exibição padrão ou na exibição de política.
Atenção
Como os administradores de chaves têm permissão para alterar a política de chaves e criar concessões, eles podem conceder a si mesmos e a outras pessoas AWS KMS permissões não especificadas nessa política.
Os diretores que têm permissão para gerenciar tags e aliases também podem controlar o acesso a uma KMS chave. Para obter detalhes, consulte ABAC para AWS KMS.
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.
O exemplo a seguir mostra a declaração de administradores de chaves na visualização padrão do console do AWS KMS .
A seguir é apresentado um exemplo que mostra a declaração de administradores de chaves na visualização padrão do console do AWS KMS . Essa declaração do administrador de chaves é para uma chave de criptografia simétrica de região única. KMS
{ "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": "*" }
A declaração padrão dos administradores de chaves para a chave mais comum, uma KMS chave de criptografia KMS simétrica de região única, permite as seguintes permissões. Para obter informações detalhadas sobre cada permissão, consulte a AWS KMS permissões.
Quando você usa o AWS KMS console para criar uma KMS chave, o console adiciona os usuários e as funções que você especifica ao Principal
elemento na instrução dos administradores de chaves.
Muitas dessas permissões contêm o caractere curinga (*
), que permite todas as permissões que começam com o verbo especificado. Como resultado, ao AWS KMS adicionar novas API operações, os administradores de chaves podem usá-las automaticamente. Não é necessário atualizar suas políticas de chaves para incluir as novas operações. Se você preferir limitar seus administradores de chaves a um conjunto fixo de API operações, você pode alterar sua política de chaves.
kms:Create*
-
Permite kms:CreateAlias e kms:CreateGrant. (A
kms:CreateKey
permissão é válida somente em uma IAM política.) kms:Describe*
-
Permite kms:DescribeKey. A
kms:DescribeKey
permissão é necessária para visualizar a página de detalhes da chave de uma KMS chave no AWS Management Console. kms:Enable*
-
Permite kms:EnableKey. Para KMS chaves de criptografia simétricas, também permite kms:EnableKeyRotation.
kms:List*
-
Permite kms:ListGrants,
kms:ListKeyPolicies
e kms:ListResourceTags. (Askms:ListKeys
permissõeskms:ListAliases
e, necessárias para visualizar KMS as chaves no AWS Management Console, são válidas somente nas IAM políticas.) kms:Put*
-
Permite
kms:PutKeyPolicy
. Essa permissão permite que os administradores de chaves alterem a política de chaves dessa KMS chave. kms:Update*
-
Permite kms:UpdateAlias e
kms:UpdateKeyDescription
. Para chaves multirregionais, ela permite kms:UpdatePrimaryRegionessa KMS chave. kms:Revoke*
-
Permite kms:RevokeGrant, o que permite que os administradores de chaves excluam uma concessão mesmo que eles não sejam uma entidade principal prestes a se retirar na concessão.
kms:Disable*
-
Permite kms:DisableKey. Para KMS chaves de criptografia simétricas, também permite kms:DisableKeyRotation.
kms:Get*
-
Permite kms:GetKeyPolicy e kms:GetKeyRotationStatus. Para KMS chaves com material de chave importado, isso permite
kms:GetParametersForImport
. Para KMS chaves assimétricas, isso permite.kms:GetPublicKey
Akms:GetKeyPolicy
permissão é necessária para visualizar a política de chaves de uma KMS chave no AWS Management Console. kms:Delete*
-
Permite kms:DeleteAlias. Para chaves com material de chave importado, ela permite kms:DeleteImportedKeyMaterial. A
kms:Delete*
permissão não permite que os administradores de chaves excluam a KMS chave (ScheduleKeyDeletion
). kms:TagResource
-
Permite kms:TagResource, que permite que os administradores de chaves adicionem tags à KMS chave. Como as tags também podem ser usadas para controlar o acesso à KMS chave, essa permissão pode permitir que os administradores permitam ou neguem o acesso à KMS chave. Para obter detalhes, consulte ABAC para AWS KMS.
kms:UntagResource
-
Permite kms:UntagResource, que permite que os administradores de chaves excluam as tags da KMS chave. Como as tags podem ser usadas para controlar o acesso à chave, essa permissão pode permitir que os administradores permitam ou neguem o acesso à KMS chave. Para obter detalhes, consulte ABAC para AWS KMS.
kms:ScheduleKeyDeletion
-
Permite
kms:ScheduleKeyDeletion
, que permite que os administradores de chaves excluam essa KMS chave. Para excluir essa permissão, desmarque a opção Allow key administrators to delete this key(Permitir que os administradores de chaves excluam essa chave). kms:CancelKeyDeletion
-
Permite
kms:CancelKeyDeletion
, que permite que os administradores de chaves cancelem a exclusão dessa KMS chave. Para excluir essa permissão, desmarque a opção Allow key administrators to delete this key(Permitir que os administradores de chaves excluam essa chave). kms:RotateKeyOnDemand
-
Permite
kms:RotateKeyOnDemand
, que permite que os administradores de chaves realizem a rotação sob demanda do material chave nessa KMS chave.
AWS KMS adiciona as seguintes permissões à declaração padrão dos administradores de chaves quando você cria chaves para fins especiais.
kms:ImportKeyMaterial
-
A
kms:ImportKeyMaterial
permissão permite que os administradores de chaves importem material de chaves para a KMS chave. Essa permissão é incluída na política de chaves somente quando você cria uma KMS chave sem material de chave. kms:ReplicateKey
-
A
kms:ReplicateKey
permissão permite que os administradores de chaves criem uma réplica de uma chave primária multirregional em uma região diferente. AWS Essa permissão é incluída na política de chaves somente quando você cria uma chave primária ou de réplica de várias regiões. kms:UpdatePrimaryRegion
-
A permissão
kms:UpdatePrimaryRegion
permite que os administradores de chaves alterem uma chave de réplica de várias regiões para uma chave primária de várias regiões. Essa permissão é incluída na política de chaves somente quando você cria uma chave primária ou de réplica de várias regiões.
Permite que os principais usuários usem a KMS chave
A política de chaves padrão que o console cria para KMS chaves permite que você escolha IAM usuários e IAM funções na conta, e externas Contas da AWS, e os torne usuários-chave.
O console adiciona duas instruções de política à política de chaves para usuários de chaves.
-
Use a KMS chave diretamente — A primeira declaração de política de chaves dá aos usuários da chave permissão para usar a KMS chave diretamente para todas as operações criptográficas suportadas para esse tipo de KMS chave.
-
Use a KMS chave com AWS serviços — A segunda declaração de política dá permissão aos principais usuários para permitir que os AWS serviços integrados usem AWS KMS a KMS chave em seu nome para proteger recursos, como buckets do Amazon S3 e tabelas do Amazon DynamoDB.
Você pode adicionar IAM usuários, IAM funções e outros Contas da AWS à lista de usuários-chave ao criar a KMS chave. Você também pode editar a lista com a visualização padrão do console para políticas de chaves, conforme mostrado na imagem a seguir. A visualização padrão para políticas de chaves está na página de detalhes de chaves. Para obter mais informações sobre como permitir que usuários de outras Contas da AWS pessoas usem a KMS chave, consultePermitir que usuários de outras contas usem uma chave do KMS.
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.
As declarações de usuários de chaves padrão para uma chave simétrica de região única possibilita as permissões a seguir. Para obter informações detalhadas sobre cada permissão, consulte a AWS KMS permissões.
Quando você usa o AWS KMS console para criar uma KMS chave, o console adiciona os usuários e as funções que você especifica ao Principal
elemento em cada declaração de usuários-chave.
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": [ "arn:aws:iam::
111122223333
:role/ExampleRole
", "arn:aws:iam::444455556666
:root" ]}, "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/ExampleRole
", "arn:aws:iam::444455556666
:root" ]}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }
Permite que os principais usuários usem uma KMS chave para operações criptográficas
Os usuários da chave têm permissão para usar a KMS chave diretamente em todas as operações criptográficas suportadas na KMS chave. Eles também podem usar a DescribeKeyoperação para obter informações detalhadas sobre a KMS chave no AWS KMS console ou usando as AWS KMS API operações.
Por padrão, o AWS KMS console adiciona declarações de usuários-chave, como as dos exemplos a seguir, à política de chaves padrão. Como eles oferecem suporte a API operações diferentes, as ações nas declarações de política para chaves de criptografia simétricas, KMS HMAC KMS chaves assimétricas para criptografia de chave pública e KMS chaves assimétricas KMS para assinatura e verificação são um pouco diferentes.
- Chaves de criptografia KMS simétricas
-
O console adiciona a seguinte declaração à política de chaves de criptografia KMS simétrica.
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/
ExampleKeyUserRole
"}, "Action": [ "kms:Decrypt", "kms:DescribeKey", "kms:Encrypt", "kms:GenerateDataKey*", "kms:ReEncrypt*" ], "Resource": "*" } - HMACKMSchaves
-
O console adiciona a seguinte declaração à política de HMAC KMS chaves.
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/
ExampleKeyUserRole
"}, "Action": [ "kms:DescribeKey", "kms:GenerateMac", "kms:VerifyMac" ], "Resource": "*" } - Chaves assimétricas para KMS criptografia de chave pública
-
O console adiciona a seguinte declaração à política de KMS chaves assimétricas com o uso da chave Encrypt and decrypt.
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/
ExampleKeyUserRole
" }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:DescribeKey", "kms:GetPublicKey" ], "Resource": "*" } - KMSChaves assimétricas para assinatura e verificação
-
O console adiciona a seguinte declaração à política de KMS chaves assimétricas com o uso da chave Assinar e verificar.
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/
ExampleKeyUserRole
"}, "Action": [ "kms:DescribeKey", "kms:GetPublicKey", "kms:Sign", "kms:Verify" ], "Resource": "*" } - Chaves assimétricas para derivar KMS segredos compartilhados
-
O console adiciona a seguinte declaração à política de chaves assimétricas com o uso de KMS chaves do contrato de chaves.
{ "Sid": "Allow use of the key", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/
ExampleKeyUserRole
"}, "Action": [ "kms:DescribeKey", "kms:GetPublicKey", "kms:DeriveSharedSecret" ], "Resource": "*" }
As ações nessas declarações concedem aos usuários de chaves as permissões a seguir.
kms:Encrypt
-
Permite que os principais usuários criptografem dados com essa KMS chave.
kms:Decrypt
-
Permite que os principais usuários descriptografem dados com essa chave. KMS
kms:DeriveSharedSecret
-
Permite que os principais usuários obtenham segredos compartilhados com essa KMS chave.
kms:DescribeKey
-
Permite que os principais usuários obtenham informações detalhadas sobre essa KMS chave, incluindo seus identificadores, data de criação e estado da chave. Também permite que os principais usuários exibam detalhes sobre a KMS chave no AWS KMS console.
kms:GenerateDataKey*
-
Permite que os usuários de chaves solicitem uma chave de dados simétrica ou um par de chaves de dados assimétricas para operações criptográficas no lado do cliente. O console usa o caractere curinga * para representar a permissão para as seguintes API operações: GenerateDataKeyGenerateDataKeyWithoutPlaintext, GenerateDataKeyPair, e. GenerateDataKeyPairWithoutPlaintext Essas permissões são válidas somente nas chaves simétricas que criptografam KMS as chaves de dados.
- kms: GenerateMac
-
Permite que os principais usuários usem uma HMAC KMS chave para gerar uma HMAC tag.
- kms: GetPublicKey
-
Permite que os principais usuários baixem a chave pública da chave assimétricaKMS. As partes com quem você compartilha essa chave pública podem criptografar dados fora do AWS KMS. No entanto, esses textos cifrados só podem ser descriptografados chamando a operação Decrypt no AWS KMS.
- km: * ReEncrypt
-
Permite que os usuários da chave criptografem novamente os dados que foram originalmente criptografados com essa KMS chave ou usem essa KMS chave para recriptografar dados criptografados anteriormente. A ReEncryptoperação requer acesso às KMS chaves de origem e de destino. Para fazer isso, você pode permitir a
kms:ReEncryptFrom
permissão na KMS chave de origem e akms:ReEncryptTo
permissão na KMS chave de destino. No entanto, para simplificar, o console permitekms:ReEncrypt*
(com o caractere*
curinga) KMS as duas teclas. - kms:Sign
-
Permite que os principais usuários assinem mensagens com essa KMS chave.
- kms:Verify
-
Permite que os principais usuários verifiquem as assinaturas com essa KMS chave.
- kms: VerifyMac
-
Permite que os principais usuários usem uma HMAC KMS chave para verificar uma HMAC tag.
Permite que os principais usuários usem a KMS chave com AWS serviços
A política de chaves padrão no console também dá aos principais usuários as permissões de que precisam para proteger seus dados em AWS serviços que usam concessões. AWS os serviços geralmente usam concessões para obter permissão específica e limitada para usar uma KMS chave.
Essa declaração de política de chaves permite que o usuário da chave crie, visualize e revogue concessões na KMS chave, mas somente quando a solicitação da operação de concessão vem de um AWS serviço integrado a. AWS KMS
Os principais usuários precisam dessas permissões de concessão para usar sua KMS chave com serviços integrados, mas essas permissões não são suficientes. Os usuários de chaves também precisam de permissão para usar os serviços integrados. Para obter detalhes sobre como dar aos usuários acesso a um AWS serviço que se integra ao AWS KMS, consulte a documentação do serviço integrado.
{ "Sid": "Allow attachment of persistent resources", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::111122223333:role/
ExampleKeyUserRole
"}, "Action": [ "kms:CreateGrant", "kms:ListGrants", "kms:RevokeGrant" ], "Resource": "*", "Condition": {"Bool": {"kms:GrantIsForAWSResource": true}} }
Por exemplo, os principais usuários podem usar essas permissões na KMS chave das seguintes maneiras.
-
Use essa KMS chave com o Amazon Elastic Block Store (AmazonEBS) e o Amazon Elastic Compute Cloud (AmazonEC2) para anexar um EBS volume criptografado a uma EC2 instância. O usuário da chave dá EC2 permissão implícita à Amazon para usar a KMS chave para anexar o volume criptografado à instância. Para obter mais informações, consulte Como a Amazon Elastic Block Store (AmazonEBS) usa AWS KMS.
-
Use essa KMS chave com o Amazon Redshift para iniciar um cluster criptografado. O usuário da chave dá implicitamente ao Amazon Redshift permissão para usar a chave para iniciar KMS o cluster criptografado e criar snapshots criptografados. Para obter mais informações, consulte Como o Amazon Redshift usa AWS KMS.
-
Use essa KMS chave com outros AWS serviços integrados AWS KMS que usam concessões para criar, gerenciar ou usar recursos criptografados com esses serviços.
Apolítica de chaves padrão permite que os usuários de chaves deleguem suas permissões de concessão para todos os serviços integrados que usam concessões. No entanto, você pode criar uma política de chaves personalizada que restrinja a permissão a AWS serviços específicos. Para obter mais informações, consulte a kms: ViaService chave de condição.