De forma predeterminada, Agent Assist encripta el contenido del cliente en reposo. Agent Assist controla la encriptación por ti sin que debas realizar ninguna acción adicional. Esta opción se denomina Encriptación predeterminada de Google.
Si deseas controlar tus claves de encriptación, puedes usar las claves de encriptación administradas por el cliente (CMEK) en Cloud KMS con servicios integrados en CMEK, incluido Agent Assist. El uso de claves de Cloud KMS te permite controlar su nivel de protección, ubicación, programa de rotación, permisos de uso y acceso, y límites criptográficos. El uso de Cloud KMS también te permite ver los registros de auditoría y controlar los ciclos de vida de las claves. 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 KMS.
Después de configurar tus recursos con CMEK, la experiencia de acceso a tus recursos de Agent Assist es similar a usar la encriptación predeterminada de Google. Para obtener más información sobre tus opciones de encriptación, consulta Claves de encriptación administradas por el cliente (CMEK).
Datos protegidos
Solo los datos de conversación en reposo en una ubicación admitida se pueden proteger con CMEK.
Ubicaciones y funciones admitidas
La CMEK está disponible en todas las ubicaciones de Agent Assist y para todas las funciones de Agent Assist en las ubicaciones admitidas, incluidas las funciones potenciadas por IA generativa.
Limitaciones
La CMEK no está disponible para las funciones que están inhabilitadas en las ubicaciones de Agent Assist y en la respuesta inteligente.
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 tus datos de Agent Assist. De lo contrario, las solicitudes fallarán.
Habilita la CMEK en Agent Assist
Antes de crear datos de Agent Assist en una ubicación específica, puedes especificar si los datos de esa ubicación estarán protegidos por una clave administrada por el cliente. Configura tu llave en este momento.
Requisitos previos
Crea la cuenta de servicio de CMEK de la CCAI para tu proyecto con Google Cloud CLI. Para obtener más información, consulta la documentación sobre la 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 devolverá 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 la CCAI el rol de Encriptador/Desencriptador de CryptoKey de Cloud KMS para garantizar 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
Configura una clave para una ubicación de Agent Assist
Usa la API de InitializeEncryptionSpec para configurar la clave.
Deberás proporcionar las siguientes variables:
PROJECT_ID
: El ID de tu proyecto de Google Cloud .LOCATION_ID
: Es la ubicación que elegiste para habilitar la CMEK en Agent Assist.KMS_KEY_RING
: Es el llavero de claves en el que se creó tu clave de KMS. (La ubicación en el llavero de claves, comoprojects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING
, debe coincidir con la ubicación en la que habilitas la CMEK).KMS_KEY_ID
: Es el nombre de la clave de KMS que se usará para encriptar y desencriptar los datos de Agent Assist en la ubicación seleccionada.
Por ejemplo:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json; charset=utf-8" \ -d "{ encryption_spec: { kms_key: 'projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KMS_KEY_RING/cryptoKeys/KMS_KEY_ID' } }" \ "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec:initialize"
Deberías recibir una respuesta JSON similar a la que se muestra a continuación:
{ "name": "projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID" }
Usa la API de GetOperation para verificar el resultado de la operación de larga duración.
Por ejemplo:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/operations/OPERATION_ID"
Verifica la configuración de CMEK
Usa la API de GetEncryptionSpec para verificar la clave de encriptación configurada para una ubicación.
Por ejemplo:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION_ID-dialogflow.googleapis.com/v2/projects/PROJECT_ID/locations/LOCATION_ID/encryptionSpec"
Revocar claves
Para revocar el acceso de Agent Assist a la clave, puedes inhabilitar la versión de la clave de KMS o quitar el rol de encriptador/desencriptador de CryptoKey de Cloud KMS de la cuenta de servicio de la clave de KMS.
Después de la revocación de la clave, Agent Assist no podrá acceder a los datos encriptados y el servicio dejará de estar operativo hasta que se restablezcan los permisos de la clave.