Si usas claves de encriptación administradas por el cliente (CMEK), tienes control sobre tus claves. Esto te permite controlar su nivel de protección, ubicación, programa de rotación, permisos de uso y acceso, y límites criptográficos. En lugar de que Google posea y administre las claves de encriptación de claves (KEK) simétricas que protegen tus datos, tú las controlas y administras en Cloud Key Management Service (KMS).
Antes de comenzar
Asegúrate de tener el rol de administrador de Redis en tu cuenta de usuario.
Flujo de trabajo para crear un clúster que usa CMEK
Crea un llavero de claves y una clave en la ubicación en la que deseas que esté el clúster en Memorystore for Redis Cluster.
Copia o anota el nombre de la clave (
KEY_NAME), la ubicación de la clave y el nombre del llavero de claves (KEY_RING). Necesitarás esta información cuando le otorgues a la cuenta de servicio acceso a la clave.Otorga a la cuenta de servicio de Memorystore for Redis Cluster acceso a la clave.
Ve a un proyecto y crea un clúster en Memorystore for Redis Cluster con CMEK habilitado en la misma región que el llavero de claves y la clave.
Tu clúster ahora está habilitado con CMEK.
Crea un llavero de claves y una clave
Crea un llavero de claves y una clave. Ambos deben estar en la misma región que tu clúster en Memorystore for Redis Cluster. La clave puede ser de un proyecto diferente, siempre que esté en la misma región. Además, la clave debe usar el algoritmo de encriptación simétrica.
Después de crear el llavero de claves y la clave, copia o anota el KEY_NAME, la ubicación de la clave y el KEY_RING. Necesitarás esta información cuando le otorgues a la cuenta de servicio acceso a la clave.
Otorga a la cuenta de servicio de Memorystore for Redis Cluster acceso a la clave
Antes de que puedas crear un clúster en Memorystore for Redis Cluster que use CMEK, debes otorgar acceso a la clave a una cuenta de servicio específica de Memorystore for Redis Cluster.
Puedes otorgar acceso a la clave a la cuenta de servicio con el gcloud CLI. Para otorgar acceso a la cuenta de servicio, usa el siguiente formato:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
gcloud
Para otorgar acceso a la clave a la cuenta de servicio, usa el gcloud kms keys add-iam-policy-binding
comando.
gcloud kms keys add-iam-policy-binding \ projects/PROJECT_ID/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Realiza los siguientes reemplazos:
- PROJECT_ID: Es el ID o número del proyecto que contiene el llavero de claves .
- REGION_ID: Es la región en la que se encuentra el llavero de claves.
- KEY_RING: Es el nombre del llavero de claves que contiene la clave.
- KEY_NAME: Es el nombre de la clave a la que le otorgas acceso a la cuenta de servicio.
- PROJECT_NUMBER: Es el ID o número del proyecto que contiene la cuenta de servicio.
Crea un clúster que use CMEK
Puedes crear un clúster que use CMEK con gcloud CLI.
gcloud
Para crear un clúster que use CMEK, usa el gcloud redis clusters create comando.
gcloud redis clusters create CLUSTER_ID \ --project=PROJECT_NAME \ --region=REGION_ID \ --network=NETWORK_ID \ --kms-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME \ --shard-count=SHARD_NUMBER \ --persistence-mode=PERSISTENCE_MODE
Realiza los siguientes reemplazos:
- CLUSTER_ID: Es el ID del clúster que estás creando.
- PROJECT_NAME: Es el nombre del proyecto en el que deseas crear el clúster.
- REGION_ID: Es el ID de la región en la que deseas que se ubique el clúster.
- NETWORK_ID: Es el ID de la red que deseas usar para crear el clúster.
- KEY_RING: Es el nombre del llavero de claves que contiene la clave.
- KEY_NAME: Es el nombre de la clave.
- SHARD_NUMBER: Es la cantidad de fragmentos que deseas tener para el clúster.
- PERSISTENCE_MODE: Es el modo de persistencia del clúster. Puedes establecer este modo en uno de los siguientes valores:
aof: Habilita la persistencia basada en el archivo de solo anexos (AOF) para el clúster.disabled: Desactiva la persistencia para el clúster.rdb: Habilita la persistencia basada en la base de datos de Redis (RDB) para el clúster.
Consulta la información de la clave para un clúster habilitado para CMEK
Puedes ver información sobre tu clúster habilitado para CMEK con el gcloud CLI. Esta información incluye si CMEK está habilitado para tu clúster y la clave activa.
gcloud
Para verificar si CMEK está habilitado y ver la referencia de la clave, usa el
gcloud redis clusters describe
comando para ver los campos encryptionInfo y kmsKey.
gcloud redis clusters describe CLUSTER_ID \ --project=PROJECT_NAME \ --region=REGION_ID
Realiza los siguientes reemplazos:
- CLUSTER_ID: Es el ID del clúster sobre el que deseas ver información.
- PROJECT_NAME: Es el nombre del proyecto que contiene el clúster.
- REGION_ID: Es el ID de la región en la que se encuentra el clúster.
Administra versiones de claves
Para obtener información sobre lo que sucede cuando inhabilitas, destruyes, rotas, habilitas, y restableces una versión de clave, consulta Comportamiento de una versión de clave de CMEK.
Para obtener instrucciones sobre cómo inhabilitar y volver a habilitar versiones de claves, consulta Habilita e inhabilita versiones de claves.
Para obtener instrucciones sobre cómo destruir y restablecer versiones de claves, consulta Destruye y restablece versiones de claves.
¿Qué sigue?
- Obtén más información sobre las copias de seguridad.
- Obtén más información sobre la persistencia.