Criptografia de dados armazenados em volumes do Amazon EBS para o Amazon ECS - Amazon Elastic Container Service

Criptografia de dados armazenados em volumes do Amazon EBS para o Amazon ECS

Você pode usar o AWS Key Management Service (AWS KMS) para criar e gerenciar chaves criptográficas que protegem seus dados. Os volumes do Amazon EBS são criptografados em repouso usando o AWS KMS keys. Os seguintes tipos de dados são criptografados:

  • Dados armazenados em repouso no volume

  • E/S de disco

  • Snapshots criados no volume

  • Novos volumes criados por meio dos snapshots

Você pode configurar a criptografia do Amazon EBS por padrão para que todos os novos volumes criados e anexados a uma tarefa sejam criptografados usando a chave do KMS configurada para a conta. Para obter mais informações sobre criptografia do Amazon EBS e criptografia por padrão, consulte Amazon EBS encryption no Guia do usuário do Amazon EC2.

Os volumes do Amazon EBS anexados às tarefas podem ser criptografados usando uma Chave gerenciada pela AWS padrão com o alias alias/aws/ebs ou uma chave simétrica gerenciada pelo cliente. As Chaves gerenciadas pela AWS padrão são exclusivas para cada Conta da AWS por Região da AWS e são criadas automaticamente. Para criar uma chave simétrica gerenciada pelo cliente, siga as etapas em Creating symmetric encryption KMS keys no Guia do desenvolvedor do AWS KMS.

Política de chave do KMS gerenciada pelo cliente

Para criptografar um volume do EBS anexado à tarefa usando a chave gerenciada pelo cliente, você deve configurar sua política de chave do KMS para garantir que o perfil do IAM usado na configuração do volume tenha as permissões necessárias para usar a chave. A política de chave deve incluir as permissões kms:CreateGrant e kms:GenerateDataKey*. As permissões kms:ReEncryptTo e kms:ReEncryptFrom são necessárias para criptografar volumes criados usando snapshots. Se quiser configurar e criptografar somente volumes novos e vazios para anexação, você pode excluir as permissões kms:ReEncryptTo e kms:ReEncryptFrom.

O trecho JSON a seguir mostra as instruções de política de chave que você pode anexar à sua política de chave do KMS. O uso dessas instruções fornecerá acesso ao ECS para usar a chave para criptografar o volume do EBS. Para usar os exemplos de instruções de política, substitua os user input placeholders por suas próprias informações. Como sempre, configure apenas as permissões de que você precisa.

{ "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" }, "Action": "kms:DescribeKey", "Resource":"*" }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" }, "Action": [ "kms:GenerateDataKey*", "kms:ReEncryptTo", "kms:ReEncryptFrom" ], "Resource":"*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id", "kms:ViaService": "ec2.region.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" } } }, { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111122223333:role/ecsInfrastructureRole" }, "Action": "kms:CreateGrant", "Resource":"*", "Condition": { "StringEquals": { "kms:CallerAccount": "aws_account_id", "kms:ViaService": "ec2.region.amazonaws.com" }, "ForAnyValue:StringEquals": { "kms:EncryptionContextKeys": "aws:ebs:id" }, "Bool": { "kms:GrantIsForAWSResource": true } } }

Para obter mais informações sobre políticas e permissões de chave, consulte Key policies in AWS KMS e AWS KMS permissions no Guia do desenvolvedor do AWS KMS. Para solucionar problemas de anexação de volumes do EBS relacionados às permissões de chave, consulte Solução de problemas de anexações de volumes do Amazon EBS às tarefas do Amazon ECS .