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 AWS KMS chaves necessária para uso com volumes criptografados
O Amazon EC2 Auto Scaling usa funções vinculadas a serviços para delegar permissões a outras pessoas. Serviços da AWS As funções vinculadas ao serviço Amazon EC2 Auto Scaling são predefinidas e incluem permissões que o Amazon Auto Scaling exige para ligar para EC2 outras pessoas em seu nome. Serviços da AWS As permissões predefinidas também incluem acesso ao seu Chaves gerenciadas pela AWS. No entanto, elas não incluem acesso às chaves gerenciadas pelo cliente, permitindo que você mantenha o controle total sobre essas chaves.
Este tópico descreve como configurar a política de chaves de que você precisa para iniciar instâncias do Auto Scaling ao especificar uma chave gerenciada pelo cliente para a criptografia do Amazon EBS.
nota
O Amazon EC2 Auto Scaling não precisa de autorização adicional para usar o padrão Chave gerenciada pela AWS para proteger os volumes criptografados em sua conta.
Conteúdo
Visão geral
O seguinte AWS KMS keys pode ser usado para a criptografia do Amazon EBS quando o Amazon EC2 Auto Scaling lança instâncias:
-
Chave gerenciada pela AWS: uma chave de criptografia em sua conta que é criada por, pertencente a e gerenciada pelo Amazon EBS. Essa é a chave de criptografia padrão para uma nova conta. O Chave gerenciada pela AWS é usado para criptografia, a menos que você especifique uma chave gerenciada pelo cliente.
-
Chave gerenciada pelo cliente: uma chave de criptografia personalizada que você cria, possui e gerencia. Para obter mais informações, consulte Criação de chaves Guia do desenvolvedor do AWS Key Management Service .
Observação: a chave deve ser simétrica. O Amazon EBS não oferece suporte a chaves gerenciadas pelo cliente assimétricas.
Você configura chaves gerenciadas pelo cliente ao criar snapshots criptografados ou um modelo de execução que especifica volumes criptografados ou ao habilitar a criptografia por padrão.
Configurar políticas de chave
Suas chaves do KMS devem ter uma política de chaves que permita ao Amazon EC2 Auto Scaling iniciar instâncias com volumes do Amazon EBS criptografados com uma chave gerenciada pelo cliente.
Use os exemplos nesta página para configurar uma política de chaves para dar ao Amazon EC2 Auto Scaling acesso à sua chave gerenciada pelo cliente. Você pode modificar a política de chaves da chave gerenciada pelo cliente no momento em que a chave é criada ou posteriormente.
Você deve, no mínimo, adicionar duas declarações de política à sua política principal para que ela funcione com o Amazon EC2 Auto Scaling.
-
A primeira declaração permite que a identidade do IAM especificada no elemento
Principal
use a chave gerenciada pelo cliente diretamente. Inclui permissões para realizar asDescribeKey
operações AWS KMSEncrypt
Decrypt
ReEncrypt*
,GenerateDataKey*
,, e na chave. -
A segunda declaração permite que a identidade do IAM especificada no
Principal
elemento use aCreateGrant
operação para gerar concessões que delegam um subconjunto de suas próprias permissões para aqueles Serviços da AWS que estão integrados com AWS KMS ou outro principal. Isso permite que eles usem a chave para criar recursos criptografados em seu nome.
Ao adicionar as novas declarações de política à sua política de chave, não altere as declarações existentes na política.
Para cada um dos exemplos a seguir, os argumentos que devem ser substituídos, como uma ID de chave ou o nome de uma função vinculada ao serviço, são mostrados como. user placeholder
text
Na maioria dos casos, você pode substituir o nome da função vinculada ao serviço pelo nome de uma função vinculada ao serviço do Amazon Auto EC2 Scaling.
Para obter mais informações, consulte os seguintes recursos:
-
Para criar uma chave com o AWS CLI, consulte create-key
. -
Para atualizar uma política de chaves com o AWS CLI, consulte put-key-policy
. -
Para encontrar um nome do recurso da Amazon (ARN) e um ID de chave, consulte Como encontrar o ID de chave e o ARN no Guia do desenvolvedor do AWS Key Management Service .
-
Para obter informações sobre as funções vinculadas ao serviço do Amazon EC2 Auto Scaling, consulte. Funções vinculadas a serviços para Amazon EC2 Auto Scaling
-
Para obter informações sobre a criptografia do Amazon EBS e o KMS em geral, consulte a seção Criptografia do Amazon EBS no Guia do usuário do Amazon EBS e no Guia do desenvolvedor do AWS Key Management Service.
Exemplo 1: seções da política de chaves que permitem acesso à chave gerenciada pelo cliente
Adicione as duas declarações de política a seguir à política de chaves da chave gerenciada pelo cliente, substituindo o ARN de exemplo pelo ARN da função vinculada ao serviço apropriada que tem permissão de acesso à chave. Neste exemplo, as seções da política concedem à função vinculada ao serviço chamada AWSServiceRoleForAutoScaling permissões para usar a chave gerenciada pelo cliente.
{ "Sid": "Allow service-linked role use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
" ] }, "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::
account-id
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*", "Condition": { "Bool": { "kms:GrantIsForAWSResource": true } } }
Exemplo 2: seções da política de chaves que permitem acesso entre contas à chave gerenciada pelo cliente
Se você criar uma chave gerenciada pelo cliente em uma conta diferente da conta usada pelo grupo do Auto Scaling, será necessário usar uma concessão em combinação com a política de chaves para permitir o acesso entre contas à chave.
É necessário concluir duas etapas na seguinte ordem:
-
Em primeiro lugar, adicione as duas seguintes instruções de política à política de chaves da chave gerenciada pelo cliente. Substitua o ARN de exemplo pelo ARN da outra conta, certificando-se de
111122223333
substituí-lo pelo ID real da conta na qual você deseja criar Conta da AWS o grupo Auto Scaling. Isso permite que você conceda permissão para que um usuário ou um perfil do IAM na conta especificada crie uma concessão para a chave usando o seguinte comando da CLI. No entanto, isso por si só não dá a nenhum usuário acesso à chave.{ "Sid": "Allow external account
111122223333
use of the customer managed key", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333
:root" ] }, "Action": [ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey" ], "Resource": "*" }{ "Sid": "Allow attachment of persistent resources in external account
111122223333
", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::111122223333
:root" ] }, "Action": [ "kms:CreateGrant" ], "Resource": "*" } -
Em seguida, usando a conta na qual deseja criar o grupo do Auto Scaling, crie uma concessão que delegue as permissões relevantes para a função adequada vinculada ao serviço. O elemento
Grantee Principal
da concessão é o ARN do perfil vinculado ao serviço apropriado. Okey-id
é o ARN da chave.Veja a seguir um exemplo de comando da CLI create-grant
que dá à função vinculada ao serviço AWSServiceRoleForAutoScalingnomeada na 111122223333
conta permissões para usar a chave gerenciada pelo cliente na conta.444455556666
aws kms create-grant \ --region
us-west-2
\ --key-idarn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d
\ --grantee-principal arn:aws:iam::111122223333
:role/aws-service-role/autoscaling.amazonaws.com/AWSServiceRoleForAutoScaling
\ --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"Para que esse comando seja bem-sucedido, o usuário que faz a solicitação deve ter permissões para a ação
CreateGrant
.O exemplo de política do IAM a seguir permite que uma identidade do IAM (usuário ou função) na conta
111122223333
crie uma concessão para a chave gerenciada pelo cliente na conta444455556666
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreationOfGrantForTheKMSKeyinExternalAccount
444455556666
", "Effect": "Allow", "Action": "kms:CreateGrant", "Resource": "arn:aws:kms:us-west-2:444455556666:key/1a2b3c4d-5e6f-1a2b-3c4d-5e6f1a2b3c4d
" } ] }Para obter mais informações sobre como criar uma concessão para uma chave do KMS em uma Conta da AWS diferente, consulte Concessões no AWS KMS no Guia do desenvolvedor do AWS Key Management Service .
Importante
O nome do perfil vinculado ao serviço especificado como a entidade principal do beneficiário deve ser o nome de um perfil existente. Depois de criar a concessão, para garantir que a concessão permita que o Amazon EC2 Auto Scaling use a chave KMS especificada, não exclua e recrie a função vinculada ao serviço.
Editar políticas de chaves no console do AWS KMS
Os exemplos nas seções anteriores mostram apenas como adicionar declarações a uma política de chaves, que é apenas uma maneira de alterar uma política de chaves. A maneira mais fácil de alterar uma política de chaves é usar a visualização padrão do AWS KMS console para políticas de chaves e tornar uma identidade (usuário ou função) do IAM um dos principais usuários da política de chaves apropriada. Para obter mais informações, consulte Usando a visualização AWS Management Console padrão no Guia do AWS Key Management Service desenvolvedor.
Importante
Tenha cuidado. As declarações de política de visualização padrão do console incluem permissões para realizar AWS KMS Revoke
operações na chave gerenciada pelo cliente. Se você conceder Conta da AWS acesso a uma chave gerenciada pelo cliente em sua conta e acidentalmente revogar a concessão que lhes deu essa permissão, os usuários externos não poderão mais acessar seus dados criptografados ou a chave que foi usada para criptografar seus dados.