Acerca de las claves de encriptación administradas por el cliente (CMEK)

En este documento, se describe cómo puedes usar claves de encriptación administradas por el cliente (CMEK) en Cloud Key Management Service (Cloud KMS) para tus instancias de Memorystore for Valkey, en lugar de depender de la encriptación predeterminada de Google. En el documento, también se describe qué datos se encriptan en el almacenamiento persistente y cómo se comportan tus instancias durante los eventos del ciclo de vida de las claves.

Las CMEK te permiten controlar las claves criptográficas que protegen tus datos almacenados. Si administras tus propias claves en Cloud KMS, obtienes un mayor control sobre el acceso, la rotación y el uso de las claves, lo que te ayuda a cumplir con los estrictos requisitos reglamentarios y de cumplimiento.

La implementación de CMEK proporciona una capa adicional de seguridad y control sobre tus datos persistentes, como las copias de seguridad y los archivos de persistencia. Solo puedes habilitar CMEK en instancias nuevas. No puedes aplicar CMEK a instancias existentes.

¿Quién debería usar CMEK?

Las CMEK están diseñadas para organizaciones que tienen datos sensibles o regulados y, por lo tanto, necesitan controlar sus propias claves de encriptación. Para obtener más información sobre si debes usar CMEK para encriptar estos datos, consulta Decide si usar CMEK.

Encriptación administrada por el cliente

Las CMEK te permiten usar tus claves criptográficas para proteger los datos almacenados en instancias de Memorystore for Valkey. Para encriptar estos datos, Memorystore for Valkey usa claves de encriptación de datos (DEK) administradas por Google y claves de encriptación de claves (KEK) administradas por el cliente.

Puedes tener los siguientes niveles de encriptación:

  • Encriptación de DEK: Las DEK encriptan datos en Memorystore for Valkey.
  • Encriptación de KEK: Las KEK encriptan DEK.

Memorystore for Valkey usa KEK para encriptar DEK y DEK para encriptar los datos almacenados. Si usas CMEK, puedes administrar las KEK que encriptan las DEK en tu instancia.

En el siguiente diagrama, se muestra cómo una instancia usa CMEK para encriptar datos. Los datos que se suben a la infraestructura de almacenamiento de Google se fragmentan, y cada fragmento se encripta con su propia DEK. Cloud KMS proporciona la KEK para encriptar las DEK, y la infraestructura de almacenamiento de Google distribuye los fragmentos de datos encriptados y las DEK encriptadas en todo el sistema.

Los datos se suben a la infraestructura de almacenamiento de Google y se dividen en fragmentos. Cada fragmento se encripta con su propia DEK. Luego, las DEK se encriptan con una KEK que se recupera de Cloud KMS. Los fragmentos encriptados y las DEK encriptadas se distribuyen en la infraestructura de almacenamiento.

En el siguiente diagrama, se muestra cómo Memorystore for Valkey desencripta los datos encriptados con CMEK. Para acceder a estos datos encriptados, Memorystore for Valkey envía una solicitud a Cloud KMS, que administra la KEK, para desencriptar la DEK. Luego, Cloud KMS devuelve la DEK desencriptada, que la instancia usa para desencriptar los datos almacenados.

Fragmento de datos encriptado con una DEK y almacenado con la DEK encriptada. Se envía una solicitud para desencriptar la DEK a Cloud KMS, que almacena la KEK. Cloud KMS devuelve la DEK desencriptada.

¿Qué datos se encriptan con CMEK?

CMEK encripta los siguientes tipos de datos del cliente que se almacenan en el almacenamiento persistente:

  • Copias de seguridad: Las copias de seguridad te permiten recuperar tus datos a un momento determinado, y exportar y analizar datos. Las copias de seguridad también son útiles para la recuperación ante desastres, la migración de datos, el uso compartido de datos y las situaciones de cumplimiento.
  • Persistencia: Memorystore for Valkey admite dos tipos de persistencia:
    • Persistencia de RDB: Guarda instantáneas de tus datos en un almacenamiento duradero.
    • Persistencia de AOF: Almacena datos de forma duradera registrando cada comando de escritura en un archivo de registro llamado archivo de solo anexos (AOF). Si se produce una falla o un reinicio del sistema, el servidor reproduce los comandos del archivo AOF de forma secuencial para restablecer tus datos.

Componentes de CMEK

En las siguientes secciones, se describen los requisitos y los comportamientos de las cuentas de servicio, las claves criptográficas, las versiones de claves y las políticas de la organización que componen tu arquitectura de CMEK.

Cuentas de servicio

Para crear una instancia habilitada para CMEK, debes otorgar el rol roles/cloudkms.cryptoKeyEncrypterDecrypter a la cuenta de servicio de Memorystore for Valkey que usa el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com

Si otorgas este permiso, la cuenta de servicio puede solicitar acceso a la clave de Cloud KMS.

Claves

En Cloud KMS, debes crear un llavero de claves y, luego, crear una clave criptográfica que use un algoritmo de encriptación simétrica. Cuando crees una instancia de Memorystore for Valkey, selecciona esta clave para encriptar la instancia. Puedes crear un proyecto para tus claves y tus instancias, o proyectos diferentes para cada uno de ellos.

CMEK está disponible en todas las ubicaciones de instancias de Memorystore for Valkey. Debes crear el llavero de claves y la clave en la misma región en la que deseas crear la instancia. Para una instancia multirregional, debes configurar el llavero de claves y la clave en la misma ubicación que la instancia. Si las regiones o las ubicaciones no coinciden, falla una solicitud para 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

Para obtener más información sobre cómo encontrar los IDs de recursos de las claves existentes, consulta Obtén un ID de recurso de Cloud KMS.

Claves externas

Como parte de tu estrategia de CMEK, puedes usar claves externas. Para ello, usa Cloud External Key Manager (Cloud EKM) para encriptar datos en Google Cloud con claves externas que administras.

Cuando usas una clave de Cloud EKM, Google no tiene control sobre la disponibilidad de tus claves administradas de forma externa. Si una clave no está disponible cuando creas tu instancia, Memorystore for Valkey no crea la instancia.

Versiones de claves

Cloud KMS almacena el material de clave criptográfica que usas para encriptar y desencriptar tus datos en una versión de clave. Una sola clave puede contener varias versiones de claves. Cada vez que rotas una clave, creas una versión de clave.

En las siguientes secciones, se describe cómo se comportan tus instancias y sus datos protegidos durante los eventos del ciclo de vida de las claves, como inhabilitar, destruir, rotar, habilitar o restablecer versiones de claves. En las secciones, también se explica el impacto de revocar el acceso a una clave de Cloud KMS o reemplazarla, y se proporcionan instrucciones para volver a encriptar datos de forma manual.

Inhabilita o destruye una versión de clave CMEK

Es posible que surjan situaciones en las que quieras que los datos encriptados con CMEK sean inaccesibles de forma permanente, como cuando corriges una filtración de datos. Para lograr esta destrucción de datos de alta seguridad (también conocida como crypto-shredding), destruye la versión de clave. Para obtener más información sobre cómo destruir versiones de claves, consulta Destruye y restablece versiones de claves.

Si inhabilitas o destruyes la versión de clave primaria de tu CMEK, se aplican las siguientes condiciones para las copias de seguridad y la persistencia.

Copias de seguridad

Cuando destruyes la versión de clave primaria de tu CMEK, se aplican las siguientes restricciones a las copias de seguridad de tu instancia:

  • No puedes crear copias de seguridad automáticas ni a pedido. Sin embargo, si habilitas una versión de clave anterior, puedes acceder a las copias de seguridad que creaste con esta versión de clave.
  • No puedes actualizar ni volver a habilitar las copias de seguridad automáticas hasta que habilites o restablezcas la versión de clave primaria. Para obtener más información, consulta Habilita o restablece la versión de clave CMEK primaria.
Persistencia

Cuando destruyes la versión de clave primaria de tu CMEK, se aplican las siguientes restricciones a la persistencia de tu instancia:

  • Si configuras tu instancia para que use la persistencia, Memorystore for Valkey desactiva la persistencia cuando la versión de clave deja de estar disponible. Ya no se te cobra por usar la persistencia.
  • Memorystore for Valkey no vacía los datos nuevos en el almacenamiento persistente con la CMEK.
  • Memorystore for Valkey no puede leer los datos existentes que están presentes en el almacenamiento persistente.
  • No puedes actualizar ni volver a habilitar la persistencia hasta que habilites o restablezcas la versión de clave primaria.

Si habilitas la versión de clave primaria de tu CMEK, pero inhabilitas o destruyes una versión de clave anterior, se aplican las siguientes condiciones para las copias de seguridad y la persistencia:

  • Puedes crear copias de seguridad. Sin embargo, si una copia de seguridad está encriptada con una versión de clave anterior que está inhabilitada o destruida, la copia de seguridad permanece inaccesible.
  • Si habilitas la persistencia, permanece habilitada. Si la versión de clave anterior que se usa en la persistencia está inhabilitada o destruida, Memorystore for Valkey 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 primaria.

Revoca el acceso a una clave de Cloud KMS

Si revocas el acceso a una clave de Cloud KMS activa inhabilitando la clave o quitando los permisos de IAM para la clave, Memorystore for Valkey prioriza la disponibilidad de la caché principal. Las operaciones de almacenamiento en caché en la memoria normales continúan publicando tráfico.

Sin embargo, las copias de seguridad y la persistencia se desactivan. Memorystore for Valkey deja de escribir datos nuevos en el disco de inmediato y no lee datos del disco encriptado por el cliente en la memoria.

Rota la versión de clave CMEK primaria

Si rotas la versión de clave primaria de tu CMEK y creas una versión de clave primaria nueva, se aplican las siguientes condiciones para las copias de seguridad y la persistencia:

  • La versión de clave primaria más reciente de tu CMEK encripta las copias de seguridad nuevas.
  • Para las copias de seguridad existentes, no se realiza una nueva encriptación.
  • Para la persistencia, los nodos no realizan ninguna acción. Los nodos continúan usando la versión de clave anterior hasta el próximo evento de mantenimiento.

Vuelve a encriptar los datos protegidos por CMEK de forma manual

Memorystore for Valkey no admite la nueva encriptación a pedido de los datos almacenados. No puedes activar un proceso de forma manual para usar una versión de clave nueva para volver a encriptar las copias de seguridad existentes o los archivos de persistencia activos. Sin embargo, puedes usar la versión de clave nueva para encriptar los datos recién escritos.

Si rotas una clave y debes forzar una instancia para que use la versión de clave nueva, se aplican las siguientes condiciones para las copias de seguridad y la persistencia:

Copias de seguridad

No puedes volver a encriptar las copias de seguridad existentes. Si el cumplimiento requiere que todos los datos se encripten con la clave más reciente, crea una copia de seguridad que use esta clave y, luego, borra las copias de seguridad existentes de forma manual. También puedes exportar esta copia de seguridad a un bucket de Cloud Storage para que se use la clave de encriptación de Cloud Storage.

Persistencia

Para forzar la instancia a usar una clave de Cloud KMS nueva, puedes ejecutar un mantenimiento simulado en la instancia. Después de completar esta operación, Memorystore for Valkey puede escribir datos de persistencia con la versión de clave primaria actualizada.

Reemplaza una clave de Cloud KMS protegida

Si reemplazas una clave de Cloud KMS protegida por una clave diferente o una versión de clave primaria nueva, Memorystore for Valkey aplica este cambio solo a las operaciones futuras.

El reemplazo de una clave protegida afecta tus recursos de las siguientes maneras:

  • Copias de seguridad: Todas las copias de seguridad posteriores se encriptan con la clave nueva. Las copias de seguridad existentes conservan sus claves originales.
  • Persistencia: La próxima vez que se reinicie la instancia o tenga un evento de mantenimiento, se usará la clave nueva.
  • Caché principal: El reemplazo de esta clave no tiene ningún impacto. CMEK no encripta los datos en la memoria porque estos datos no se consideran datos almacenados.

Habilita o restablece la versión de clave CMEK primaria

Si habilitas o restableces la versión de clave primaria de tu CMEK, se aplican las siguientes condiciones para las copias de seguridad y la persistencia:

  • Puedes volver a crear copias de seguridad automáticas y a pedido.
  • Memorystore for Valkey realiza una actualización similar a la que se usa en el mantenimiento y vuelve a habilitar la persistencia.

Restricciones de las políticas de la organización

Memorystore for Valkey admite restricciones de políticas de la organización para CMEK. Con estas restricciones, puedes aplicar la protección de CMEK para tus instancias y limitar las claves de Cloud KMS que puedes usar para esta protección.

Puedes configurar las siguientes restricciones de políticas de la organización:

  • constraints/gcp.restrictNonCmekServices: Usa esta restricción para aplicar la protección de CMEK para tus instancias. Si la API de Memorystore for Valkey está en la lista de servicios de la política Deny para esta restricción, no puedes crear instancias protegidas por CMEK.
  • constraints/gcp.restrictCmekCryptoKeyProjects: Usa esta restricción para limitar las claves de Cloud KMS que puedes usar para la protección de CMEK. Si configuras esta restricción, las instancias que usan la encriptación de CMEK deben usar una clave de un proyecto, una carpeta o una organización permitidos.

Para obtener más información sobre las restricciones de políticas de la organización relacionadas con CMEK que Google administra para Memorystore for Valkey, consulta Restricciones de las políticas de la organización.

Precios

Memorystore for Valkey factura una instancia habilitada para CMEK como cualquier otra instancia; no hay costos adicionales. Para obtener más información, consulta los precios de Memorystore for Valkey.

Usas la API de Cloud KMS para administrar CMEK. Cuando creas una instancia de Memorystore for Valkey con CMEK, Memorystore usa la clave de forma periódica para encriptar datos.

Cloud KMS te factura el costo de la clave y las operaciones de encriptación y desencriptación cuando Memorystore for Valkey usa la clave. Para obtener más información, consulta Precios de Cloud KMS.

Limitaciones

Se aplican las siguientes limitaciones cuando se usa CMEK con Memorystore for Valkey:

  • No puedes habilitar CMEK en una instancia de Memorystore for Valkey existente.
  • La clave, el llavero de claves y la instancia deben estar ubicados en la misma región.
  • Debes usar el algoritmo de encriptación simétrica para tu clave.
  • Los índices de encriptación y desencriptación de Cloud KMS están sujetas a una cuota.

¿Qué sigue?