Datos cifrados almacenados en los volúmenes de Amazon EBS para Amazon ECS - Amazon Elastic Container Service

Datos cifrados almacenados en los volúmenes de Amazon EBS para Amazon ECS

Puede utilizar AWS Key Management Service (AWS KMS) para crear y administrar claves criptográficas que protejan los datos. Los volúmenes de Amazon EBS se cifran en reposo mediante AWS KMS keys. Se cifran los tipos de datos siguientes:

  • Datos almacenados en reposo en el volumen

  • E/S de disco

  • Instantáneas creadas a partir del volumen

  • Volúmenes nuevos creados a partir de las instantáneas

Puede configurar el cifrado de Amazon EBS de manera predeterminada para que todos los volúmenes nuevos creados y adjuntos a una tarea se cifren mediante la clave de KMS que configure para su cuenta. Para obtener más información acerca del cifrado de Amazon EBS y el cifrado de manera predeterminada, consulte Amazon EBS encryption en la Guía del usuario de Amazon EC2.

Los volúmenes de Amazon EBS adjuntos a las tareas se pueden cifrar mediante una Clave administrada de AWS predeterminada con el alias alias/aws/ebs o una clave simétrica administrada por el cliente. Las Claves administradas por AWS predeterminadas son exclusivas de cada Cuenta de AWS por Región de AWS y se crean automáticamente. Para crear una clave simétrica administrada por el cliente, siga los pasos que se indican en la sección Creating symmetric encryption KMS keys en AWS KMS Developer Guide.

Política de claves de KMS administradas por el cliente

Para cifrar un volumen de EBS adjunto a la tarea mediante la clave administrada por el cliente, debe configurar su política de claves de KMS para garantizar que el rol de IAM que utiliza para la configuración del volumen tenga los permisos necesarios para utilizar la clave. La política de claves debe incluir los permisos kms:CreateGrant y kms:GenerateDataKey*. Los permisos kms:ReEncryptTo y kms:ReEncryptFrom son necesarios para cifrar los volúmenes que se crean mediante instantáneas. Si quiere configurar y cifrar solo los volúmenes nuevos y vacíos para adjuntarlos, puede excluir los permisos kms:ReEncryptTo y kms:ReEncryptFrom.

En el fragmento de código siguiente de JSON se muestran la instrucciones de la política de claves que puede adjuntar a la política de claves de KMS. El uso de estas instrucciones permitirá a ECS utilizar la clave para cifrar el volumen de EBS. Para utilizar las instrucciones de la política de ejemplo, sustituya user input placeholders por su propia información. Como siempre, configure únicamente los permisos que necesite.

{ "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 más información acerca de los permisos y las políticas de claves, consulte Key policies in AWS KMS y AWS KMS permissions en la Guía para desarrolladores de AWS KMS. Para solucionar los problemas de la conexión de volúmenes de EBS relacionados con los permisos de claves, consulte Solución de problemas de conexión de volúmenes de Amazon EBS a las tareas de Amazon ECS .