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

En esta página, se proporcionan instrucciones para crear una instancia de Memorystore para Redis que use claves de encriptación administradas por el cliente. También se proporcionan instrucciones para administrar instancias que usan CMEK. Para obtener más información sobre las claves de encriptación administradas por el cliente para Memorystore, consulta Claves de encriptación administradas por el cliente.

Antes de comenzar

  1. Asegúrate de tener la función de administrador de Redis en tu cuenta de usuario.

    Ir a la página IAM

Flujo de trabajo para crear una instancia que use CMEK

  1. Crea un llavero de claves y crea una clave en la ubicación en la que deseas que esté la instancia de Memorystore.

  2. Copia o escribe el ID de la clave (KMS_KEY_ID), la ubicación de la clave y el ID (KMS_KEYRING_ID) del llavero de claves. Necesitas esta información para otorgar acceso a la clave a la cuenta de servicio.

  3. Otorga acceso a la clave a la cuenta de servicio de Memorystore.

  4. Ve a un proyecto y crea una instancia de Memorystore para Redis con CMEK habilitadas en la misma región que el llavero de claves y la clave.

Tu instancia de Memorystore para Redis ahora está habilitada con CMEK.

Crea una clave y un llavero de claves

Sigue las instrucciones para crear un llavero de claves y crear una clave. Ambas deben estar en la misma región que tu instancia de Redis. La clave puede ser de otro proyecto, siempre que esté en la misma región. Además, la clave debe usar el algoritmo de encriptación simétrica.

Otorga a la cuenta de servicio acceso a la clave

Para crear una instancia de Redis que use CMEK primero, debes otorgar a una cuenta de servicio de Memorystore específica acceso a la clave. Otorga acceso a la cuenta de servicio de Memorystore que usa el siguiente formato:

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

Consola

Cuando usas la consola, otorgas a la cuenta de servicio acceso a la clave como parte de los pasos para crear una instancia de Redis que use CMEK.

gcloud

Para otorgar acceso a la clave a la cuenta de servicio, ejecuta el siguiente comando y reemplaza VARIABLES por los valores adecuados:

gcloud kms keys add-iam-policy-binding [KMS_KEY_ID] \
--location=[REGION_ID] \
--keyring=[KMS_KEYRING_ID] \
--member=serviceAccount:service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Crea una instancia de Memorystore para Redis que use CMEK

Para crear una instancia con claves de encriptación administradas por el cliente:

Consola

  1. Comienza por tener un llavero de claves y una clave en la misma región en la que deseas crear tu instancia de Memorystore.

  2. Sigue las instrucciones en Crea una instancia de Redis hasta que alcances el paso para habilitar una clave de encriptación administrada por el cliente y, luego, regresa a estas instrucciones.

  3. Selecciona Usar una clave de encriptación administrada por el cliente (CMEK).

  4. Usa el menú desplegable para seleccionar tu clave.

  5. Si la cuenta de servicio de Memorystore no tiene los permisos que necesita, aparecerá un cuadro de texto en el que se indica lo siguiente:

    The service-[PROJECT-NUMBER]@cloud-redis.iam.gserviceaccount.com service account does not have the "cloudkms.cryptoKeyEncrypterDecrypter" role. Verify the service account has permission to encrypt/decrypt with the selected key.

    • Haz clic en el botón Otorgar para otorgar el permiso de función a la cuenta de servicio de Memorystore.
  6. Termina de seleccionar la configuración deseada para la instancia y haz clic en el botón Crear a fin de crear la instancia de Memorystore para Redis habilitada para CMEK.

gcloud

Para crear una instancia que use claves de encriptación administradas por el cliente, ingresa el siguiente comando y reemplaza VARIABLES por los valores apropiados:

gcloud beta redis instances create [INSTANCE_ID] --size=[SIZE] \
--region=[REGION_ID] \
--customer-managed-key=projects/[PROJECT_NAME]/locations/[REGION_ID]/keyRings/[KEYRING_NAME]/cryptoKeys/[KEY_NAME]

Visualiza la información de claves de una instancia con CMEK habilitadas

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

Consola

  1. En Google Cloud Console, ve a la página Instancias de Memorystore para Redis.

    Memorystore para Redis

  2. Haz clic en el ID de la instancia para ver la página Detalles de la instancia.

  3. Haz clic en la pestaña Seguridad.

  4. La sección Encriptación con una clave administrada por el cliente contiene un vínculo a la clave activa y muestra la ruta de referencia de la clave. Si esta sección no aparece, CMEK no está habilitada para tu instancia.

gcloud

Para verificar si las CMEK están habilitadas, y ver la referencia de la clave, ejecuta el siguiente comando para ver el campo customerManagedKey:

gcloud beta redis instances describe INSTANCE_ID --project=PROJECT --region=REGION

Inhabilita y vuelve a habilitar versiones de claves

Para obtener información sobre lo que sucede cuando inhabilitas, habilitas, destruyes o vuelves a habilitar una versión de clave, consulta Comportamiento de destruir o inhabilitar una versión de clave CMEK.

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

Para obtener instrucciones sobre cómo inhabilitar y volver a habilitar versiones de clave, consulta Destruye y restablece versiones de claves.

¿Qué sigue?