Si usas claves de encriptación administradas por el cliente (CMEK), tendrás 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 use CMEK
Crea un llavero de claves y una clave en la ubicación en la que deseas que se encuentre el clúster en Memorystore para Redis Cluster.
Copia o escribe el nombre de la clave (
KEY_NAME), la ubicación de la clave y el nombre del llavero (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 para Redis Cluster con la CMEK habilitada en la misma región que el llavero de claves y la clave.
Ahora tu clúster 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 para Redis Cluster. La clave puede ser de un proyecto diferente, siempre y cuando 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 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 la CLI de gcloud. Para otorgar acceso a la cuenta de servicio, usa el siguiente formato:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
gcloud
Para otorgar a la cuenta de servicio acceso a la clave, usa el comando gcloud kms keys add-iam-policy-binding.
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: el nombre del llavero de claves que contiene la clave
- KEY_NAME: 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 la CMEK con la CLI de gcloud.
gcloud
Para crear un clúster que use la CMEK, usa el comando gcloud redis clusters create.
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 crearás.
- 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: el nombre del llavero de claves que incluye la clave
- KEY_NAME: 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: Habilitas la persistencia basada en el archivo de solo anexar (AOF) para el clúster.disabled: Desactivas la persistencia para el clúster.rdb: Habilitas la persistencia basada en la base de datos de Redis (RDB) para el clúster.
Visualiza la información de claves de un clúster habilitado con CMEK
Puedes ver información sobre tu clúster habilitado para CMEK con la CLI de gcloud. Esta información incluye si la CMEK está habilitada para tu clúster y 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.
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: 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.
Si deseas obtener instrucciones para inhabilitar y volver a habilitar versiones de claves, consulta Habilita e inhabilita versiones de claves.
Si deseas obtener instrucciones para 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.