De forma predeterminada, AI Applications encripta el contenido del cliente en reposo. AI Applications 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, incluidas las aplicaciones basadas en IA. 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 hacer un seguimiento del uso de las claves, 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 AI Applications 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).
Limitaciones de Cloud KMS en aplicaciones de IA
Las siguientes limitaciones se aplican a las claves de CMEK (Cloud KMS) en las aplicaciones basadas en IA:
- Las claves que ya se aplicaron a un almacén de datos no se pueden cambiar.
- Después de registrar una clave, no se puede anular su registro ni quitarla de un almacén de datos.
- Debes usar apps y almacenes de datos multirregionales de EE.UU. o la UE (no globales). Para obtener más información sobre las multirregiones y la residencia de datos, incluidos los límites asociados con el uso de ubicaciones no globales, consulta ubicaciones.
Si necesitas registrar más de una clave para un proyecto, comunícate con tu equipo de cuentas de Google para solicitar un aumento de la cuota para las configuraciones de CMEK y proporciona una justificación de por qué necesitas más de una clave.
El uso del administrador de claves externo (EKM) con CMEK está en DG con lista de entidades permitidas. Para usar EKM con CMEK, comunícate con tu equipo de cuentas de Google.
Se aplican las siguientes limitaciones a los EKM o HSM con CMEK:
Tu cuota de EKM y HSM para las llamadas de encriptación y desencriptación debe tener al menos 1,000 QPM de margen. Para saber cómo consultar tus cuotas, consulta Cómo consultar tus cuotas de Cloud KMS.
Si se usa EKM, se debe poder acceder a la clave durante más del 90% de cualquier período de más de 30 segundos. Si no se puede acceder a la clave durante este período, se puede afectar negativamente la indexación y la actualización de la búsqueda.
Si hay problemas de facturación, problemas persistentes de falta de cuota o problemas persistentes de inaccesibilidad durante más de 12 horas, el servicio desactiva automáticamente el CmekConfig asociado con la clave del EKM o del HSM.
Los almacenes de datos creados antes de que se registre una clave en el proyecto no pueden protegerse con la clave.
No puedes ajustar los modelos de búsqueda para los almacenes de datos protegidos por claves.
En el caso de las apps con varios almacenes de datos, si uno de almacén de datos usa una configuración de CMEK, todos los demás también deben usar la misma configuración de CMEK.
La rotación de claves no se admite para las claves de una sola región de los conectores de terceros. Si inhabilitas o destruyes una versión de clave que protege un almacén de datos asociado con un conector de terceros, el conector dejará de funcionar.
La rotación de claves no es compatible con Analytics. Si rotas las claves de un almacén de datos, las apps que lo usen ya no mostrarán estadísticas.
La rotación de claves no se admite en las apps de recomendaciones. Si inhabilitas o destruyes una versión de la clave que protege un almacén de datos asociado a una app de recomendaciones, esta dejará de funcionar.
Para Vertex AI Search, se requiere la edición Enterprise. Para obtener información sobre la edición Enterprise, consulta Acerca de las funciones avanzadas.
Los conectores de origen no son compatibles con la CMEK, excepto los almacenes de datos "import-once" y "periodic" para BigQuery y Cloud Storage.
Los almacenes de datos de búsqueda de atención médica y los conectores de terceros son compatibles con CMEK. Sin embargo, los conectores propios, como el conector periódico de BigQuery, no son compatibles con CMEK. Para obtener información general sobre los almacenes de datos de atención médica, consulta Crea un almacén de datos de búsqueda de atención médica. Para obtener información sobre cómo hacer que los conectores de terceros sean compatibles con CMEK, consulta Acerca de las claves de una sola región para los conectores de terceros.
Las claves no se aplican a las siguientes APIs de RAG: check grounding, grounded generation y ranking.
- No puedes usar Terraform para configurar la CMEK para las aplicaciones basadas en IA.
Acerca de las claves de una sola región para los conectores de terceros
Si usas conectores de terceros y deseas usar tus propias claves para proteger los datos conectados, debes crear tres claves complementarias de una sola región, además de la clave de varias regiones. Los comandos para crear claves se proporcionan en el siguiente procedimiento, Registra tu clave de Cloud KMS.
Las claves únicas deben crearse para las siguientes regiones:
Multirregión | Regiones únicas | ||
---|---|---|---|
eu |
europe-west1 |
europe-west4 |
europe-north1 |
us |
us-east1 |
us-central1 |
us-west1 |
Antes de comenzar
Asegúrate de cumplir con los siguientes requisitos previos:
Crea una clave simétrica multirregional de Cloud KMS. Consulta Crea un llavero de claves y Crea una clave en la documentación de Cloud KMS.
Establece el período de rotación en Nunca (rotación manual).
En Ubicación, selecciona Multirregión y, luego, europe o us en el menú desplegable.
Se otorgó el rol de IAM de encriptador/desencriptador de CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) en la clave al agente de servicio de Discovery Engine. La cuenta del agente de servicio tiene una dirección de correo electrónico con el siguiente formato:service-PROJECT_NUMBER@gcp-sa-discoveryengine.iam.gserviceaccount.com
. Para obtener instrucciones generales sobre cómo agregar un rol a un agente de servicio, consulta Otorga o revoca un solo rol.Se otorgó el rol de IAM de encriptador/desencriptador de CryptoKey (
roles/cloudkms.cryptoKeyEncrypterDecrypter
) en la clave al agente de servicio de Cloud Storage. Si no se otorga este rol, fallará la importación de datos para los almacenes de datos protegidos por CMEK, ya que Discovery Engine no podrá crear el bucket y el directorio temporales protegidos por CMEK que se requieren para la importación.No crees ningún almacén de datos ni apps que quieras que administre tu clave hasta que completes las instrucciones de registro de la clave que se indican en esta página.
- Las funciones de la edición Enterprise están activadas para la app. Consulta Cómo activar o desactivar la edición Enterprise.
Registra tu clave de Cloud KMS
Para encriptar datos con CMEK, debes registrar tu clave multirregional. De manera opcional, si tus datos necesitan claves de una sola región (por ejemplo, cuando usas conectores de terceros), debes registrar tus claves de una sola región.
REST
Para registrar tu propia clave para las aplicaciones basadas en IA, sigue estos pasos:
Llama al método
UpdateCmekConfig
con la clave que deseas registrar.curl -X PATCH \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -d '{"kmsKey":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
Reemplaza lo siguiente:
KMS_PROJECT_ID
: Es el ID del proyecto que contiene la clave. El número del proyecto no funcionará.KMS_LOCATION
: Es la multirregión de tu clave:us
oeurope
.KEY_RING
: Es el nombre del llavero de claves que contiene la clave.KEY_NAME
: el nombre de la clave.PROJECT_ID
: Es el ID del proyecto que contiene el almacén de datos.LOCATION
: Es la multirregión de tu almacén de datos:us
oeu
.CMEK_CONFIG_ID
: Establece un ID único para el recurso CmekConfig, por ejemplo,default_cmek_config
.SET_DEFAULT
: Se establece entrue
para usar la clave como la clave predeterminada para los almacenes de datos posteriores creados en la región múltiple.
Opcional: Registra el valor de
name
que devuelve el método y sigue las instrucciones en Obtén detalles sobre una operación de larga duración para ver cuándo se completa la operación.Por lo general, el registro de una llave tarda unos minutos.
Una vez que se completa la operación, los almacenes de datos nuevos en esa multirregión están protegidos por la clave. Para obtener información general sobre la creación de almacenes de datos, consulta Acerca de las apps y los almacenes de datos.
Console
Antes de comenzar
Asegúrate de que la región no esté protegida por una clave. El siguiente procedimiento falla si ya se registró una clave para la región a través del comando REST.
Para determinar si hay una clave activa en AI Applications para una ubicación, consulta Cómo ver las claves de Cloud KMS.
Procedimiento
Para registrar tu propia clave para las aplicaciones basadas en IA, sigue estos pasos:
En la consola de Google Cloud , ve a la página AI Applications.
Haz clic en Configuración y selecciona la pestaña CMEK.
Haz clic en Agregar clave para la ubicación us o eu.
Haz clic en Agregar clave. Haz clic en el menú desplegable Selecciona una clave de Cloud KMS y elige la clave.
Si la clave está en otro proyecto, haz clic en Cambiar proyecto, luego en el nombre de tu proyecto, escribe el nombre de la clave que creaste y selecciona la clave.
Si conoces el nombre del recurso de la clave, haz clic en Ingresar manualmente, pega el nombre del recurso de la clave y haz clic en Guardar.
Haz clic en Aceptar > Guardar.
Esto registra tu clave y crea un CmekResource llamado default_cmek_config
.
Los datos transferidos pueden tardar varias horas en aparecer en los resultados de la búsqueda.
Visualiza las claves de Cloud KMS
Para ver una clave registrada para las aplicaciones basadas en IA, realiza una de las siguientes acciones:
Si tienes el nombre del recurso CmekConfig, llama al método
GetCmekConfig
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
Reemplaza lo siguiente:
LOCATION
: Es la multirregión de tu almacén de datos:us
oeu
.PROJECT_ID
: Es el ID del proyecto que contiene los datos.CMEK_CONFIG_ID
: Es el ID del recurso CmekConfig. Si registraste tu clave con la consola, el ID esdefault_cmek_config
.
Un ejemplo de llamada y respuesta de curl se ve de la siguiente manera:
$ curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config"
{ "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true }Si no tienes el nombre del recurso CmekConfig, llama al método
ListCmekConfigs
:curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
Reemplaza lo siguiente:
LOCATION
: Es la multirregión de tu almacén de datos:us
oeu
.PROJECT_ID
: Es el ID del proyecto que contiene los datos.
Un ejemplo de llamada y respuesta de curl se ve de la siguiente manera:
$ curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs"
{ "cmek_configs": [ { "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config", "kmsKey": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" "state": "ACTIVE" "isDefault": true } ] }
Anula el registro de tu clave de Cloud KMS
Para anular el registro de tu clave en AI Applications, sigue estos pasos:
Llama al método
DeleteCmekConfig
con el nombre del recurso CmekConfig que deseas anular el registro.curl -X DELETE \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
Reemplaza lo siguiente:
LOCATION
: Es la multirregión de tu almacén de datos:us
oeu
.PROJECT_ID
: Es el ID del proyecto que contiene el almacén de datos.CMEK_CONFIG_ID
: Es el ID del recurso CmekConfig. Si registraste tu clave con la consola, el ID esdefault_cmek_config
.
Un ejemplo de llamada y respuesta de curl se ve de la siguiente manera:
$ curl -X DELETE -H "Authorization: Bearer $(gcloud auth print-access-token)" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/cmekConfigs/default_cmek_config" { "name": "projects/my-ai-app-project-123/locations/us/operations/delete-cmek-config-56789", "metadata": { "@type": "type.googleapis.com/google.cloud.discoveryengine.v1.DeleteCmekConfigMetadata" } }
Opcional: Registra el valor de
name
que muestra el método y sigue las instrucciones en Cómo obtener detalles sobre una operación de larga duración para ver cuándo se completa la operación.Por lo general, la eliminación de una llave tarda unos minutos.
Verifica que un almacén de datos esté protegido por una clave
Los almacenes de datos que se crearon antes de que se registrara tu clave no están protegidos por ella. Si deseas confirmar que un almacén de datos en particular está protegido por tu clave, sigue estos pasos:
Ejecuta el siguiente comando curl en el almacén de datos:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ -H "x-goog-user-project: PROJECT_ID" \ "https://LOCATION-discoveryengine.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
Reemplaza lo siguiente:
LOCATION
: Es la multirregión de tu almacén de datos:us
oeu
.PROJECT_ID
: Es el ID del proyecto que contiene el almacén de datos.DATA_STORE_ID
: Es el ID del almacén de datos.
Un ejemplo de llamada de curl se ve de la siguiente manera:
curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H "x-goog-user-project: my-ai-app-project-123" "https://us-discoveryengine.googleapis.com/v1/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
Revisa el resultado del comando: Si el campo
cmekConfig
está en el resultado y el campokmsKey
muestra la clave que registraste, el almacén de datos está protegido por la clave.Un ejemplo de respuesta se ve de la siguiente manera:
{ "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1", "displayName": "my-data-store-1", "industryVertical": "GENERIC", "createTime": "2023-09-05T21:20:21.520552Z", "solutionTypes": [ "SOLUTION_TYPE_SEARCH" ], "defaultSchemaId": "default_schema", "cmekConfig": { "name": "projects/969795412903/locations/us/collections/default_collection/dataStores/my-data-store-1/cmekConfigs/default_cmek_config", "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key" } }
Otros datos protegidos por la clave de Cloud KMS
Además de los datos en los almacenes de datos, tus claves pueden proteger otros tipos de información principal propiedad de la app que almacenan las aplicaciones basadas en IA, como los datos de sesión que se generan durante la búsqueda con seguimiento. Este tipo de información principal está protegida por CMEK si los almacenes de datos asociados con la app están protegidos por CMEK.
Si bien no puedes ejecutar un comando específico para verificar que las sesiones estén protegidas, si ejecutas el comando Verifica que un almacén de datos esté protegido por una clave y ves la clave en el recurso cmekConfig, sabrás que los datos de la sesión están protegidos.
Rota las claves de Cloud KMS
Cuando rotas las claves, creas una versión nueva de la clave y la configuras como la versión principal. Deja habilitada la versión original de la clave durante un tiempo antes de inhabilitarla. Esto les da tiempo a las operaciones de larga duración que podrían estar usando la clave anterior para completarse.
En el siguiente procedimiento, se describen los pasos para rotar las claves de un almacén de datos de las aplicaciones de IA. Para obtener información general sobre la rotación de claves, consulta Rotación de claves en la guía de Cloud KMS.
Importante: No rotes las claves en los almacenes de datos asociados con las apps de recomendaciones o con cualquier app que necesite estadísticas, y no rotes las claves de una sola región que se usan para los conectores de terceros. Consulta Limitaciones de Cloud KMS en aplicaciones basadas en IA.
Vuelve a registrar tu llave. Para ello, repite el paso 1 de Registra tu clave de Cloud KMS.
Consulta las instrucciones en la sección Administra claves de la guía de Cloud KMS para hacer lo siguiente:
Crea una versión de clave nueva, habilítala y conviértela en la principal.
Deja habilitada la versión de clave anterior.
Después de una semana, inhabilita la versión de clave anterior y asegúrate de que todo funcione como antes.
En una fecha posterior, cuando tengas la certeza de que la inhabilitación de la versión anterior de la clave no causó problemas, puedes destruirla.
Si se inhabilita o revoca una clave de Cloud KMS
Si una clave está inhabilitada o se revocan los permisos para la clave, el almacén de datos deja de transferir datos y de publicarlos en un plazo de 15 minutos. Sin embargo, volver a habilitar una clave o restablecer los permisos lleva mucho tiempo. El almacén de datos puede tardar hasta 24 horas en reanudar la publicación de datos.
Por lo tanto, no inhabilite una clave a menos que sea necesario. Habilitar e inhabilitar una clave en un almacén de datos es una operación que lleva mucho tiempo. Por ejemplo, cambiar repetidamente una clave entre inhabilitada y habilitada significa que el almacén de datos tardará mucho en alcanzar un estado protegido. Si inhabilitas una clave y la vuelves a habilitar inmediatamente después, es posible que se produzcan días de inactividad, ya que primero se inhabilita la clave del almacén de datos y, luego, se vuelve a habilitar.