Datos cifrados almacenados en volúmenes de Amazon EBS adjuntos a tareas de 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 cifradas
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 especificada en la configuración del volumen. 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.
Puede configurar el cifrado de Amazon EBS de manera predeterminada para que todos los volúmenes nuevos creados y adjuntos a una tarea en una Región de AWS específica 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 Cifrado de Amazon EBS en la Guía del usuario de Amazon EBS.
También puede configurar el cifrado a nivel de clúster de Amazon ECS para el almacenamiento administrado de Amazon ECS al crear o actualizar un clúster. El cifrado a nivel de clúster se puede utilizar para cifrar todos los volúmenes de Amazon EBS adjuntos a las tareas que se ejecutan en un clúster específico mediante la clave de KMS especificada en el nivel de clúster. Para obtener más información sobre la configuración del cifrado a nivel de clúster, consulte ManagedStorageConfiguration en la Referencia de la API de Amazon ECS.
Puede configurar cualquier combinación de estas claves. El orden de prioridad de las claves de KMS es el siguiente:
-
La clave de KMS especificada en la configuración del volumen. Al especificar una clave de KMS en la configuración del volumen, esta anula la clave predeterminada de Amazon EBS y cualquier clave de KMS que se especifique a nivel de clúster.
-
La clave de KMS especificada a nivel de clúster. Cuando especifica una clave de KMS para el cifrado a nivel de clúster del almacenamiento administrado de Amazon ECS, esta anula el cifrado predeterminado de Amazon EBS, pero no anula ninguna clave de KMS que se especifique en la configuración del volumen.
-
Cifrado predeterminado de Amazon EBS. El cifrado predeterminado se aplica cuando no se especifica una clave de KMS a nivel de clúster ni una clave en la configuración del volumen. Si activa el cifrado de Amazon EBS de forma predeterminada, el valor predeterminado es la clave de KMS que especifique para el cifrado predeterminado. De lo contrario, el valor predeterminado es la Clave administrada de AWS con el alias
alias/aws/ebs
.nota
Si establece
encrypted
comofalse
en su configuración de volumen, no especifica ninguna clave de KMS a nivel de clúster y activa el cifrado de Amazon EBS de forma predeterminada, el volumen seguirá estando cifrado con la clave especificada para el cifrado de Amazon EBS predeterminado.
Política de claves de KMS administradas por el cliente
Para cifrar un volumen de EBS adjunto a la tarea mediante una 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 proporcionará acceso para que Amazon ECS utilice la clave para cifrar el volumen de EBS. Para utilizar las instrucciones de la política de ejemplo, sustituya
por su propia información. Como siempre, configure únicamente los permisos que necesite.user input placeholders
{ "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 .