Cifrado en reposo en ElastiCache - Amazon ElastiCache

Cifrado en reposo en ElastiCache

Para ayudar a mantener los datos protegidos, Amazon ElastiCache y Amazon S3 cuentan con diferentes formas que permiten restringir el acceso a los datos de la caché. Para obtener más información, consulte Seguridad de ElastiCache y Amazon VPC y Identity and Access Management para Amazon ElastiCache.

El cifrado en reposo de ElastiCache es una característica que permite aumentar la seguridad de la información al cifrar los datos del disco. Siempre está habilitada en una caché sin servidor. Si está habilitada, cifra los siguientes elementos:

  • Disco durante las operaciones de sincronización, copia de seguridad o intercambio

  • Copias de seguridad almacenadas en Amazon S3

Los datos almacenados en los SSD (unidades de estado sólido) en clústeres habilitados para la organización de datos en niveles siempre se cifran.

ElastiCache ofrece cifrado en reposo predeterminado (servicio administrado), así como capacidad para utilizar las propias claves de AWS KMS simétricas administradas por el cliente en AWS Key Management Service (KMS). Cuando se haga una copia de seguridad de la caché, elija, en las opciones de cifrado, si desea usar la clave de cifrado predeterminada o una clave administrada por el cliente. Para obtener más información, consulte Activación del cifrado en reposo.

nota

El cifrado predeterminado (administrado por el servicio) es la única opción disponible en las regiones de GovCloud (EE. UU.).

importante

Habilitar el cifrado en reposo en un clúster de Valkey o Redis OSS de autodiseño existente implica eliminar el grupo de replicación existente, después de ejecutar la copia de seguridad y la restauración en el grupo de replicación.

El cifrado en reposo solo se puede habilitar en una caché en el momento de su creación. Como se requiere cierto procesamiento para cifrar y descifrar los datos, habilitar el cifrado en reposo durante estas operaciones puede afectar al rendimiento. Debe comparar los datos con y sin cifrado en reposo para determinar el impacto en el rendimiento de los casos de uso.

Condiciones del cifrado en reposo

Cuando planee la implementación del cifrado en reposo de ElastiCache, debe tener en cuenta las siguientes limitaciones del cifrado en reposo de ElastiCache:

  • El cifrado en reposo es compatible con los grupos de replicación que ejecutan Valkey 7.2 y versiones posteriores y Redis OSS 4.0.10 o posteriores (para la versión 3.2.6 programada para EOL, consulte Programa de fin de vida útil de las versiones de Redis OSS).

  • El cifrado en reposo solo es compatible con los grupos de reproducción que se ejecutan en una Amazon VPC.

  • El cifrado en reposo solo se admite en los grupos de reproducción que ejecutan los siguientes tipos de nodos.

    • R6gd, R6g, R5, R4, R3

    • M6g, M5, M4, M3

    • T4g, T3, T2

    Para obtener más información, consulte Tipos de nodos compatibles.

  • El cifrado en reposo se habilita estableciendo explícitamente el parámetro AtRestEncryptionEnabled en true.

  • El cifrado en reposo solamente se puede habilitar en un grupo de reproducción en el momento de su creación. Por tanto, el cifrado en reposo no se puede habilitar y desactivar modificando un grupo de reproducción. Para obtener información acerca de la implementación del cifrado en reposo en un grupo de reproducción existente, consulte Activación del cifrado en reposo.

  • Si un clúster utiliza un tipo de nodo de la familia r6gd, los datos almacenados en SSD se cifran independientemente de si el cifrado en reposo está habilitado o no.

  • Además, la opción de utilizar la clave administrada por el cliente para el cifrado en reposo no se encuentra disponible en las regiones de AWS GovCloud (us-gov-east-1 y us-gov-west-1).

  • Si un clúster utiliza un tipo de nodo de la familia r6gd, los datos almacenados en SSD se cifran con la clave KMS de AWS elegida y administrada por el cliente (o cifrado administrado por servicios en Regiones de GovCloud de AWS).

  • Con Memcached, el cifrado en reposo solo se admite en las cachés sin servidor.

  • Al utilizar Memcached, la opción de utilizar la clave administrada por el cliente para el cifrado en reposo no se encuentra disponible en las regiones de AWS GovCloud (us-gov-east-1 y us-gov-west-1).

Implementar el cifrado en reposo puede reducir el rendimiento durante las operaciones de backup y sincronización de nodos. Compare sus datos con y sin cifrado en reposo para determinar el impacto en el rendimiento de la implementación.

Uso de claves administradas por el cliente desde AWS KMS

ElastiCache admite las claves de AWS KMS (clave de KMS) simétricas administradas por el cliente para el cifrado en reposo. Las claves de KMS administradas por el cliente son claves de cifrado que crea, posee y administra en la cuenta de AWS. Para obtener más información, consulte Claves de AWS KMS en la Guía para desarrolladores de AWS Key Management Service. Las claves deben crearse en AWS KMS para poder utilizarlas con ElastiCache.

Para obtener más información sobre la creación de claves maestras de AWS KMS, consulte Creación de claves en la Guía para desarrolladores de AWS Key Management Service.

ElastiCache permite la integración con AWS KMS. Para obtener más información, consulte Uso de concesiones en la Guía para desarrolladores de AWS Key Management Service. No se requieren acciones del cliente para habilitar la integración de Amazon ElastiCache con AWS KMS.

La clave de condición kms:ViaService limita el uso de una clave de AWS KMS (clave de KMS) en solicitudes de servicios de AWS específicos. Para utilizar kms:ViaService con ElastiCache, incluya ambos nombres de ViaService en el valor de clave de condición: elasticache.AWS_region.amazonaws.com y dax.AWS_region.amazonaws.com. Para obtener más información, consulte kms:ViaService.

Puede utilizar AWS CloudTrail para realizar un seguimiento de las solicitudes que Amazon ElastiCache envía a AWS Key Management Service en su nombre. Todas las llamadas a la API a AWS Key Management Service relacionadas con claves administradas por el cliente tienen los registros de CloudTrail correspondientes. También puede ver las concesiones que crea ElastiCache con la llamada a la llamada a la API de KMS ListGrants.

Una vez que se cifra un grupo de reproducción mediante la clave administrada por el cliente, todas las copias de seguridad para el grupo de reproducción se cifran de la siguiente manera:

  • Las copias de seguridad diarias automáticas se cifran mediante la clave administrada por el cliente asociada con el clúster.

  • La copia de seguridad final creada cuando se elimina el grupo de reproducción también se cifra mediante la clave administrada por el cliente asociada con el grupo de reproducción.

  • Las copias de seguridad creadas de forma manual se cifran de manera predeterminada para utilizar la clave de KMS asociada con el grupo de reproducción. Puede anular esto al elegir otra clave administrada por el cliente.

  • Al copiar una copia de seguridad se utiliza de forma predeterminada una clave administrada por el cliente asociada a la copia de seguridad de origen. Puede anular esto al elegir otra clave administrada por el cliente.

nota
  • Las claves administradas por el cliente no se pueden utilizar cuando se exportan copias de seguridad al bucket de Amazon S3 seleccionado. Sin embargo, todas las copias de seguridad exportadas a Amazon S3 se cifran mediante el cifrado del lado del servidor. Puede optar por copiar el archivo de copia de seguridad en un objeto de S3 nuevo y cifrarlo mediante una clave de KMS administrada por el cliente, copiar el archivo a otro bucket de S3 que se ha configurado con el cifrado predeterminado mediante una clave de KMS o cambiar una opción de cifrado en el propio archivo.

  • También puede utilizar claves administradas por el cliente a fin de cifrar copias de seguridad creadas de forma manual para grupos de reproducción que no utilicen claves administradas por el cliente para el cifrado. Con esta opción, el archivo de copia de seguridad almacenado en Amazon S3 se cifra mediante una clave de KMS, aunque los datos no se cifren en el grupo de reproducción original.

La restauración desde una copia de seguridad le permite elegir entre las opciones de cifrado disponibles, similares a las opciones de cifrado disponibles cuando se crea un nuevo grupo de reproducción.

  • Si elimina la clave o deshabilita la clave y revoca las concesiones para la clave que utilizó para cifrar una caché, esta se vuelve irrecuperable. En otras palabras, no se puede modificar ni recuperar después de un error de hardware. AWS KMS solo elimina las claves maestras después de un periodo de espera de al menos siete días. Después de eliminar la clave, puede utilizar una clave administrada por el cliente diferente para crear una copia de seguridad con fines de archivo.

  • La rotación automática de claves conserva las propiedades de las claves maestras de AWS KMS, por lo que la rotación no tiene efecto sobre la capacidad de acceder a los datos de ElastiCache. Las cachés de Amazon ElastiCache cifradas no admiten la rotación de claves manual, lo que implica la creación de una clave maestra nueva y la actualización de cualquier referencia a la clave antigua. Para obtener más información, consulte Rotación de claves de AWS KMS en la Guía para desarrolladores de AWS Key Management Service.

  • El cifrado de una caché de ElastiCache mediante la clave de KMS requiere una concesión por caché. Esa concesión se utiliza durante toda la vida útil de la caché. Además, se utiliza una concesión por copia de seguridad durante la creación de la copia de seguridad. Dicha concesión se retira una vez que se crea la copia de seguridad.

  • Para obtener más información sobre los límites y las concesiones de AWS KMS, consulte los Límites en la Guía para desarrolladores de AWS Key Management Service.

Activación del cifrado en reposo

Todas las cachés sin servidor tienen activado el cifrado en reposo.

Al crear un clúster de autodiseño, puede habilitar el cifrado en reposo configurando el parámetro AtRestEncryptionEnabled en true. No puede habilitar el cifrado en reposo en grupos de reproducción existentes.

Puede habilitar el cifrado en reposo al crear una caché de ElastiCache. Para ello, utilice la AWS Management Console, la AWS CLI o la API de ElastiCache.

Cuando cree una caché, puede elegir una de las siguientes opciones:

  • Default (Predeterminado): esta opción utiliza el cifrado administrado por el servicio en reposo.

  • Customer managed key (clave administrada por el cliente): esta opción permite proporcionar el ID/ARN de clave desde AWS KMS para el cifrado en reposo.

Para obtener más información sobre la creación de claves maestras de AWS KMS, consulte Crear claves en la Guía para desarrolladores de AWS Key Management Service.

El cifrado en reposo solamente se puede habilitar al crear un grupo de replicación de Valkey o Redis OSS. Si tiene un grupo de reproducción existente en el que desea habilitar el cifrado en reposo, haga lo siguiente.

Para habilitar el cifrado en reposo en un grupo de reproducción existente
  1. Cree un backup manual del grupo de reproducción existente. Para obtener más información, consulte Copias de seguridad manuales.

  2. Cree un nuevo grupo de reproducción a partir de este backup. En el nuevo grupo de reproducción, habilite el cifrado en reposo. Para obtener más información, consulte Restauración desde una copia de seguridad a una nueva caché.

  3. Actualice los puntos de enlace de la aplicación para que apunten al nuevo grupo de reproducción.

  4. Elimine el grupo de reproducción antiguo. Para obtener más información, consulte Eliminación de un clúster en ElastiCache o Eliminación de un grupo de reproducción.

Activación del cifrado en reposo a través de AWS Management Console

Todas las cachés sin servidor tienen activado el cifrado en reposo. La clave KMS propiedad de AWS se utiliza de manera predeterminada para cifrar los datos. Para elegir su propia clave AWS KMS, elija las siguientes opciones:

  • Amplíe la sección Configuración predeterminada.

  • Seleccione Personalizar la configuración predeterminada en la sección Configuración predeterminada.

  • Seleccione Personalice su configuración de seguridad en la sección Seguridad.

  • Elija CMK administrada por el cliente en Configuración de clave de cifrado.

  • Seleccione una clave en el ajuste Clave de AWS KMS.

Al diseñar su propia caché, las configuraciones de “desarrollo y prueba” y “producción” con el método “Creación sencilla” habilitan el cifrado en reposo mediante la clave Predeterminada. Al elegir la configuración, seleccione estas opciones:

  • Seleccione la versión 3.2.6, 4.0.10 o posterior como versión del motor.

  • Haga clic en la casilla de verificación situada junto a Habilitar en la opción Cifrado en reposo.

  • Elija una Clave predeterminada o una CMK administrada por el cliente.

Para ver el procedimiento paso por paso, consulte:

Activación del cifrado en reposo a través de AWS CLI

Para habilitar el cifrado en reposo al crear un clúster de Valkey o Redis OSS con la AWS CLI, utilice el parámetro --at-rest-encryption-enabled cuando cree el grupo de replicación.

La siguiente operación crea el grupo de replicación my-classic-rg de Valkey o Redis OSS (modo de clúster deshabilitado) con tres nodos (--num-cache-clusters), un nodo principal y dos réplicas de lectura. El cifrado en reposo está habilitado en este grupo de reproducción (--at-rest-encryption-enabled).

Los siguientes parámetros y sus valores son necesarios para habilitar el cifrado de este grupo de reproducción:

Parámetros clave
  • --engine: debe ser valkey o redis.

  • --engine-version: si el motor es Redis OSS, debe ser la versión 3.2.6, 4.0.10 o una posterior.

  • --at-rest-encryption-enabled: obligatorio para habilitar el cifrado en reposo.

ejemplo 1: clúster de Valkey o Redis OSS (modo de clúster deshabilitado) con réplicas

Para Linux, macOS o Unix:

aws elasticache create-replication-group \ --replication-group-id my-classic-rg \ --replication-group-description "3 node replication group" \ --cache-node-type cache.m4.large \ --engine redis \ --at-rest-encryption-enabled \ --num-cache-clusters 3

Para Windows:

aws elasticache create-replication-group ^ --replication-group-id my-classic-rg ^ --replication-group-description "3 node replication group" ^ --cache-node-type cache.m4.large ^ --engine redis ^ --at-rest-encryption-enabled ^ --num-cache-clusters 3 ^

Para obtener más información, consulte los siguientes temas:

 

La siguiente operación crea el grupo de replicación my-clustered-rg de Valkey o Redis OSS (modo de clúster habilitado) con tres grupos de nodos o particiones (--num-node-groups). Cada uno tiene tres nodos: uno principal y dos réplicas de lectura (--replicas-per-node-group). El cifrado en reposo está habilitado en este grupo de reproducción (--at-rest-encryption-enabled).

Los siguientes parámetros y sus valores son necesarios para habilitar el cifrado de este grupo de reproducción:

Parámetros clave
  • --engine: debe ser valkey o redis.

  • --engine-version: si el motor es Redis OSS, debe ser la versión 4.0.10 o una posterior.

  • --at-rest-encryption-enabled: obligatorio para habilitar el cifrado en reposo.

  • --cache-parameter-group: debe ser default-redis4.0.cluster.on o un valor derivado de este que lo convierta en un grupo de reproducción con el modo de clúster habilitado.

ejemplo 2: un clúster de Valkey o Redis OSS (modo de clúster habilitado)

Para Linux, macOS o Unix:

aws elasticache create-replication-group \ --replication-group-id my-clustered-rg \ --replication-group-description "redis clustered cluster" \ --cache-node-type cache.m3.large \ --num-node-groups 3 \ --replicas-per-node-group 2 \ --engine redis \ --engine-version 6.2 \ --at-rest-encryption-enabled \ --cache-parameter-group default.redis6.x.cluster.on

Para Windows:

aws elasticache create-replication-group ^ --replication-group-id my-clustered-rg ^ --replication-group-description "redis clustered cluster" ^ --cache-node-type cache.m3.large ^ --num-node-groups 3 ^ --replicas-per-node-group 2 ^ --engine redis ^ --engine-version 6.2 ^ --at-rest-encryption-enabled ^ --cache-parameter-group default.redis6.x.cluster.on

Para obtener más información, consulte los siguientes temas:

Véase también