Claves de encriptación administradas por el cliente (CMEK)

De forma predeterminada, Google Cloud encripta de forma automática los datos mediante claves de encriptación administradas por Google. Si tienes requisitos normativos o de cumplimiento específicos relacionados con las claves que protegen los datos, puedes usar las claves de encriptación administradas por el cliente (CMEK).

Para obtener más información sobre CMEK, consulta la guía de CMEK en la documentación de Cloud Key Management Service (KMS).

Datos protegidos

Todos los datos en reposo de los agentes conversacionales (Dialogflow CX) se pueden proteger con CMEK.

Limitaciones

  • Los agentes de almacén de datos no admiten la rotación de claves. Los agentes de agentes conversacionales (Dialogflow CX) sin almacenes de datos sí admiten la rotación de claves, por lo que los datos nuevos se encriptan con la nueva versión de la clave. No se admite volver a encriptar datos encriptados anteriormente con una versión de clave nueva.
  • No se admiten las siguientes regiones:
    • global
    • eu
  • Se debe usar una clave por ubicación del proyecto.
  • Para restablecer un agente con la CMEK habilitada, debes elegir la opción de Cloud Storage.
  • Los recursos existentes en proyectos integrados que no son de CMEK no se pueden integrar de forma retroactiva. En su lugar, se recomienda exportar y restablecer los recursos en un proyecto nuevo para CMEK.

Crea claves

Para crear claves, debes usar el servicio KMS. Para obtener instrucciones, consulta Crea claves simétricas. Cuando creas o eliges una clave, debes configurar lo siguiente:

  • Asegúrate de seleccionar la ubicación que usas para tu agente. De lo contrario, las solicitudes fallarán.
  • Los agentes conversacionales (Dialogflow CX) no admiten la rotación de claves para los agentes de almacén de datos. Si usas un agente de este tipo, el período de rotación debe establecerse en Nunca cuando crees la clave.

Configura un agente para usar tus claves

Cuando creas un agente, puedes especificar la ubicación del agente y si usará una clave administrada por Google o la clave administrada por el cliente ya configurada para esa ubicación. Haz tus selecciones en este momento.

Configura tu cuenta de servicio o de usuario

  1. Crea la cuenta de servicio de CMEK de CCAI para tu proyecto con Google Cloud CLI. Para obtener más información, consulta la documentación de identidad de los servicios de gcloud.

    gcloud beta services identity create --service=dialogflow.googleapis.com --project=PROJECT_ID

    Se creará la cuenta de servicio. No se mostrará en la respuesta de creación, pero tendrá el siguiente formato:

    service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com
  2. Otorga a la cuenta de servicio de CMEK de CCAI el rol de encriptador/desencriptador de CryptoKey de Cloud KMS para asegurarte de que el servicio tenga permisos para encriptar y desencriptar con tu clave.

    gcloud kms keys add-iam-policy-binding KMS_KEY_ID \
    --project=PROJECT_ID \
    --location=LOCATION_ID \
    --keyring=KMS_KEY_RING \
    --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-ccai-cmek.iam.gserviceaccount.com \
    --role=roles/cloudkms.cryptoKeyEncrypterDecrypter