En esta página se describe cómo funcionan las claves de cifrado gestionadas por el cliente (CMEK) con Memorystore para Redis. Para empezar a usar esta función, consulta Usar claves de cifrado gestionadas por el cliente (CMEK).
De forma predeterminada, Memorystore para Redis cifra el contenido del cliente en reposo. Memorystore para Redis gestiona el cifrado por ti sin que tengas que hacer nada más. Esta opción se llama Cifrado predeterminado de Google.
Si quieres controlar tus claves de cifrado, puedes usar claves de cifrado gestionadas por el cliente (CMEKs) en Cloud KMS con servicios integrados con CMEKs, como Memorystore para Redis. Si usas claves de Cloud KMS, tendrás control sobre su nivel de protección, ubicación, calendario de rotación, permisos de uso y acceso, y límites criptográficos. Además, Cloud KMS te permite ver los registros de auditoría y controlar los ciclos de vida de las claves. En lugar de que Google sea el propietario y gestione las claves de cifrado de claves (KEKs) simétricas que protegen tus datos, tú controlas y gestionas estas claves en Cloud KMS.
Una vez que hayas configurado tus recursos con CMEKs, la experiencia de acceso a tus recursos de Memorystore para Redis será similar a la de usar el cifrado predeterminado de Google. Para obtener más información sobre las opciones de encriptado, consulta el artículo Claves de encriptado gestionadas por el cliente (CMEK).
¿Quién debería usar las CMEK?
Las CMEK están pensadas para organizaciones que tienen datos sensibles o regulados que deben cifrarse. Para obtener más información sobre si debes usar CMEK para cifrar estos datos, consulta Decidir si usar CMEK.
Cifrado gestionado por Google frente a cifrado gestionado por el cliente
La función de CMEK te permite usar tus propias claves criptográficas en los datos en reposo de Memorystore para Redis. En las instancias de Memorystore para Redis habilitadas para CMEK, Google usa tus claves para acceder a todos los datos en reposo.
Memorystore usa claves de cifrado de datos (DEK) y claves de cifrado de claves (KEK) gestionadas por Google para cifrar datos en Memorystore para Redis. Hay dos niveles de cifrado:
- Cifrado con DEK: Memorystore usa DEKs para cifrar datos en Memorystore para Redis.
- Cifrado con KEK: Memorystore usa KEKs para cifrar DEKs.
La instancia de Memorystore para Redis almacena la DEK cifrada junto con los datos cifrados en el disco persistente, y Google gestiona la KEK de Google. La CMEK es la KEK que encapsula la DEK. Las CMEK te permiten crear, inhabilitar o destruir, y habilitar o restaurar la KEK.
Puedes gestionar las CMEK con la API de Cloud Key Management Service.
En los siguientes diagramas se muestra cómo funciona el cifrado de datos en reposo en una instancia de Memorystore para Redis cuando se usa el cifrado predeterminado gestionado por Google en comparación con CMEK.
Sin CMEK
Con CMEK
Al desencriptar datos encapsulados con CMEK, Memorystore usa la KEK de Cloud Key Management Service para desencriptar la DEK y la DEK sin encriptar para desencriptar los datos en reposo.

Precios
Memorystore para Redis factura una instancia habilitada para CMEK igual que cualquier otra instancia. No hay costes adicionales. Para obtener más información, consulta los precios de Memorystore para Redis.
Para gestionar las CMEK, se usa la API de Cloud KMS. Cuando creas una instancia de Memorystore para Redis con CMEK, Memorystore usa la clave periódicamente para cifrar los datos.
Cloud KMS te factura el coste de la clave y las operaciones de cifrado y descifrado cuando Memorystore para Redis usa la clave. Para obtener más información, consulta los precios de Cloud KMS.
¿Cuándo interactúa Memorystore con CMEK?
| Operación | Descripción |
|---|---|
| Creación de instancia | Cuando creas una instancia, la configuras para que use CMEK. |
| Actualización de la instancia | Durante las actualizaciones de una instancia con CMEK habilitada, Memorystore para Redis comprueba la CMEK. |
¿Qué datos se cifran con la CMEK?
La CMEK cifra los siguientes tipos de datos:
- Datos de clientes almacenados en almacenamiento persistente.
- Metadatos relacionados con funciones de seguridad, como AUTH y el cifrado en tránsito.
Información sobre las cuentas de servicio
Cuando creas una instancia con CMEK, debes asignar el rol cloudkms.cryptoKeyEncrypterDecrypter a la cuenta de servicio de Memorystore para Redis, que tiene el siguiente formato:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Si se concede este permiso, la cuenta de servicio podrá solicitar acceso a las claves de Cloud KMS.
Para obtener instrucciones sobre cómo conceder este permiso a la cuenta de servicio, consulta Conceder acceso a la clave a la cuenta de servicio de Memorystore para Redis.
Acerca de las claves
En Cloud KMS, debes crear un conjunto de claves con una clave criptográfica que utilice un algoritmo de cifrado simétrico. Cuando creas una instancia de Memorystore para Redis, seleccionas esta clave para cifrar la instancia. Puedes crear un proyecto para tus claves e instancias, o bien proyectos diferentes para cada uno de ellos.
CMEK está disponible en todas las ubicaciones de instancias de Memorystore para Redis. Debes crear el conjunto de claves y la clave en la misma región en la que quieras crear la instancia. No funciona una clave de una región multirregional o global. Si las regiones o las ubicaciones no coinciden, no se podrá crear la instancia.
Para el ID de recurso de la clave, CMEK usa el siguiente formato:
projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Si Memorystore para Redis no puede acceder a ninguna versión de la clave que se esté usando (por ejemplo, si inhabilitas todas las versiones de la clave), Memorystore para Redis cerrará la instancia. En la consola Google Cloud , una instancia suspendida muestra una descripción emergente con un signo de exclamación rojo en la página Instancias. Si colocas el cursor sobre la descripción emergente, aparecerá el estado No state. Cuando se pueda acceder a la clave, Memorystore para Redis reanudará la instancia automáticamente.
Claves externas
Puedes usar Cloud External Key Manager (Cloud EKM) para encriptar datos enGoogle Cloud con claves externas que tú gestionas.
Cuando usas una clave de Cloud EKM, Google no tiene control sobre la disponibilidad de tu clave gestionada de forma externa. Si la clave no está disponible cuando creas la instancia, esta no se creará.
Para obtener más información sobre las consideraciones que debes tener en cuenta al usar claves externas, consulta Cloud External Key Manager.
¿Cómo se puede hacer que los datos cifrados con CMEK sean inaccesibles de forma permanente?
Puede que haya situaciones en las que quieras que los datos cifrados con CMEK sean inaccesibles de forma permanente. Para ello, elimina la versión de la clave. Para obtener más información sobre cómo destruir versiones de la clave, consulta Destruir y restaurar versiones de clave.
¿Cómo se importan o exportan datos de una instancia habilitada para CMEK?
Si quieres que tus datos sigan encriptados con una CMEK cuando exportes datos, debes definir una CMEK en el segmento de Cloud Storage antes de exportar datos a él.
Si tus datos se almacenan en una instancia habilitada para CMEK, no hay requisitos ni restricciones especiales para importar datos en una instancia nueva.
Comportamiento de una versión de clave CMEK
En esta sección se explica qué ocurre cuando se inhabilita, destruye, rota, habilita y restaura una versión de clave.
Inhabilitar o destruir una versión de clave de cifrado gestionada por el cliente
Si quieres asegurarte de que no se acceda a los datos de tu instancia, inhabilita la versión de la clave principal de tu CMEK. La instancia se cerrará. Además, si se inhabilita o destruye alguna CMEK que esté en uso, Memorystore para Redis cerrará la instancia. Esto incluye cualquier versión de clave anterior que use la instancia.
Para comprobar si Memorystore para Redis suspende tu instancia, usa una de las siguientes interfaces:
- Google Cloud Consola: en la página Instancias, aparece una descripción emergente con un signo de exclamación rojo junto a tu instancia. Si colocas el cursor sobre la descripción emergente, aparecerá el estado
No state. - gcloud CLI: usa el comando
gcloud redis instances describe. Comprueba que no veasstate: READY,state: REPAIRINGni ningún otro estado en los metadatos de la instancia.
Habilitar o restaurar la versión principal de la clave CMEK
Si habilitas o restauras la versión de la clave principal de tu CMEK, Memorystore para Redis dejará de ocultar tu instancia.
Limitaciones
Se aplican las siguientes limitaciones al usar CMEK con Memorystore para Redis:
- No puedes habilitar CMEK en una instancia de Memorystore para Redis que ya esté creada.
- La región de la clave, el conjunto de claves y la instancia debe ser la misma.
- Debes usar el algoritmo de cifrado simétrico para tu clave.
- Las tarifas de cifrado y descifrado de Cloud KMS están sujetas a una cuota.
Políticas de organización de CMEK
Memorystore para Redis admite restricciones de políticas de la organización que puedes usar para la protección con CMEK.
Las políticas pueden limitar las claves de Cloud KMS que se pueden usar para la protección con CMEK.
Si la API Memorystore para Redis está en la lista de servicios de la política
Denyde la restricciónconstraints/gcp.restrictNonCmekServices, no puedes crear instancias protegidas con CMEK.Si configuras la restricción
constraints/gcp.restrictCmekCryptoKeyProjects, Memorystore para Redis crea instancias protegidas con CMEK que se cifran con una clave de un proyecto, una carpeta o una organización permitidos.
Para obtener más información sobre cómo configurar políticas de la organización de CMEK, consulta Políticas de la organización de CMEK.