

# Administración de tablas de cifrado en DynamoDB
<a name="encryption.tutorial"></a>

Puede usar la Consola de administración de AWS o la AWS Command Line Interface (AWS CLI) para especificar la clave de cifrado en las tablas nuevas y actualizar las claves de cifrado de las tablas existentes en Amazon DynamoDB.

**Topics**
+ [Especificación de la clave de cifrado para una tabla nueva](#encryption.tutorial-creating)
+ [Configuración de una clave de cifrado](#encryption.tutorial-update)

## Especificación de la clave de cifrado para una tabla nueva
<a name="encryption.tutorial-creating"></a>

Siga estos pasos para especificar la clave de cifrado en una tabla nueva mediante la consola de Amazon DynamoDB o la AWS CLI.

### Creación de una tabla cifrada (consola)
<a name="encryption.tutorial-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de DynamoDB en [https://console.aws.amazon.com/dynamodb](https://console.aws.amazon.com/dynamodb/).

1.  En el panel de navegación del lado izquierdo de la consola, elija **Tablas**.

1. Seleccione **Create Table (Crear tabla)**. En **Nombre de la tabla**, escriba **Music**. Como clave principal, introduzca **Artist** y como clave de ordenación, introduzca **SongTitle**, ambas como cadenas.

1. En **Settings** (Ajustes), asegúrese de que **Customize settings** (Personalizar ajustes) esté seleccionado.
**nota**  
Si selecciona **Use default settings** (Usar configuración predeterminada), las tablas se cifrarán en reposo con la Clave propiedad de AWS sin costo adicional.

1. En **Encryption at rest** (Cifrado en reposo), elija un tipo de cifrado: Clave propiedad de AWS, Clave administrada de AWS o una clave administrada por el cliente.
   +  **Owned by Amazon DynamoDB** (Propiedad de Amazon DynamoDB). Clave propiedad de AWS, propiedad y administrada específicamente por DynamoDB. No se cobrará ningún cargo adicional por el uso de esta clave.
   + **AWS Clave administrada por**. Alias de clave: `aws/dynamodb`. La clave se almacena en su cuenta y la administra AWS Key Management Service (AWS KMS). Se aplican los cargos de AWS KMS.
   +  **Además de estar almacenada en su cuenta, es de su propiedad y está administrada por usted.** Clave administrada por clientes. La clave se almacena en su cuenta y la administra AWS Key Management Service (AWS KMS). Se aplican los cargos de AWS KMS.
**nota**  
Si decide ser propietario y administrar su propia clave, asegúrese de que la política de claves KMS esté configurada correctamente. Para obtener más información, incluidos ejemplos, consulte [Política de claves para una clave administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

1. Elija **Create table** (Crear tabla) para crear la tabla cifrada. Para confirmar el tipo de cifrado, seleccione los detalles de la tabla en la pestaña **Overview** (Resumen) y revise la sección **Additional details** (Detalles adicionales).

### Creación de una tabla cifrada (AWS CLI)
<a name="encryption.tutorial-cli"></a>

Utilice la AWS CLI para crear una tabla con la Clave propiedad de AWS predeterminada, la Clave administrada de AWS o una clave administrada por el cliente para Amazon DynamoDB.

**Para crear una tabla cifrada mediante la predeterminada Clave propiedad de AWS**
+ Cree la tabla cifrada `Music` como sigue:

  ```
  aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5
  ```
**nota**  
Esta tabla está ahora cifrada utilizando la Clave propiedad de AWS predeterminada en la cuenta del servicio DynamoDB.

**Creación de una tabla cifrada mediante la Clave administrada de AWS para DynamoDB**
+ Cree la tabla cifrada `Music` como sigue:

  ```
  aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5 \
    --sse-specification Enabled=true,SSEType=KMS
  ```

   El estado `SSEDescription` de la descripción de la tabla se establece en `ENABLED` y `SSEType` es `KMS`. 

  ```
  "SSEDescription": {
    "SSEType": "KMS",
    "Status": "ENABLED",
    "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234",
  }
  ```

**Creación de una tabla cifrada mediante la clave administrada por el cliente para DynamoDB**
+ Cree la tabla cifrada `Music` como sigue:

  ```
  aws dynamodb create-table \
    --table-name Music \
    --attribute-definitions \
        AttributeName=Artist,AttributeType=S \
        AttributeName=SongTitle,AttributeType=S \
    --key-schema \
        AttributeName=Artist,KeyType=HASH \
        AttributeName=SongTitle,KeyType=RANGE \
    --provisioned-throughput \
        ReadCapacityUnits=10,WriteCapacityUnits=5 \
    --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
  ```
**nota**  
Para el `KMSMasterKeyId`, puede utilizar un ID de clave, un ARN de clave o un alias de clave. Si utiliza un alias de clave (por ejemplo, `alias/my-key`), DynamoDB resuelve el alias y asocia la clave de AWS KMS subyacente a la tabla. En la descripción de la tabla, el `KMSMasterKeyArn` siempre mostrará el ARN de la clave resuelta, no el alias. Para obtener más información sobre los identificadores clave, consulte [Identificadores de clave (KeyId)](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#key-id) en la *Guía para desarrolladores de AWS Key Management Service*.

   El estado `SSEDescription` de la descripción de la tabla se establece en `ENABLED` y `SSEType` es `KMS`.

  ```
  "SSEDescription": {
    "SSEType": "KMS",
    "Status": "ENABLED",
    "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234",
  }
  ```

## Configuración de una clave de cifrado
<a name="encryption.tutorial-update"></a>

También puede usar la consola de DynamoDB o la AWS CLI para actualizar las claves de cifrado de una tabla existente entre una Clave propiedad de AWS, una Clave administrada de AWS y una clave administrada por el cliente en cualquier momento.

### Actualización de una clave de cifrado (consola)
<a name="encryption.tutorial-update-console"></a>

1. Inicie sesión en la Consola de administración de AWS y abra la consola de DynamoDB en [https://console.aws.amazon.com/dynamodb](https://console.aws.amazon.com/dynamodb/).

1.  En el panel de navegación del lado izquierdo de la consola, elija **Tablas**.

1. Elija la tabla que desea actualizar.

1. Seleccione el menú desplegable **Actions** (Acciones) y, a continuación, seleccione la opción **Update settings** (Actualizar ajustes).

1. Vaya a la pestaña **Additional settings** (Ajustes adicionales).

1. En **Encryption** (Cifrado), elija **Manage encryption** (Administración del cifrado).

1. Elija un tipo de cifrado:
   +  **Propiedad de Amazon DynamoDB.** La clave AWS KMS es propiedad de DynamoDB y este servicio se encarga de su administración. No se cobrará ningún cargo adicional por el uso de esta clave.
   + **Clave administrada de AWS** Alias de clave: `aws/dynamodb`. La clave se almacena en su cuenta y la administra AWS Key Management Service. (AWS KMS). Se aplican los cargos de AWS KMS.
   +  **Además de estar almacenada en su cuenta, es de su propiedad y está administrada por usted.** La clave se almacena en su cuenta y la administra AWS Key Management Service. (AWS KMS). Se aplican los cargos de AWS KMS.
**nota**  
Si decide ser propietario y administrar su propia clave, asegúrese de que la política de claves KMS esté configurada correctamente. Para obtener más información, consulte [Política de claves para una clave administrada por el cliente](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#customer-cmk).

   A continuación, elija **Save (Guardar)** para actualizar la tabla cifrada. Para confirmar el tipo de cifrado, verifique los detalles de la tabla en la pestaña **Overview (Información general)**.

### Actualización de una clave de cifrado (AWS CLI)
<a name="encryption.tutorial-update-cli"></a>

Los siguientes ejemplos muestran cómo actualizar una tabla cifrada con la AWS CLI.

**Actualización de una tabla cifrada mediante la predeterminada Clave propiedad de AWS**
+ Actualice la tabla cifrada `Music`, como en el siguiente ejemplo.

  ```
  aws dynamodb update-table \
    --table-name Music \
    --sse-specification Enabled=false
  ```
**nota**  
Esta tabla está ahora cifrada utilizando la Clave propiedad de AWS predeterminada en la cuenta del servicio DynamoDB.

**Actualización de una tabla cifrada mediante la Clave administrada de AWS para DynamoDB**
+ Actualice la tabla cifrada `Music`, como en el siguiente ejemplo.

  ```
  aws dynamodb update-table \
    --table-name Music \
    --sse-specification Enabled=true
  ```

   El estado `SSEDescription` de la descripción de la tabla se establece en `ENABLED` y `SSEType` es `KMS`.

  ```
  "SSEDescription": {
    "SSEType": "KMS",
    "Status": "ENABLED",
    "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234",
  }
  ```

**Actualización de una tabla cifrada con una clave administrada por el cliente para DynamoDB**
+ Actualice la tabla cifrada `Music`, como en el siguiente ejemplo.

  ```
  aws dynamodb update-table \
    --table-name Music \
    --sse-specification Enabled=true,SSEType=KMS,KMSMasterKeyId=abcd1234-abcd-1234-a123-ab1234a1b234
  ```
**nota**  
Para el `KMSMasterKeyId`, puede utilizar un ID de clave, un ARN de clave o un alias de clave. Si utiliza un alias de clave (por ejemplo, `alias/my-key`), DynamoDB resuelve el alias y asocia la clave de AWS KMS subyacente a la tabla. En la descripción de la tabla, el `KMSMasterKeyArn` siempre mostrará el ARN de la clave resuelta, no el alias.

   El estado `SSEDescription` de la descripción de la tabla se establece en `ENABLED` y `SSEType` es `KMS`. 

  ```
  "SSEDescription": {
    "SSEType": "KMS",
    "Status": "ENABLED",
    "KMSMasterKeyArn": "arn:aws:kms:us-east-1:123456789012:key/abcd1234-abcd-1234-a123-ab1234a1b234",
  }
  ```