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 una instancia que usa CMEK
Crea un llavero de claves y una clave en la ubicación en la que deseas que esté la instancia de Memorystore para Redis.
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 para Redis acceso a la clave.
Ve a un proyecto y crea una instancia de Memorystore para Redis con CMEK habilitada en la misma región que el llavero de claves y la clave.
Ahora tu instancia de Memorystore para Redis está habilitada 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 instancia de Memorystore para Redis. 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 para Redis acceso a la clave
Antes de que puedas crear una instancia de Memorystore para Redis que use CMEK, debes otorgar acceso a la clave a una cuenta de servicio específica de Memorystore para Redis. Puedes otorgar acceso a la clave a la cuenta de servicio con la Google Cloud consola o la Google Cloud CLI.
Para otorgar acceso a la cuenta de servicio, usa el siguiente formato:
service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com
Console
Como parte de los pasos para crear una instancia de Memorystore para Redis que usa CMEK, le otorgas acceso a la clave a la cuenta de servicio.
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 KEY_NAME \ --location=REGION_ID \ --keyring=KEY_RING \ --member=serviceAccount:service-PROJECT_NUMBER@cloud-redis.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Realiza los siguientes reemplazos:
- KEY_NAME: El nombre de la clave a la que le otorgas acceso a la cuenta de servicio
- REGION_ID: La región en la que se encuentra el llavero de claves
- KEY_RING: El nombre del llavero de claves que incluye la clave
- PROJECT_NUMBER: El ID o número del proyecto que contiene la cuenta de servicio
Crea una instancia de Memorystore para Redis que use CMEK
Puedes crear una instancia que use CMEK con la Google Cloud consola o la CLI de gcloud.
Console
Asegúrate de crear un llavero de claves y una clave en la misma región en la que deseas crear tu instancia.
Sigue las instrucciones en Crea una instancia de Redis en una red de VPC hasta que llegues al paso para habilitar CMEK. Luego, vuelve a estas instrucciones.
Selecciona Usar una clave de encriptación administrada por el cliente (CMEK).
Para seleccionar tu clave, usa el menú.
Selecciona las configuraciones restantes para la instancia y, luego, haz clic en Crear.
gcloud
Para crear una instancia que use CMEK, usa el
gcloud redis instances create
comando.
gcloud redis instances create INSTANCE_ID \ --size=SIZE \ --region=REGION_ID \ --customer-managed-key=projects/PROJECT_NAME/locations/REGION_ID/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Realiza los siguientes reemplazos:
- INSTANCE_ID: El ID de la instancia que estás creando
- SIZE: El tamaño de la instancia que deseas crear, en gibibytes (GiB)
- REGION_ID: El ID de la región en la que deseas que se ubique la instancia
- PROJECT_NAME: El nombre del proyecto en el que deseas crear la instancia
- KEY_RING: El nombre del llavero de claves que incluye la clave
- KEY_NAME: El nombre de la clave
Visualiza la información de claves de una instancia con CMEK habilitadas
Puedes ver la información de claves de una instancia con CMEK habilitadas con la Google Cloud consola o la CLI de gcloud. Esta información incluye la clave activa y si CMEK está habilitada para tu instancia.
Console
En la Google Cloud consola de, ve a la página Instancias.
Haz clic en el ID de tu instancia.
En el panel izquierdo, haz clic en la pestaña Seguridad. La página Seguridad contiene un vínculo a la clave activa y muestra la ruta de acceso de referencia de la clave. Si esta información no aparece, significa que no habilitaste CMEK para tu instancia.
gcloud
Para verificar si CMEK está habilitada y ver la referencia de la clave, usa el gcloud redis instances describe comando para ver el
customerManagedKey campo.
gcloud redis instances describe INSTANCE_ID \ --project=PROJECT_NAME \ --region=REGION_ID
Realiza los siguientes reemplazos:
- INSTANCE_ID: El ID de la instancia sobre la que deseas ver información
- PROJECT_NAME: El nombre del proyecto que contiene la instancia
- REGION_ID: El ID de la región en la que se encuentra la instancia
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 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 Redis AUTH.
- Obtén más información sobre la encriptación en tránsito.