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 de conversación (Dialogflow CX) se pueden proteger con CMEK.
Limitaciones
- Analytics está inhabilitado para los agentes con CMEK habilitadas.
- Los agentes de almacén de datos no admiten la rotación de claves. Los agentes de conversación (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 clave. Volver a encriptar datos previamente encriptados con una versión de clave nueva no es no es compatible.
- La ubicación global no es no es compatible.
- Se debe usar una clave por ubicación de 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 con CMEK de forma retroactiva. En su lugar, se recomienda que los recursos se exporten y se restablezcan 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. Realiza tus selecciones en este momento.
Configura tu cuenta de servicio o de usuario
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
Otorga a la cuenta de servicio de CMEK de CCAI el rol 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