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 Servicios de AWS en su nombre. 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 lanzar instancias de Auto Scaling cuando especifica una clave administrada por el cliente para el EBS cifrado de Amazon.
nota
Amazon EC2 Auto Scaling no necesita autorización adicional para usar la opción predeterminada Clave administrada de AWS para proteger los volúmenes cifrados de su cuenta.
Contenido
- Información general
- Configuración de las políticas de claves
- Ejemplo 1: secciones de la política de claves que permiten el acceso a la clave administrada por el cliente
- Ejemplo 2: secciones de la política de claves que permiten el acceso entre cuentas a la clave administrada por el cliente
- Edición de las políticas de claves en la consola de AWS KMS
Información general
AWS KMS keys Se puede usar lo siguiente para el EBS cifrado de Amazon cuando Amazon EC2 Auto Scaling lanza instancias:
-
Clave administrada de AWS— Una clave de cifrado en tu 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 especifiques una clave gestionada 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 admite claves asimétricas gestionadas 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
Sus KMS claves deben tener una política de claves que permita a Amazon EC2 Auto Scaling lanzar instancias con EBS volúmenes de Amazon cifrados con una clave administrada por el cliente.
Utilice los ejemplos de esta página para configurar una política clave que permita a Amazon EC2 Auto Scaling acceder a su clave gestionada 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.
Debe añadir, como mínimo, dos declaraciones de política a su política clave para que funcione con Amazon EC2 Auto Scaling.
-
La primera declaración permite que la IAM identidad especificada en el
Principal
elemento utilice directamente la clave gestionada por el cliente. Incluye permisos para realizar lasDescribeKey
operaciones AWS KMSEncrypt
Decrypt
,ReEncrypt*
,GenerateDataKey*
, y con la clave. -
La segunda sentencia permite que la IAM identidad especificada en el
Principal
elemento utilice laCreateGrant
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 user placeholder
text
. En la mayoría de los casos, puede sustituir el nombre de la función vinculada al servicio por el nombre de una función vinculada a un servicio de Amazon EC2 Auto Scaling.
Para obtener más información, consulte los siguientes recursos:
-
Para actualizar una política clave con el AWS CLI, consulte. put-key-policy
-
Para encontrar un identificador clave y un nombre de recurso de Amazon (ARN), consulta Cómo encontrar el identificador clave y ARN en la Guía para AWS Key Management Service desarrolladores.
-
Para obtener información sobre las funciones vinculadas al servicio Amazon EC2 Auto Scaling, consulte. Roles vinculados a servicios de Amazon EC2 Auto Scaling
-
Para obtener información sobre el EBS cifrado de Amazon y, en KMS general, sobre el EBScifrado de Amazon, consulte la Guía EBS del usuario de Amazon y la Guía del AWS Key Management Service desarrollador.
Ejemplo 1: secciones de la política de claves que permiten el acceso a la clave administrada por el cliente
Añada las dos declaraciones de política siguientes a la política de claves de la clave gestionada por el cliente y sustituya el ejemplo por ARN el ARN de la función vinculada al servicio correspondiente a la que se le permite acceder a la clave. En este ejemplo, las secciones de políticas otorgan permisos al rol vinculado al servicio denominado AWSServiceRoleForAutoScalingpermisos para usar 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:
-
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 ejemplo por ARN el ARN de la otra cuenta, asegurándose de reemplazar
111122223333
con el ID de cuenta real en el Cuenta de AWS que desea crear el grupo Auto Scaling. Esto le permite conceder permiso a un IAM usuario o a un rol de la cuenta especificada para crear una concesión para la clave mediante el siguiente CLI comando. 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": "*" } -
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
Grantee Principal
elemento de la concesión es el ARN rol vinculado al servicio correspondiente. Ahíkey-id
está ARN la clave.A continuación se muestra un ejemplo de CLI comando create-grant que proporciona la función vinculada al servicio nombrada en la cuenta AWSServiceRoleForAutoScaling
111122223333
permisos para usar la clave administrada por el cliente en la cuenta444455556666
.aws kms create-grant \ --region
us-west-2
\ --key-idarn: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
.El siguiente ejemplo IAM de política permite una IAM identidad (usuario o rol) en la cuenta
111122223333
para crear una concesión para la clave de la cuenta gestionada por el cliente444455556666
.{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCreationOfGrantForTheKMSKeyinExternalAccount
444455556666
", "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 sobre cómo crear una subvención para una KMS clave de otra Cuenta de AWS, consulta la sección Concesiones AWS KMS en la Guía para AWS Key Management Service 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 asegurarse de que permite a Amazon EC2 Auto Scaling utilizar la KMS clave 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 es utilizar la vista predeterminada de la AWS KMS consola para las políticas clave y convertir una IAM identidad (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.