Usar claves de encriptado gestionadas por el cliente (CMEK)

En esta página se proporcionan instrucciones para crear una instancia de clúster de Memorystore para Redis que use claves de cifrado gestionadas por el cliente (CMEK). También proporciona instrucciones para gestionar instancias que usan CMEK. Para obtener más información sobre las CMEK de Memorystore para Redis Cluster, consulta el artículo Acerca de las claves de cifrado gestionadas por el cliente (CMEK).

Antes de empezar

  1. Asegúrate de que tienes el rol de administrador de Redis en tu cuenta de usuario.

    Ir a la página de gestión de identidades y accesos

Flujo de trabajo para crear una instancia que use CMEK

  1. Crea un conjunto de claves y una clave en la ubicación en la que quieras que esté la instancia de Memorystore for Redis Cluster.

  2. Copia o anota el ID de la clave (KMS_KEY_ID), la ubicación de la clave y el ID del conjunto de claves (KMS_KEY_RING_ID). Necesitarás esta información para conceder acceso a la clave a la cuenta de servicio.

  3. Concede acceso a la clave a la cuenta de servicio de Memorystore for Redis Cluster.

  4. Ve a un proyecto y crea una instancia de clúster de Memorystore para Redis con CMEK habilitada en la misma región que el conjunto de claves y la clave.

Tu instancia de Memorystore for Redis Cluster ahora tiene habilitada la CMEK.

Crear un conjunto de claves y una clave

Crea un conjunto de claves y una clave. Ambos deben estar en la misma región que tu instancia de Memorystore for Redis Cluster. La clave puede ser de otro proyecto, siempre que esté en la misma región. Además, la clave debe usar el algoritmo de cifrado simétrico.

Concede acceso a la clave a la cuenta de servicio de Memorystore for Redis Cluster

Para poder crear una instancia de Memorystore for Redis Cluster que use CMEK, debes conceder acceso a la clave a una cuenta de servicio específica de Memorystore for Redis Cluster.

Para conceder acceso a la cuenta de servicio, usa el siguiente formato:

service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com

gcloud

Para conceder acceso a la clave a la cuenta de servicio, usa el comando gcloud kms keys add-iam-policy-binding. Sustituye VARIABLES por los valores adecuados.

gcloud kms keys add-iam-policy-binding  \
projects/PROJECT_ID/locations/REGION_ID/keyRings/KMS_KEY_RING_ID/cryptoKeys/KMS_KEY_ID \
--member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Crear una instancia de Memorystore for Redis Cluster que use CMEK

gcloud

Para crear una instancia que use CMEK, usa el comando gcloud beta redis clusters create. Sustituye VARIABLES por los valores adecuados.

gcloud beta redis clusters create INSTANCE_ID \
--project=PROJECT_NAME \
--region=REGION_ID \
--network=NETWORK \
--kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KMS_KEY_RING_ID/cryptoKeys/KMS_KEY_ID \
--shard-count=SHARD_NUMBER \
--persistence-mode=PERSISTENCE_MODE

Ver información de la clave de una instancia habilitada para CMEK

Sigue estas instrucciones para comprobar si CMEK está habilitada en tu instancia y para ver la clave activa.

gcloud

Para verificar si CMEK está habilitada y ver la referencia de la clave, usa el comando gcloud redis clusters describe para ver los campos encryptionInfo y kmsKey. Sustituye VARIABLES por los valores adecuados.

gcloud redis clusters describe INSTANCE_ID \
--project=PROJECT_NAME \
--region=REGION_ID

Gestionar versiones de clave

Para obtener información sobre lo que ocurre cuando se inhabilita, destruye, rota, habilita y restaura una versión de clave, consulta Comportamiento de una versión de clave de cifrado gestionada por el cliente.

Para obtener instrucciones sobre cómo inhabilitar y volver a habilitar versiones de clave, consulta Habilitar e inhabilitar versiones de clave.

Para obtener instrucciones sobre cómo destruir y restaurar versiones de clave, consulta Destruir y restaurar versiones de clave.

Siguientes pasos