

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 claves de KMS requerida para su uso con volúmenes de EBS cifrados en PCS AWS
<a name="security-key-policy-for-encrypted-volumes"></a>

AWS PCS utiliza [funciones vinculadas a servicios](service-linked-roles.md) para delegar permisos a otras personas. Servicios de AWS La función vinculada al servicio de AWS PCS está predefinida e incluye los permisos que AWS PCS necesita para llamar a otras Servicios de AWS personas en su nombre. Los permisos predefinidos también incluyen el acceso a sus claves gestionadas por el cliente Claves administradas por AWS , pero no a las que administra el cliente.

En este tema se describe cómo configurar la política de claves necesaria para lanzar instancias cuando se especifica una clave gestionada por el cliente para el cifrado de Amazon EBS. 

**nota**  
AWS El PCS no requiere una autorización adicional para usar la predeterminada Clave administrada de AWS a fin de proteger los volúmenes cifrados de su cuenta. 

**Contents**
+ [Descripción general de](#overview)
+ [Configuración de las políticas de claves](#configuring-key-policies)
+ [Ejemplo 1: secciones de la política de claves que permiten el acceso a la clave administrada por el cliente](#policy-example-cmk-access)
+ [Ejemplo 2: secciones de la política de claves que permiten el acceso entre cuentas a la clave administrada por el cliente](#policy-example-cmk-cross-account-access)
+ [Edite las políticas clave en la consola AWS KMS](#eding-key-policies-console)

## Descripción general de
<a name="overview"></a>

Puede usar lo siguiente AWS KMS keys para el cifrado de Amazon EBS cuando AWS PCS lance instancias: 
+ [Clave administrada de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk): una clave de cifrado de su cuenta que Amazon EBS crea, posee y administra. Esta es la clave de cifrado predeterminada en las cuentas nuevas. Amazon EBS la utiliza Clave administrada de AWS para el cifrado, a menos que especifique una clave gestionada por el cliente. 
+ [Clave administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk): una clave de cifrado personalizada que usted crea, posee y administra. Para obtener más información, consulte [Crear una clave KMS](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) en la *Guía para AWS Key Management Service desarrolladores*. 
**nota**  
La clave debe ser simétrica. Amazon EBS no admite claves asimétricas administradas por el cliente. 

Las claves administradas por el cliente se configuran cuando se crean instantáneas cifradas o una plantilla de lanzamiento que especifica los volúmenes cifrados, o cuando se decide habilitar el cifrado de forma predeterminada.

## Configuración de las políticas de claves
<a name="configuring-key-policies"></a>

Sus claves de KMS deben tener una política de claves que permita a AWS PCS lanzar 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 permita a AWS PCS acceder a su clave gestionada por el cliente. Puede modificar la política de claves de la clave gestionada por el cliente al crear la clave o más adelante.

La política clave debe incluir las siguientes declaraciones:
+ Una declaración que permite que la identidad de IAM especificada en el `Principal` elemento utilice directamente la clave gestionada por el cliente. Incluye permisos para realizar las `DescribeKey` operaciones AWS KMS `Encrypt``Decrypt`,`ReEncrypt*`,`GenerateDataKey*`, y en la clave. 
+ Una declaración que permite a la identidad de IAM especificada en el `Principal` elemento utilizar 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.

No modifique ninguna declaración existente en la política cuando añada las nuevas declaraciones de política a su política clave.

Para obtener más información, consulte lo siguiente:
+ [create-key en la](https://docs.aws.amazon.com/cli/latest/reference/kms/create-key.html) *Referencia de comandos AWS CLI *
+ [put-key-policy](https://docs.aws.amazon.com/cli/latest/reference/kms/put-key-policy.html) *en la Referencia de comandos AWS CLI *
+ [Busque el ID de clave y el ARN clave](https://docs.aws.amazon.com/kms/latest/developerguide/find-cmk-id-arn.html) *en la AWS Key Management Service Guía para desarrolladores*
+ [Service-linked funciones para AWS PCS](service-linked-roles.md)
+ [Cifrado de Amazon EBS](https://docs.aws.amazon.com/ebs/latest/userguide/ebs-encryption.html) en la Guía del *usuario de Amazon EBS*
+  [AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/) en la *Guía para desarrolladores de AWS Key Management Service *.

## Ejemplo 1: secciones de la política de claves que permiten el acceso a la clave administrada por el cliente
<a name="policy-example-cmk-access"></a>

Añada las siguientes declaraciones de política a la política clave de la clave gestionada por el cliente. Sustituya el ARN de ejemplo por el ARN de su función vinculada al servicio. `AWSServiceRoleForPCS` Esta política de ejemplo otorga al rol vinculado al servicio de AWS PCS permisos para usar la clave `AWSServiceRoleForPCS` 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/pcs.amazonaws.com/AWSServiceRoleForPCS"
       ]
   },
   "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/pcs.amazonaws.com/AWSServiceRoleForPCS"
       ]
   },
   "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
<a name="policy-example-cmk-cross-account-access"></a>

Si crea una clave gestionada por el cliente en una cuenta diferente a la de su clúster de AWS PCS, debe utilizar una **concesión** en combinación con la política de claves para permitir el acceso a la clave entre cuentas. 

**Para conceder el acceso a la clave**

1. Añada las siguientes declaraciones de política a la política clave de la clave gestionada por el cliente. Sustituya el ARN de ejemplo por el ARN de la otra cuenta. {{111122223333}}Sustitúyalo por el ID de cuenta real en el Cuenta de AWS que desea crear el clúster de AWS PCS. 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. De forma predeterminada, los usuarios no tienen acceso a la clave.

   ```
   {.
      "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": "*"
   }
   ```

1. Desde la cuenta en la que desee crear el clúster de AWS PCS, cree una concesión que delegue los permisos pertinentes a la función vinculada al servicio de AWS PCS. El valor de `grantee-principal` es el ARN del rol vinculado al servicio. El valor de `key-id` es el ARN de la clave.

   El siguiente ejemplo de comando [CLI create-grant](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) otorga {{111122223333}} permisos al rol vinculado al servicio mencionado `AWSServiceRoleForPCS` en la cuenta para usar 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/pcs.amazonaws.com/AWSServiceRoleForPCS \
     --operations "Encrypt" "Decrypt" "ReEncryptFrom" "ReEncryptTo" "GenerateDataKey" "GenerateDataKeyWithoutPlaintext" "DescribeKey" "CreateGrant"
   ```
**nota**  
El usuario que realiza la solicitud debe tener permisos para usar la acción. `kms:CreateGrant` 

   El siguiente ejemplo de política de IAM permite que una identidad de IAM (usuario o rol) en la cuenta {{111122223333}} cree una concesión para la cuenta clave gestionada por el cliente. {{444455556666}}

------
#### [ JSON ]

****  

   ```
   {
     "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 acerca de cómo crear una concesión para una clave KMS en una Cuenta de AWS diferente, consulte [Concesiones en AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) en la*AWS 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 asegurarse de que permite a AWS PCS utilizar la clave de KMS especificada, no elimine ni vuelva a crear la función vinculada al servicio.

## Edite las políticas clave en la consola AWS KMS
<a name="eding-key-policies-console"></a>

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 Consola de administración de AWS predeterminada](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying.html#key-policy-modifying-how-to-console-default-view) en la *Guía para AWS Key Management Service desarrolladores*. 

**aviso**  
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 revocas una concesión que daba Cuenta de AWS acceso a una clave gestionada por el cliente en tu cuenta, los usuarios de esa cuenta Cuenta de AWS pierden el acceso a los datos cifrados y a la clave. 