En esta página se describe cómo funcionan las claves de cifrado gestionadas por el cliente (CMEK) con Memorystore para Redis Cluster. Para empezar a usar esta función, consulta Usar claves de cifrado gestionadas por el cliente (CMEK).
De forma predeterminada, Memorystore for Redis Cluster cifra el contenido del cliente en reposo. Memorystore for Redis Cluster 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 clústeres de Redis. Si usas claves de Cloud KMS, tendrás control sobre el nivel de protección, la ubicación, el calendario de rotación, los permisos de uso y acceso, y los 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 el gestor de 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 for Redis Cluster será similar a la de usar el cifrado predeterminado de Google. Para obtener más información sobre las opciones de encriptado, consulta Claves de encriptado gestionadas por el cliente (CMEK).
¿Quién debería usar 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 claves de cifrado gestionadas por el cliente para cifrar estos datos, consulta Decidir si usar claves de cifrado gestionadas por el cliente.
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 for Redis Cluster. En las instancias de Memorystore para Redis Cluster 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 los datos en Memorystore para Redis Cluster. Hay dos niveles de cifrado:
- Cifrado DEK: Memorystore usa DEKs para cifrar datos en Memorystore para Redis Cluster.
- Cifrado con KEK: Memorystore usa KEKs para cifrar DEKs.
La instancia de Memorystore for Redis Cluster almacena la DEK cifrada junto con los datos cifrados en el disco, y Google gestiona la KEK de Google. La CMEK es la KEK que encapsula la DEK. Las CMEK te permiten crear, inhabilitar o eliminar, rotar y habilitar o restaurar la KEK.
En los siguientes diagramas se muestra cómo funciona el cifrado de datos en reposo en una instancia de clúster 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 for Redis Cluster factura los clústeres habilitados para CMEK igual que cualquier otro clúster. No hay costes adicionales. Para obtener más información, consulta los precios de Memorystore for Redis Cluster.
Para gestionar las CMEK, se usa la API de Cloud KMS. Cuando creas una instancia de Memorystore for Redis Cluster 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 for Redis Cluster usa la clave. Para obtener más información, consulta los precios de Cloud KMS.
¿Qué datos se cifran con la CMEK?
CMEK cifra los siguientes tipos de datos de clientes que se almacenan en almacenamiento persistente:
- Copias de seguridad: las copias de seguridad te permiten recuperar tus datos en un momento determinado, así como exportarlos y analizarlos. Las copias de seguridad también son útiles en situaciones de recuperación tras fallos, migración de datos, uso compartido de datos y cumplimiento.
- Persistencia: Memorystore for Redis Cluster admite dos tipos de persistencia:
- Persistencia de RDB: la función de base de datos Redis (RDB) protege tus datos guardando copias de tus datos en un almacenamiento duradero.
- Persistencia AOF: esta función prioriza la durabilidad de los datos. Almacena datos de forma duradera registrando cada comando de escritura en un archivo de registro llamado archivo de solo anexión (AOF). Si se produce un fallo o un reinicio del sistema, el servidor vuelve a reproducir los comandos del archivo AOF de forma secuencial para restaurar los datos.
Información sobre las cuentas de servicio
Cuando crees una instancia con CMEK, debes asignar el rol cloudkms.cryptoKeyEncrypterDecrypter
a la cuenta de servicio de Memorystore for Redis Cluster, que tiene el siguiente formato:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Al conceder este permiso, la cuenta de servicio puede 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 Cluster.
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 for Redis Cluster, seleccionas esta clave para cifrar la instancia. Puedes crear un proyecto para ambas claves e instancias, o bien crear proyectos diferentes para cada una de ellas.
CMEK está disponible en todas las ubicaciones de instancias de Memorystore for Redis Cluster. Debes crear el conjunto de claves y la clave en la misma región en la que quieras crear la instancia. En el caso de una instancia multirregión, debes definir el conjunto de claves y la clave en la misma ubicación que la instancia. 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
Claves externas
Puedes usar Cloud External Key Manager (Cloud EKM) para cifrar datos enGoogle Cloud con claves externas que 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 destruir datos cifrados con CMEK 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.
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 inhabilitas o destruyes la versión de la clave principal de tu CMEK, se aplicarán las siguientes condiciones a las copias de seguridad y la persistencia.
Copias de seguridad
- No puedes crear copias de seguridad bajo demanda ni automatizadas. Sin embargo, si habilitas una versión anterior de la clave, podrás acceder a las copias de seguridad que hayas creado con esa versión.
- No puedes actualizar ni volver a habilitar las copias de seguridad automatizadas hasta que habilites o restaures la versión de clave principal.
Persistencia
- Si configuras tu instancia para que use la persistencia, Memorystore for Redis Cluster desactivará esta función cuando la versión de la clave deje de estar disponible. Ya no se te cobrará por esta función.
- Memorystore para Redis Cluster no vacía los datos nuevos en el almacenamiento persistente mediante la CMEK.
- Memorystore for Redis Cluster no puede leer los datos que ya hay en el almacenamiento persistente.
- No puedes actualizar ni volver a habilitar la persistencia hasta que habilites o restaures la versión de clave principal.
Si habilitas la versión de clave principal de tu CMEK, pero inhabilitas o destruyes una versión de clave anterior, se aplicarán las siguientes condiciones a las copias de seguridad y la persistencia:
- Puedes crear copias de seguridad. Sin embargo, si una copia de seguridad se cifra con una versión de clave anterior que se ha inhabilitado o destruido, no se podrá acceder a ella.
- Si habilitas la persistencia, esta función seguirá habilitada. Si la versión de clave anterior que se usa en la persistencia se inhabilita o se destruye, Memorystore para clústeres de Redis realiza una actualización similar a la que se usa en el mantenimiento y vuelve a encriptar los datos con la versión de clave principal.
Rotar la versión principal de la clave CMEK
Si rotas la versión de la clave principal de tu CMEK y creas una nueva versión de la clave principal, se aplicarán las siguientes condiciones a las copias de seguridad y la persistencia:
- La versión principal más reciente de tu CMEK cifra las copias de seguridad nuevas.
- Las copias de seguridad ya creadas no se vuelven a cifrar.
- En cuanto a la persistencia, los nodos no realizan ninguna acción. Los nodos seguirán usando la versión de clave anterior hasta el próximo evento de mantenimiento.
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, se aplicarán las siguientes condiciones a las copias de seguridad y la persistencia:
- Puedes volver a crear copias de seguridad bajo demanda y automáticas.
- Memorystore for Redis Cluster realiza una actualización similar a la que se usa en el mantenimiento y vuelve a habilitar la persistencia.
Limitaciones
Se aplican las siguientes limitaciones al usar CMEK con Memorystore for Redis Cluster:
- No puedes habilitar CMEK en una instancia de Memorystore for Redis Cluster 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.