Cifrado en reposo en Amazon SQS
El cifrado del servidor (SSE) le permite transferir información confidencial en colas cifradas. SSE protege el contenido de los mensajes en las colas mediante claves de cifrado administradas por SQS (SSE-SQS) o claves administradas en AWS Key Management Service (SSE-KMS). Para obtener información acerca de la administración de SSE mediante la Consola de administración de AWS, consulte lo siguiente:
Para obtener más información acerca de cómo administrar SSE mediante AWS SDK para Java (y las acciones CreateQueue, SetQueueAttributes y GetQueueAttributes), consulte los ejemplos siguientes:
SSE cifra los mensajes en cuanto Amazon SQS los recibe. Los mensajes se almacenan cifrados y Amazon SQS los descifra únicamente cuando se envían a un consumidor autorizado.
importante
Todas las solicitudes hechas a las colas con SSE habilitado deben usar HTTPS y Signature Version 4.
Una cola cifrada que usa la clave predeterminada (clave de KMS administrada por AWS para Amazon SQS) no puede invocar una función de Lambda en otra Cuenta de AWS.
Algunas características de los servicios de AWS que pueden enviar notificaciones a Amazon SQS mediante la acción AssumeRole de AWS Security Token Service son compatibles con SSE pero solo funcionan con colas estándar:
Para obtener información acerca de la compatibilidad de otros servicios con temas de cifrado, consulte Configurar permisos de KMS para servicios de AWS y la documentación de los servicios.
AWS KMS combina hardware y software seguros de alta disponibilidad para ofrecer un sistema de administración de claves adaptado a la nube. Cuando utiliza Amazon SQS con AWS KMS, las claves de datos que cifran los datos de los mensajes también se cifran y almacenan con los datos que protegen.
A continuación, se describen los beneficios de usar AWS KMS:
-
Puede crear y administrar AWS KMS keys usted mismo.
-
También puede utilizar la clave de KMS administrada por AWS para Amazon SQS, que son únicas para cada cuenta y región.
-
Los estándares de seguridad de AWS KMS pueden ayudarle a cumplir los requisitos de conformidad relacionados con el cifrado.
Para obtener más información, consulte ¿Qué es AWS Key Management Service? en la Guía para desarrolladores de AWS Key Management Service.
Ámbito de cifrado
SSE cifra el cuerpo de un mensaje en una cola de Amazon SQS.
SSE no cifra lo siguiente:
-
Metadatos de la cola (atributos y nombre de la cola)
-
Metadatos del mensaje (ID de mensaje, marca temporal y atributos)
-
Métricas por cola
El cifrado de un mensaje evita que usuarios no autorizados o anónimos obtengan acceso a su contenido. Con SSE activado, se rechazarán las solicitudes SendMessage y ReceiveMessage anónimas a la cola cifrada. Las prácticas recomendadas de seguridad de Amazon SQS desaconsejan utilizar solicitudes anónimas. Si desea enviar solicitudes anónimas a una cola de Amazon SQS, asegúrese de desactivar SSE. Esto no afecta al funcionamiento normal de Amazon SQS:
-
Un mensaje se cifra únicamente si se envía con posterioridad a la habilitación del cifrado de una cola. Amazon SQS no cifra mensajes atrasados.
-
Cualquier mensaje cifrado permanece en dicho estado aunque el cifrado de su cola esté deshabilitado.
Mover un mensaje a una cola de mensajes fallidos no afecta a su cifrado:
-
Cuando Amazon SQS mueve un mensaje de una cola de origen cifrada a una cola de mensajes fallidos sin cifrar, el mensaje permanece cifrado.
-
Cuando Amazon SQS mueve un mensaje de una cola de origen sin cifrar a una cola de mensajes fallidos cifrada, el mensaje permanece sin cifrar.
Términos clave
Los siguientes términos clave pueden ayudarle a comprender mejor la funcionalidad de SSE. Para obtener descripciones detalladas, consulte la Referencia de la API de Amazon Simple Queue Service.
- Clave de datos
-
La clave (DEK) es responsable de cifrar el contenido de los mensajes de Amazon SQS.
Para obtener más información, consulte Claves de datos en la Guía para desarrolladores de AWS Key Management Service en la Guía para desarrolladores de AWS Encryption SDK.
- Período de reutilización de la clave de datos
-
El período de tiempo, en segundos, durante el cual Amazon SQS puede reutilizar una clave de datos para cifrar o descifrar mensajes antes de llamar de nuevo a AWS KMS. Un entero que representa segundos, entre 60 segundos (1 minuto) y 86 400 segundos (24 horas). El valor predeterminado es 300 (5 minutos). Para obtener más información, consulte Descripción del período de reutilización de la clave de datos.
nota
En el caso poco probable de que no se pueda establecer conexión con AWS KMS, Amazon SQS seguirá utilizando la clave de datos almacenada en caché hasta que se restablezca la conexión.
- ID de clave de KMS
-
El alias, el ARN de alias, el ID de clave o el ARN de una clave de KMS administrada por AWS o una clave de KMS personalizada, ya sea de su cuenta o de otra cuenta. Aunque el alias de la clave de KMS administrada por AWS para Amazon SQS siempre es
alias/aws/sqs, el alias de una clave de KMS personalizada puede ser, por ejemplo,alias/. Puede utilizar estas claves de KMS para proteger los mensajes que se encuentran en las colas de Amazon SQS.MyAliasnota
Tenga en cuenta lo siguiente:
-
Si no especifica una clave de KMS personalizada, Amazon SQS utiliza la clave de KMS administrada por AWS para Amazon SQS.
-
La primera vez que use la Consola de administración de AWS con el fin de especificar la clave de KMS administrada por AWS para Amazon SQS para una cola, AWS KMS crea la clave de KMS administrada por AWS para Amazon SQS.
-
Como alternativa, la primera vez que utilice la acción
SendMessageoSendMessageBatchen una cola con SSE habilitado, AWS KMS crea la clave de KMS administrada por AWS para Amazon SQS.
Puede crear varias claves de KMS, definir las políticas que controlan cómo se pueden utilizar y auditar su uso en la sección Claves administradas por el cliente de la consola de AWS KMS o la acción
CreateKeyde AWS KMS. Para obtener más información, consulte Claves de KMS y Creación de claves en la Guía para desarrolladores de AWS Key Management Service. Para obtener más ejemplos de identificadores de clave de KMS, consulte KeyId en la Referencia de la API de AWS Key Management Service. Para obtener información sobre la búsqueda de identificadores de claves de KMS, consulte Encontrar el ID y el ARN de la clave en la Guía para desarrolladores de AWS Key Management Service.importante
La utilización de conlleva cargos adicionales AWS KMS. Para obtener más información, consulte Estimación de los costos de AWS KMS y Precios de AWS Key Management Service
. -
- Cifrado de sobre
-
La seguridad de los datos cifrados depende en parte de la protección de la clave de datos que permite descifrarlos. Amazon SQS utiliza la clave de KMS para cifrar la clave de datos y, a continuación, la clave de datos cifrada se almacena con el mensaje cifrado. Esta práctica de utilizar una clave de KMS para cifrar las claves de datos se denomina cifrado de sobre.
Para obtener más información, consulte Cifrado de envoltura en la Guía del desarrollador de AWS Encryption SDK.