

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.

# Activación del cifrado de datos en reposo de un clúster elástico de Amazon DocumentDB
<a name="elastic-encryption"></a>

Los siguientes temas le ayudan a obtener información sobre las claves de AWS Key Management Service cifrado para los clústeres elásticos de Amazon DocumentDB, así como a crearlas y supervisarlas:

**Topics**
+ [Cómo utilizan las subvenciones los clústeres elásticos de Amazon DocumentDB en AWS KMS](#ec-encrypt-grants)
+ [Creación de una clave administrada por el cliente](#ec-encrypt-create)
+ [Supervisión de las claves de cifrado de clústeres elásticos de Amazon DocumentDB](#ec-encrypt-monitor)
+ [Más información](#ec-encrypt-learn)

Los clústeres elásticos de Amazon DocumentDB se integran automáticamente con AWS Key Management Service (AWS KMS) para la administración de claves y utilizan un método conocido como cifrado de sobres para proteger sus datos. Para obtener más información acerca del cifrado de sobre, consulte [Cifrado de sobre](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#enveloping) en la *Guía para desarrolladores de AWS Key Management Service *.

An AWS KMS key es una representación lógica de una clave. La clave de KMS incluye metadatos, como el ID de clave, la fecha de creación, la descripción y el estado de la clave. La clave de KMS también contiene el material de claves utilizado para cifrar y descifrar datos. Para obtener más información acerca de las claves de KMS, consulte [AWS KMS keys](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#kms_keys) en la *Guía para desarrolladores de AWS Key Management Service *.

Los clústeres elásticos de Amazon DocumentDB admiten el cifrado con dos tipos de claves:
+ **AWS claves propias:** los clústeres elásticos de Amazon DocumentDB utilizan estas claves de forma predeterminada para cifrar automáticamente los datos de identificación personal. No puede ver, administrar ni usar claves AWS propias, ni auditar su uso. Sin embargo, no tiene que realizar ninguna acción ni cambiar ningún programa para proteger las claves que cifran sus datos. Para obtener más información, consulte las [claves propiedad de AWS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-owned-cmk) en la *Guía para desarrolladores de AWS Key Management Service *.
+ **Claves administradas por el cliente:** simétricas AWS KMS keys que usted crea, posee y administra. Como usted tiene el control total de este cifrado, puede realizar dichas tareas como:
  + Establecer y mantener políticas de claves
  + Establecer y mantener concesiones y políticas de IAM
  + Habilitar y deshabilitar políticas de claves
  + Rotar el material criptográfico
  + Adición de etiquetas de 
  + Crear alias de clave
  + Programar la eliminación de claves

  Para obtener más información, consulte las [claves administradas por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk) en la * Guía para desarrolladores de AWS Key Management Service *.

**importante**  
Debe utilizar una clave de cifrado de KMS simétrica para cifrar el clúster, ya que Amazon DocumentDB solo admite claves de cifrado de KMS de cifrado simétricas. No utilice una CMK asimétrica para intentar cifrar los datos de los clústeres elásticos de Amazon DocumentDB. Para obtener más información, consulte [claves asimétricas de AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html) en la *Guía para desarrolladores de AWS Key Management Service *.  
Si Amazon DocumentDB ya no puede obtener acceso a la clave de cifrado de un clúster, por ejemplo, cuando se revoca el acceso a una clave, el clúster cifrado entra en un estado terminal. En este caso, solo puede restaurar el clúster desde una copia de seguridad. Para Amazon DocumentDB, las copias de seguridad siempre están habilitadas durante 1 día. Además, si deshabilita la clave de un clúster cifrado de Amazon DocumentDB, eventualmente perderá el acceso de lectura y escritura a ese clúster. Cuando Amazon DocumentDB encuentra una instancia que está cifrada con una clave a la que no tiene acceso, pone el clúster en un estado terminal. En dicho estado, el clúster ya no está disponible y no es posible recuperar su estado actual. Para restaurar el clúster, debe volver a activar el acceso a la clave de cifrado para Amazon DocumentDB y después restaurar el clúster a partir de una copia de seguridad.

**importante**  
No puede cambiar la clave KMS de un clúster cifrado después de haberlo creado. Asegúrese de determinar los requisitos de clave de cifrado antes de crear el clúster elástico cifrado.

## Cómo utilizan las subvenciones los clústeres elásticos de Amazon DocumentDB en AWS KMS
<a name="ec-encrypt-grants"></a>

Los clústeres elásticos de Amazon DocumentDB requieren una [concesión](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) para utilizar la clave administrada por el cliente.

Cuando crea un clúster cifrado con una clave administrada por el cliente, los clústeres elásticos de Amazon DocumentDB crean una concesión en su nombre enviando una `CreateGrant` solicitud a. AWS KMS Las concesiones de entrada se AWS KMS utilizan para dar a los clústeres elásticos de Amazon DocumentDB acceso a una clave de KMS en una cuenta de cliente.

Los clústeres elásticos de Amazon DocumentDB necesitan la concesión para utilizar la clave administrada por el cliente para las siguientes operaciones internas:
+ Envíe `DescribeKey` solicitudes AWS KMS para comprobar que el identificador de clave KMS simétrico administrado por el cliente, introducido al crear un rastreador o una colección de geovallas, es válido.
+ Envíe `GenerateDataKey` solicitudes AWS KMS para generar claves de datos cifradas por su clave administrada por el cliente.
+ Envíe `Decrypt` solicitudes AWS KMS para descifrar las claves de datos cifradas para que puedan usarse para cifrar sus datos.
+ Puede revocar el acceso a la concesión o eliminar el acceso del servicio a la clave administrada por el cliente en cualquier momento. Si lo hace, los clústeres elásticos de Amazon DocumentDB no podrán acceder a ninguno de los datos cifrados por la clave administrada por el cliente, lo que afectará a las operaciones que dependen de esos datos.

## Creación de una clave administrada por el cliente
<a name="ec-encrypt-create"></a>

Puede crear una clave simétrica gestionada por el cliente mediante la API Consola de administración de AWS o la misma. AWS KMS 

**Creación de claves simétricas administradas por el cliente**

Siga los pasos para [crear una clave simétrica gestionada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html) que se indican en la *Guía para desarrolladores de AWS Key Management Service *.

**Política de claves**

Las políticas de clave controlan el acceso a la clave administrada por el cliente. Cada clave administrada por el cliente debe tener exactamente una política de clave, que contiene instrucciones que determinan quién puede usar la clave y cómo puede utilizarla. Cuando crea la clave administrada por el cliente, puede especificar una política de clave. Para obtener más información, consulte la información de acceso a la clave de KMS que se encuentra en la [descripción general de AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) de la *Guía para desarrolladores de AWS Key Management Service *.

Para utilizar la clave administrada por el cliente con los recursos de los clústeres elásticos de Amazon DocumentDB, se deben permitir las siguientes operaciones de API en la política de claves:
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateGrant.html): agrega una concesión a una clave administrada por el cliente. Otorga el acceso de control a una clave KMS específica, que permite acceder a las operaciones de concesión que requiere Amazon Location Service. Para obtener más información sobre las concesiones, consulte [Uso de concesiones AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/grants.html) en la *Guía para desarrolladores de AWS Key Management Service *.
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html): proporciona los detalles de la clave administrada por el cliente para permitir que Docdb Elastic valide la clave.
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_Decrypt.html): permite a Docdb Elastic utilizar la clave de datos cifrados almacenada para acceder a los datos cifrados.
+ [https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html](https://docs.aws.amazon.com/kms/latest/APIReference/API_GenerateDataKey.html): permite a Docdb Elastic generar una clave de datos cifrada y almacenarla, ya que la clave de datos no se utiliza inmediatamente para cifrar.

Para obtener más información, consulte [los permisos de los AWS servicios en las políticas clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-services.html) y la [Solución de problemas de acceso a las claves](https://docs.aws.amazon.com/kms/latest/developerguide/policy-evaluation.html) en la *Guía para AWS Key Management Service desarrolladores*.

**Restricción del acceso a las claves gestionadas por el cliente mediante políticas de IAM**

Además de las políticas clave de KMS, también puede restringir los permisos de clave de KMS en una política de IAM.

Puede hacer que la política de IAM sea más estricta de varias maneras. Por ejemplo, para permitir que la clave administrada por el cliente se utilice solo para solicitudes que se originen en clústeres elásticos de Amazon DocumentDB, puede utilizar la [`kms:ViaService`clave de condición](https://docs.aws.amazon.com/kms/latest/developerguide/policy-conditions.html#conditions-kms-via-service) con el valor `docdb-elastic.<region-name>.amazonaws.com`.

Para obtener más información, consulte [Cómo permitir a los usuarios de otras cuentas utilizar una clave de KMS](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-modifying-external-accounts.html) en la *Guía para desarrolladores de AWS Key Management Service *.

## Supervisión de las claves de cifrado de clústeres elásticos de Amazon DocumentDB
<a name="ec-encrypt-monitor"></a>

Cuando utilizas una clave gestionada por el AWS KMS key cliente con tus recursos de Docdb Elastic, puedes usar AWS CloudTrail Amazon CloudWatch Logs para realizar un seguimiento de las solicitudes a las que Docdb Elastic envía. AWS KMS

Los siguientes ejemplos son AWS CloudTrail eventos para `CreateGrant` `GenerateDataKeyWithoutPlainText``Decrypt`, y `DescribeKey` para monitorear AWS KMS key las operaciones llamadas por los clústeres elásticos de Amazon DocumentDB para acceder a los datos cifrados por la clave administrada por el cliente:

------
#### [ CreateGrant ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-09T23:04:20Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-09T23:55:48Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "CreateGrant",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "retiringPrincipal": "docdb-elastic.us-east-1.amazonaws.com",
        "granteePrincipal": "docdb-elastic.us-east-1.amazonaws.com",
        "operations": [
            "Decrypt",
            "Encrypt",
            "GenerateDataKey",
            "GenerateDataKeyWithoutPlaintext",
            "ReEncryptFrom",
            "ReEncryptTo",
            "CreateGrant",
            "RetireGrant",
            "DescribeKey"
        ],
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": {
        "grantId": "0ab0ac0d0b000f00ea00cc0a0e00fc00bce000c000f0000000c0bc0a0000aaafSAMPLE",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": false,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ GenerateDataKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-10T18:02:59Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-10T18:03:25Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "GenerateDataKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "keySpec": "AES_256",
        "keyId": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ Decrypt ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-10T18:05:49Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-10T18:06:19Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "Decrypt",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "encryptionAlgorithm": "SYMMETRIC_DEFAULT"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------
#### [ DescribeKey ]

```
{
    "eventVersion": "1.08",
    "userIdentity": {
        "type": "AssumedRole",
        "principalId": "AROAIGDTESTANDEXAMPLE:Sampleuser01",
        "arn": "arn:aws:sts::111122223333:assumed-role/Admin/Sampleuser01",
        "accountId": "111122223333",
        "accessKeyId": "AKIAIOSFODNN7EXAMPLE3",
        "sessionContext": {
            "sessionIssuer": {
                "type": "Role",
                "principalId": "AROAIGDTESTANDEXAMPLE",
                "arn": "arn:aws:iam::111122223333:assumed-role/Admin/Sampleuser01",
                "accountId": "111122223333",
                "userName": "Sampleuser01"
            },
            "webIdFederationData": {},
            "attributes": {
                "creationDate": "2023-05-09T23:04:20Z",
                "mfaAuthenticated": "false"
            }
        },
        "invokedBy": "docdb-elastic.amazonaws.com"
    },
    "eventTime": "2023-05-09T23:55:48Z",
    "eventSource": "kms.amazonaws.com",
    "eventName": "DescribeKey",
    "awsRegion": "us-east-1",
    "sourceIPAddress": "docdb-elastic.amazonaws.com",
    "userAgent": "docdb-elastic.amazonaws.com",
    "requestParameters": {
        "keyId": "alias/SampleKmsKey"
    },
    "responseElements": null,
    "requestID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "eventID": "ff000af-00eb-00ce-0e00-ea000fb0fba0SAMPLE",
    "readOnly": true,
    "resources": [
        {
            "accountId": "AWS Internal",
            "type": "AWS::KMS::Key",
            "ARN": "arn:aws:kms:us-east-1:111122223333:key/1234abcd-12ab-34cd-56ef-123456SAMPLE"
        }
    ],
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "111122223333",
    "eventCategory": "Management"
}
```

------

## Más información
<a name="ec-encrypt-learn"></a>

Los siguientes recursos proporcionan más información sobre cifrado de datos en reposo:
+ Para obtener más información sobre AWS KMS los conceptos, consulte [los conceptos AWS Key Management Service básicos](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html) en la *Guía para AWS Key Management Service desarrolladores*.
+ Para obtener más información sobre AWS KMS la seguridad, consulte [las prácticas recomendadas de seguridad AWS Key Management Service en la Guía para AWS Key Management Service](https://docs.aws.amazon.com/kms/latest/developerguide/best-practices.html) *desarrolladores*.