

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.

# Configuración del cifrado de temas de Amazon SNS con una suscripción a una cola cifrada de Amazon SQS
<a name="sns-enable-encryption-for-topic-sqs-queue-subscriptions"></a>

Puede habilitar el cifrado del lado del servidor (SSE) para un tema con el fin de proteger sus datos. Para permitir que Amazon SNS envíe mensajes a colas de Amazon SQS cifradas, la clave administrada por el cliente asociada a la cola de Amazon SQS debe tener una instrucción de política que conceda a la entidad principal de servicio de Amazon SNS acceso a las acciones de la API de AWS KMS `GenerateDataKey` y `Decrypt`. Para obtener más información acerca del uso de SSE, consulte [Protección de los datos de Amazon SNS con cifrado del servidor](sns-server-side-encryption.md).

En este tema, se explica cómo habilitar SSE para un tema de Amazon SNS con una suscripción a una cola de Amazon SQS cifrada mediante la Consola de administración de AWS.

## Paso 1: crear una clave de KMS personalizada
<a name="create-custom-cmk"></a>

1. Inicie sesión en la [consola de AWS KMS](https://console.aws.amazon.com/kms/) con un usuario que tenga al menos la política `AWSKeyManagementServicePowerUser`.

1. Elija **Create a key (Crear clave)**.

1. Para crear una clave KMS de cifrado simétrica, para **Key type (Tipo de clave)** seleccione **Symmetric (Simétrica)**.

   Para obtener información acerca de cómo crear una clave de KMS asimétrica en la consola de AWS KMS , consulte [Creación de claves de KMS asimétricas (consola)](https://docs.aws.amazon.com/kms/latest/developerguide/asymm-create-key.html#create-asymmetric-keys-console).

1. En **Key usage** (Uso de claves), se selecciona la opción **Encrypt and decrypt** (Cifrar y descifrar) para usted.

   Para obtener información acerca de cómo crear claves de KMS que generan y verifican códigos MAC, consulte [Creación de claves de KMS HMAC](https://docs.aws.amazon.com/kms/latest/developerguide/hmac-create-key.html).

   Para obtener más información acerca de las **Opciones avanzadas**, consulte [Claves para fines especiales](https://docs.aws.amazon.com/kms/latest/developerguide/key-types.html).

1. Elija **Siguiente**.

1. Escriba un alias para la clave KMS. El nombre del alias no puede empezar por **aws/**. Amazon Web Services se reserva el **aws/** prefijo para representarlo Claves administradas por AWS en su cuenta.
**nota**  
Agregar, eliminar o actualizar un alias puede permitir o denegar el permiso a la clave KMS. Para obtener más información, consulte [ABAC para AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) y [Uso de alias para controlar el acceso a las claves de KMS](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#hmac-key-concept).

   Un alias es un nombre de visualización que puede usar para identificar a una clave KMS. Le recomendamos que elija un alias que indique el tipo de datos que piensa proteger o la aplicación que piensa usar con la clave KMS.

   Los alias son necesarios para crear una clave KMS en la Consola de administración de AWS. Son opcionales cuando se utiliza la [CreateKey](https://docs.aws.amazon.com/kms/latest/APIReference/API_CreateKey.html)operación.

1. (Opcional) Escriba una descripción de la clave KMS.

   Puede agregar una descripción ahora o actualizarla en cualquier momento, a menos que el [estado de la clave](https://docs.aws.amazon.com/kms/latest/developerguide/key-state.html) sea `Pending Deletion` o `Pending Replica Deletion`. Para añadir, cambiar o eliminar la descripción de una clave gestionada por el cliente existente, [edite la descripción](https://docs.aws.amazon.com/kms/latest/developerguide/editing-keys.html) en la operación Consola de administración de AWS o utilice la [UpdateKeyDescription](https://docs.aws.amazon.com/kms/latest/APIReference/API_UpdateKeyDescription.html)operación.

1. (Opcional) Escriba una clave de etiqueta y un valor de etiqueta opcional. Para agregar más de una etiqueta a la clave KMS, elija **Add tag** (Agregar etiqueta).
**nota**  
Etiquetar o quitar las etiquetas de la clave KMS puede permitir o denegar permiso a la clave KMS. Para obtener más información, consulte [ABAC para AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html) y [Uso de etiquetas para controlar el acceso a las claves de KMS](https://docs.aws.amazon.com/kms/latest/developerguide/tag-authorization.html).

   Al añadir etiquetas a AWS los recursos, AWS genera un informe de asignación de costes con el uso y los costes agregados por etiquetas. Las etiquetas también pueden utilizarse para controlar el acceso a una clave KMS. Para obtener información acerca del etiquetado de claves de KMS, consulte [Etiquetado de claves](https://docs.aws.amazon.com/kms/latest/developerguide/tagging-keys.html) y [ABAC para AWS KMS](https://docs.aws.amazon.com/kms/latest/developerguide/abac.html).

1. Elija **Siguiente**.

1. Seleccione los usuarios y roles de IAM que pueden administrar la clave de KMS.
**nota**  
Esta política clave proporciona el control Cuenta de AWS total de esta clave de KMS. Permite a los administradores de cuentas utilizar las políticas de IAM para dar permiso a otras entidades principales para administrar la clave KMS. Para obtener más detalles, consulte [Política de claves predeterminada](https://docs.aws.amazon.com/kms/latest/developerguide/key-policy-default.html).  
   
Las prácticas recomendadas de IAM desalientan el uso de usuarios de IAM con credenciales a largo plazo. Siempre que sea posible, utilice los roles de IAM, que proporcionan credenciales temporales. Para obtener más información, consulte [Prácticas recomendadas de seguridad de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html) en la Guía del usuario de IAM.

1. (Opcional) Para evitar que los usuarios y los roles de IAM seleccionados eliminen esta clave de KMS, en la sección **Eliminación de claves** situada en la parte inferior de la página, desactive la casilla **Permitir que los administradores de claves eliminen esta clave**.

1. Elija **Siguiente**.

1. Seleccione los usuarios y roles de IAM que pueden usar la clave en [operaciones criptográficas](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#cryptographic-operations). Elija **Siguiente**.

1. En la página **Review and edit key policy (Revisar y editar política de claves)**, agregue la instrucción siguiente a la política de claves y, a continuación, elija **Finish (Finalizar)**.

   ```
   {
       "Sid": "Allow Amazon SNS to use this key",
       "Effect": "Allow",
       "Principal": {
           "Service": "sns.amazonaws.com"
       },
       "Action": [
           "kms:Decrypt",
           "kms:GenerateDataKey*"
       ],
       "Resource": "*"
   }
   ```

La nueva clave administrada por el cliente aparece en la lista de claves.

## Paso 2: crear un tema de Amazon SNS cifrado
<a name="create-encrypted-topic"></a>

1. Inicie sesión en la [consola de Amazon SNS](https://console.aws.amazon.com/sns/home).

1. En el panel de navegación, elija **Temas**.

1. Seleccione **Crear tema**.

1. En la página **Create new topic (Crear nuevo tema)**, en **Name (Nombre)**, escriba un nombre para el tema (por ejemplo, `MyEncryptedTopic`) y, a continuación, elija **Create topic (Crear tema)**.

1. Expanda la sección **Cifrado** y haga lo siguiente: 

   1. Elija **Enable server-side encryption (Habilitar cifrado del lado del servidor)**.

   1. Especifique la clave administrada por el cliente. Para obtener más información, consulte [Términos clave](sns-server-side-encryption.md#sse-key-terms).

      Para cada tipo de clave administrada por el cliente, se muestran la **Descripción**, la **Cuenta** y el **ARN** de la clave administrada por el cliente.
**importante**  
Si no es el propietario de la clave administrada por el cliente o si ha iniciado sesión con una cuenta que no tiene los permisos `kms:ListAliases` y `kms:DescribeKey`, no podrá ver la información sobre la clave administrada por el cliente en la consola de Amazon SNS.  
Pida al propietario de la clave administrada por el cliente que le conceda estos permisos. Para obtener más información, consulte [Permisos API de AWS KMS : referencia de recursos y acciones](https://docs.aws.amazon.com/kms/latest/developerguide/kms-api-permissions-reference.html) en la *Guía para desarrolladores de AWS Key Management Service *.

   1. **Para la **clave administrada por el cliente**, elija la **MyCustomKey**[que creó anteriormente y, a continuación, elija](#create-custom-cmk) Habilitar el cifrado del lado del servidor.**

1. Seleccione **Save changes (Guardar cambios)**.

   El SSE está activado para el tema y se muestra la **MyTopic**página.

   El estado **Cifrado** del tema, la **Cuenta** de AWS , la **clave administrada por el cliente**, el **ARN** de la clave administrada por el cliente y la **Descripción** del tema se muestran en la pestaña **Cifrado**.

El nuevo tema cifrado aparecerá en la lista de temas.

## Paso 3: crear colas de Amazon SQS cifradas y suscribirse a ellas
<a name="create-encrypted-queue"></a>

1. Inicie sesión en la [consola de Amazon SQS](https://console.aws.amazon.com/sqs/).

1. Elija **Create New Queue (Crear nueva cola)**.

1. En la página **Create New Queue (Crear nueva cola)**, haga lo siguiente:

   1. Escriba un nombre en **Queue Name (Nombre de cola)** (por ejemplo, `MyEncryptedQueue1`).

   1. Seleccione **Standard Queue (Cola estándar)** y, a continuación, elija **Configure Queue (Configurar cola)**.

   1. Elija **Use SSE (Usar SSE)**.

   1. Para **AWS KMS key**ello, elija **MyCustomKey**[el que creó anteriormente](#create-custom-cmk) y, a continuación, elija **Crear cola**.

1. Repita el proceso para crear una segunda cola (por ejemplo, denominada `MyEncryptedQueue2`).

   Las nuevas colas cifradas aparecerán en la lista de colas.

1. En la consola de Amazon SQS, seleccione `MyEncryptedQueue1` y `MyEncryptedQueue2`. A continuación, elija **Acciones de colas**, **Suscribir colas al tema de SNS**.

1. En el cuadro de diálogo **Suscribirse a un tema**, en **Elegir un tema**, seleccione y **MyEncryptedTopic**, a continuación, elija **Suscribirse**.

   Las suscripciones de las colas cifradas al tema cifrado se muestran en el cuadro de diálogo **Topic Subscription Result (Resultado de suscripción al tema)**.

1. Seleccione **Aceptar**.

## Paso 4: publicar un mensaje en el tema cifrado
<a name="publish-to-encrypted-topic"></a>

1. Inicie sesión en la [consola de Amazon SNS](https://console.aws.amazon.com/sns/home).

1. En el panel de navegación, elija **Temas**.

1. En la lista de temas, selecciona **MyEncryptedTopic**y, a continuación, selecciona **Publicar mensaje**.

1. En la página **Publish a message (Publicar mensaje)** haga lo siguiente:

   1. (Opcional) En la sección **Message details (Detalles del mensaje)**, introduzca el **Subject (Asunto)** (por ejemplo, `Testing message publishing`).

   1. En la sección **Message body (Cuerpo del mensaje)**, introduzca el cuerpo del mensaje (por ejemplo, `My message body is encrypted at rest.`).

   1. Elija **Publish message (Publicar mensaje)**.

El mensaje se publica en las colas cifradas suscritas.

## Paso 5: verificar la entrega de mensajes
<a name="verify-message-delivery"></a>

1. Inicie sesión en la [consola de Amazon SQS](https://console.aws.amazon.com/sqs/).

1. En la lista de colas, selecciona **MyEncryptedQueue1** y, a continuación, selecciona **Enviar y recibir mensajes**.

1. En la página **Enviar y recibir mensajes en MyEncryptedQueue 1**, selecciona **Buscar mensajes**.

   Aparecerá el mensaje [que envió antes](#publish-to-encrypted-topic).

1. Elija **More Details (Más información)** para ver el mensaje.

1. Cuando haya finalizado, elija **Close (Cerrar)**.

1. Repite el proceso para **MyEncryptedQueue2**.