Política de AWS KMS claves obligatoria para su uso con volúmenes cifrados - Amazon EC2 Auto Scaling

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Política de AWS KMS claves obligatoria para su uso con volúmenes cifrados

Amazon EC2 Auto Scaling utiliza funciones vinculadas a servicios para delegar permisos a otras personas. Servicios de AWS Las funciones vinculadas al servicio Amazon EC2 Auto Scaling están predefinidas e incluyen los permisos que Amazon EC2 Auto Scaling necesita para llamar a otras personas en su nombre. Servicios de AWS Los permisos predefinidos también incluyen el acceso a sus. Claves administradas por AWS Sin embargo, no incluyen el acceso a las claves administradas por el cliente, lo que le permite mantener un control total de estas claves.

En este tema se describe cómo configurar la política de claves que necesita para iniciar instancias de Auto Scaling cuando especifica una clave administrada por el cliente para el cifrado de Amazon EBS.

nota

Amazon EC2 Auto Scaling no necesita autorización adicional para poder utilizar la Clave administrada de AWS predeterminada para proteger los volúmenes cifrados en su cuenta.

Información general

AWS KMS keys Se puede usar lo siguiente para el cifrado de Amazon EBS cuando Amazon EC2 Auto Scaling lanza instancias:

  • Clave administrada de AWS— Una clave de cifrado en su cuenta que Amazon EBS crea, posee y administra. Esta es la clave de cifrado predeterminada en las cuentas nuevas. Clave administrada de AWS Se utiliza para el cifrado, a menos que especifique una clave administrada por el cliente.

  • Clave administrada por el cliente: una clave de cifrado personalizada que usted crea, posee y administra. Para obtener más información, consulte Creación de claves en la Guía para desarrolladores de AWS Key Management Service .

    Nota: La clave debe ser simétrica. Amazon EBS no es compatible con claves asimétricas administradas por el cliente.

Puede configurar las claves administradas por el cliente al crear instantáneas cifradas o una plantilla de lanzamiento que especifique volúmenes cifrados, o habilitar el cifrado de forma predeterminada.

Configuración de las políticas de claves

Las claves de KMS deben tener una política de claves que permita que Amazon EC2 Auto Scaling inicie instancias con volúmenes de Amazon EBS cifrados con una clave administrada por el cliente.

Utilice los ejemplos de esta página para configurar una política de claves que proporcione a Amazon EC2 Auto Scaling acceso a la clave administrada por el cliente. Puede modificar la política de claves de la clave administrada por el cliente, o bien cuando se cree la clave, o bien en un momento posterior.

Como mínimo, debe agregar dos instrucciones a la política de claves para que funcione con Amazon EC2 Auto Scaling.

  • La primera instrucción permite a la identidad de IAM especificada en el elemento Principal utilizar directamente la clave administrada por el cliente. Incluye permisos para realizar las DescribeKey operaciones AWS KMS Encrypt DecryptReEncrypt*,GenerateDataKey*, y con la clave.

  • La segunda sentencia permite que la identidad de IAM especificada en el Principal elemento utilice la CreateGrant operación para generar concesiones que deleguen un subconjunto de sus propios permisos en uno de los Servicios de AWS que estén integrados con AWS KMS o con otro principal. Esto les permite utilizar la clave para crear recursos cifrados en su nombre.

Cuando agregue las nuevas instrucciones a la política de claves, no cambie las instrucciones existentes en la política.

En cada uno de los ejemplos siguientes, los argumentos que se deben reemplazar, como un identificador clave o el nombre de un rol vinculado a un servicio, se muestran como texto de marcador de posición del usuario. En la mayoría de los casos, puede sustituir el nombre del rol vinculado a servicios por el de otro rol vinculado a servicios de Amazon EC2 Auto Scaling.

Para obtener más información, consulte los siguientes recursos:

Ejemplo 1: secciones de la política de claves que permiten el acceso a la clave administrada por el cliente

Agregue las dos instrucciones siguientes a la política de claves de la clave administrada por el cliente, sustituyendo el ARN del ejemplo por el ARN del rol vinculado a servicios correspondiente que tiene permitido el acceso a la clave. En este ejemplo, las secciones de la política conceden al rol vinculado a servicios llamado AWSServiceRoleForAutoScaling permisos para utilizar la clave administrada por el 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 } } }

Ejemplo 2: secciones de la política de claves que permiten el acceso entre cuentas a la clave administrada por el cliente

Si crea una clave administrada por el cliente en una cuenta diferente a la del grupo de escalado automático, debe utilizar una concesión en combinación con la política de claves para permitir el acceso entre cuentas a la clave.

Hay dos pasos que deben completarse en el siguiente orden:

  1. En primer lugar, agregue las dos instrucciones de política siguientes a la política clave de la clave administrada por el cliente. Sustituya el ARN de ejemplo por el ARN de la otra cuenta y asegúrese de reemplazar 111122223333 por el ID de cuenta real en el Cuenta de AWS que desea crear el grupo de Auto Scaling. Esto le permite otorgar a un usuario o rol de IAM en la cuenta especificada permiso para crear una concesión para la clave mediante el siguiente comando CLI. Sin embargo, esto por sí solo no otorga acceso a la clave a ningún usuario.

    { "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. Luego, desde la cuenta en la que desea crear el grupo de escalado automático, cree una concesión que delegue los permisos relevantes al rol vinculado al servicio adecuado. El elemento Grantee Principal de la concesión es el ARN del rol vinculado al servicio pertinente. El key-id es el ARN de la clave.

    A continuación, se incluye un ejemplo del comando create-grant de la CLI, que concede al rol vinculado al servicio llamado AWSServiceRoleForAutoScaling de la cuenta 111122223333 permisos para utilizar la clave administrada por el cliente en la cuenta 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 este comando se ejecute correctamente, el usuario que realiza la solicitud debe tener permisos para la acción CreateGrant.

    En la siguiente política de IAM de ejemplo se permite que una identidad de IAM (usuario o rol) en una cuenta 111122223333 cree una concesión para la clave administrada por el cliente en la cuenta 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 obtener más información acerca de cómo crear una concesión para una clave KMS en una Cuenta de AWS diferente, consulte Concesiones en AWS KMS en laAWS Key Management Service Guía para desarrolladores.

    importante

    El nombre del rol vinculado al servicio especificado como principal del beneficiario debe ser el nombre de un rol existente. Tras crear la concesión, para garantizar que la concesión permita que Amazon EC2 Auto Scaling utilice la clave de KMS especificada, no elimine ni vuelva a crear el rol vinculado al servicio.

Edición de las políticas de claves en la consola de AWS KMS

En los ejemplos que aparecen en las secciones anteriores, solo se explica cómo agregar instrucciones a una política de claves, que es una de las múltiples formas de cambiar una de dichas políticas. La forma más sencilla de cambiar una política clave consiste en utilizar la vista predeterminada de la AWS KMS consola para las políticas clave y convertir una identidad de IAM (usuario o rol) en uno de los usuarios clave de la política clave correspondiente. Para obtener más información, consulte Uso de la vista AWS Management Console predeterminada en la Guía para AWS Key Management Service desarrolladores.

importante

Tenga cuidado. Las declaraciones de política de visualización predeterminadas de la consola incluyen permisos para realizar AWS KMS Revoke operaciones en la clave gestionada por el cliente. Si concedes Cuenta de AWS acceso a una clave gestionada por el cliente de tu cuenta y revocas accidentalmente la concesión que les concedió este permiso, los usuarios externos ya no podrán acceder a sus datos cifrados ni a la clave que se utilizó para cifrarlos.