Política de AWS KMS chaves necessária para uso com volumes criptografados - Amazon EC2 Auto Scaling

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 que você precisa para iniciar instâncias do Auto Scaling ao especificar uma chave gerenciada pelo cliente para a criptografia da AmazonEBS.

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.

Visão geral

O seguinte AWS KMS keys pode ser usado para a EBS criptografia da Amazon quando o Amazon EC2 Auto Scaling lança instâncias:

  • Chave gerenciada pela AWS— Uma chave de criptografia em sua conta que a Amazon EBS cria, possui e gerencia. 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. A Amazon EBS não oferece suporte a chaves assimétricas gerenciadas pelo cliente.

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 KMS chaves devem ter uma política de chaves que permita ao Amazon EC2 Auto Scaling iniciar instâncias com EBS volumes da Amazon 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 IAM identidade especificada no Principal elemento use diretamente a chave gerenciada pelo cliente. Inclui permissões para realizar as DescribeKey operações AWS KMS Encrypt DecryptReEncrypt*,GenerateDataKey*,, e na chave.

  • A segunda declaração permite que a IAM identidade especificada no Principal elemento use a CreateGrant 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 do :

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 principal da chave gerenciada pelo cliente, substituindo o exemplo ARN pelo ARN da função vinculada ao serviço apropriada que tem acesso à chave. Neste exemplo, as seções de política dão à função vinculada ao serviço denominada AWSServiceRoleForAutoScalingpermissõ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:

  1. Em primeiro lugar, adicione as duas seguintes instruções de política à política de chaves da chave gerenciada pelo cliente. Substitua o exemplo ARN pelo ARN da outra conta, certificando-se de substituir 111122223333 com o ID real da conta na Conta da AWS qual você deseja criar o grupo Auto Scaling. Isso permite que você conceda a um IAM usuário ou função na conta especificada permissão para criar uma concessão para a chave usando o CLI comando a seguir. 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": "*" }
  2. 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 Grantee Principal elemento da concessão é a função ARN vinculada ao serviço apropriada. Esse key-id é o ARN da chave.

    Veja a seguir um exemplo de CLI comando create-grant que fornece a função vinculada ao serviço nomeada na conta AWSServiceRoleForAutoScaling 111122223333 permissões para usar a chave gerenciada pelo cliente na conta 444455556666.

    aws kms create-grant \ --region us-west-2 \ --key-id arn: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 IAM política a seguir permite uma IAM identidade (usuário ou função) na conta 111122223333 para criar uma concessão para a chave gerenciada pelo cliente na conta 444455556666.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreationOfGrantForTheKMSKeyinExternalAccount444455556666", "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 KMS chave em outra Conta da AWS, consulte Concessões AWS KMS no Guia do AWS Key Management Service desenvolvedor.

    Importante

    O nome da função vinculada 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 KMS chave 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 IAM identidade (usuário ou função) 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.