Claves de encriptación administradas por el cliente

En esta página, se describe cómo usar tu propia clave de encriptación para proteger tus datos. en las multirregiones de EE.UU. y la UE.

De forma predeterminada, Vertex AI Agent Builder encripta el contenido almacenado en reposo. Vertex AI Agent Builder controla y administra esta encriptación predeterminada por ti sin que debas realizar ninguna acción adicional.

Sin embargo, si tienes requisitos regulatorios o de cumplimiento específicos relacionados con las claves que protegen tus datos, puedes usar claves de encriptación (CMEK) para proteger tus recursos. En este caso, usarás Cloud KMS y sigue el procedimiento que se describe en esta página. La clave se asocia con un ubicación específica: la multirregión de EE.UU. o la multirregión de la UE.

Las claves de Cloud KMS se usan para encriptar y desencriptar los datos de tus datos. tiendas y apps. Para obtener información general sobre Cloud KMS, consulta el Documentación de Cloud Key Management Service.

Limitaciones de Cloud KMS en Vertex AI Agent Builder

Las siguientes limitaciones se aplican a claves CMEK (Cloud KMS) en Vertex AI Agent Builder:

  • No se pueden cambiar las claves que ya se aplicaron a un almacén de datos.

  • Si tienes políticas de la organización de CMEK, debes crear almacenes de datos nuevos mediante la API, no la consola de Google Cloud. Crear almacenes de datos nuevos con el La consola de Google Cloud falla si tienes habilitadas las políticas de la organización de CMEK.

  • Una vez que se registra una clave, no se puede anular el registro ni quitarse de una en un almacén de datos.

  • Debes usar almacenes de datos y apps multirregionales de EE.UU. o la UE (no los 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 de Vertex AI Search o Ubicaciones de los agentes de Vertex AI.

  • 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 de las configuraciones de CMEK y proporciona una justificación de por qué necesitas más de una clave.

  • Usa un administrador de claves externo (EKM) o un módulo de seguridad de hardware (HSM) con CMEK está en Google Analytics con una lista de entidades permitidas. Para usar EKM o HSM con CMEK, comunícate con el equipo de tu cuenta de Google.

    Las siguientes limitaciones se aplican a EKM o HSM con CMEK:

    • Tu cuota de EKM y HSM para encriptar y desencriptar llamadas debe tener al menos 1,000 QPM de margen. Para saber cómo comprobar tus cuotas, consulta Comprueba tu Cuotas de Cloud KMS

    • Si usas un EKM, se debe poder acceder a la clave durante más del 90% de cualquier período de tiempo superior a 30 segundos. Si no se puede acceder a la clave para esto de tiempo, puede afectar negativamente la indexación y la actualidad de las búsquedas.

    • 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 rechaza automáticamente la CmekConfig asociada con la clave de EKM o HSM.

  • Los almacenes de datos creados antes de que se registre una clave en el proyecto no se pueden proteger con la clave.

  • 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.

  • No puedes ajustar los modelos de búsqueda para los almacenes de datos que están protegidos por claves CMEK.

  • Los almacenes de datos de búsqueda de atención médica cumplen con CMEK. Sin embargo, es posible que otros proveedores los almacenes de datos de conectores y el conector periódico de BigQuery no y compatible 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 servicios de salud. Para obtener información general sobre los conectores de terceros, consulta Conecta una fuente de datos de terceros.

  • La rotación de claves no es compatible con las apps de recomendaciones. Si inhabilitas o destruyes una versión de clave que protege un almacén de datos asociado con una app de recomendaciones, la app deja de funcionar.

  • La rotación de claves no es compatible con las estadísticas. Si rotas para un almacén de datos, las apps que usan ese almacén ya no muestran de análisis de datos en la nube.

  • Las claves CMEK no se aplican a las siguientes APIs de RAG: verificar los fundamentos, el ranking y la generación fundamentada.

Antes de comenzar

Asegúrate de cumplir con los siguientes requisitos previos:

  • Una clave simétrica de Cloud KMS con el período de rotación establecido en Nunca (rotación manual) Consulta Cómo crear un llavero de claves y Crea una clave en Cloud KMS en la documentación de Google Cloud.

  • El rol de IAM de Encriptador/Desencriptador de CryptoKey (roles/cloudkms.cryptoKeyEncrypterDecrypter) en la clave al agente de servicio de Discovery Engine. Si deseas obtener instrucciones generales para agregar un rol a un agente de servicio, consulta Otorgar o revocar un solo .

  • 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, la importación de datos de los almacenes de datos protegidos por CMEK fallarán porque Discovery Engine está no podrá activar el bucket temporal protegido por CMEK y el directorio que se necesarias para la importación.

  • No crees almacenes de datos ni apps que quieras que administre tu clave hasta que Después de completar el registro de la clave instrucciones detalladas en esta página.

  • Las funciones de la edición Enterprise deben estar activadas para la app. Consulta Turn Enterprise activar o desactivar la edición.

Registra tu clave de Cloud KMS

Si deseas registrar tu propia clave administrada para Vertex AI Agent Builder, sigue estos pasos: pasos:

  1. Llama al método UpdateCmekConfig con la clave de Cloud KMS que deseas registrar.

    curl -X PATCH \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"kms_key":"projects/KMS_PROJECT_ID/locations/KMS_LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME"}' \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID?set_default=SET_DEFAULT"
    
    • KMS_PROJECT_ID: El ID del proyecto que contiene la . El número de proyecto no funcionará.
    • KMS_LOCATION: Es la multirregión de tu clave de KMS: us o europe.
    • 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 los datos. en una tienda física.
    • LOCATION: Es la multirregión del almacén de datos, que puede ser us o eu.
    • CMEK_CONFIG_ID: Es el ID del recurso CmekConfig.
    • SET_DEFAULT: Establece en true para usar la clave como la clave predeterminada para los almacenes de datos posteriores que se creen en la región múltiple.

    Un ejemplo de llamada y respuesta de curl se ve de la siguiente manera:

    $ curl -X PATCH
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    -H "Content-Type: application/json
    -d '{"kms_key":"projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"}'
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1?set_default=true"
     
    {
     "name": "projects/my-ai-app-project-123/locations/us/operations/update-cmek-config-56789",
     "metadata": {
      "@type": "type.googleapis.com/google.cloud.discoveryengine.v1alpha.UpdateCmekConfigMetadata"
     }
    }
    

  2. Opcional: Registra el valor name que muestra el método y sigue las instrucciones que se indican en Obtén detalles sobre una operación de larga duración para ver cuándo se completa la operación.

    El registro de una clave suele tardar unos minutos.

Una vez que se completa la operación, la clave protege los almacenes de datos nuevos de esa multirregión. Para obtener información general sobre la creación de almacenes de datos, consulta Crea un almacén de datos de búsqueda.

Visualiza las claves de Cloud KMS

Para ver una clave registrada de Vertex AI Agent Builder, haz lo siguiente:

  • Si tienes el nombre del recurso de CmekConfig, llama al método GetCmekConfig:

    curl -X GET \
    -H "Authorization: Bearer $(gcloud auth print-access-token)" \
    "https://LOCATION-discoveryengine.googleapis.com/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs/CMEK_CONFIG_ID"
    
    • LOCATION: Es la multirregión de tu almacén de datos: us o eu.
    • PROJECT_ID: Es el ID de tu proyecto que contiene los datos.
    • CMEK_CONFIG_ID: Es el ID del recurso CmekConfig.

    Una llamada y una respuesta de curl de ejemplo se ven de la siguiente manera:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1"
     
    {
      "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1",
      "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
      "state": "ACTIVE"
      "is_default": 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/v1alpha/projects/PROJECT_ID/locations/LOCATION/cmekConfigs"
    
    • LOCATION: Es la multirregión de tu almacén de datos: us o eu.
    • PROJECT_ID: Es el ID de tu proyecto que contiene los datos.

    Una llamada y una respuesta de curl de ejemplo se ven de la siguiente manera:

    $ curl -X GET
    -H "Authorization: Bearer $(gcloud auth print-access-token)"
    "https://us-discoveryengine.googleapis.com/v1alpha/projects/my-ai-app-project-123/locations/us/cmekConfigs"
     
    {
      "cmek_configs": [
        {
          "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-1",
          "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
          "state": "ACTIVE"
          "is_default": true
        }
        {
          "name": "projects/my-ai-app-project-123/locations/us/cmekConfigs/cmek-config-2",
          "kms_key": "projects/key-project-456/locations/us/keyRings/my-key-ring/cryptoKeys/my-key-2"
          "state": "ACTIVE"
        }
      ]
    }
    

Opcional: Verifica que un almacén de datos esté protegido por una clave

Los almacenes de datos creados antes de registrar la clave no están protegidos por la clave. Si quieres confirmar que un almacén de datos en particular está protegido por la clave, sigue estos pasos:

  1. 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/v1alpha/projects/PROJECT_ID/locations/LOCATION/collections/default_collection/dataStores/DATA_STORE_ID"
    
    • LOCATION: Es la multirregión de tu almacén de datos: us o eu.
    • PROJECT_ID: Es el ID del proyecto que contiene los datos. en una tienda física.
    • DATA_STORE_ID: Es el ID del almacén de datos.

    Una llamada a curl de ejemplo 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/v1alpha/projects/my-ai-app-project-123/locations/us/collections/default_collection/dataStores/my-data-store-1"
    

  2. Revisa el resultado del comando: Si el campo cmekConfig está en el y el campo kmsKey muestra la clave que registraste; luego, almacén de datos está protegido por la clave.

    Una respuesta de ejemplo 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/cmek-config-1",
       "kmsKey": "projects/my-ai-app-project-123/locations/us/keyRings/my-key-ring/cryptoKeys/my-key"
     }
    }
    

Rotar claves

Cuando rota las claves, creas una versión nueva de la clave y la configuras como la versión principal. Deja la versión original de la clave habilitada durante un tiempo antes de inhabilitarla. Esto le da a cualquier cliente potencial que podrían usar el tiempo de clave más antiguo para completarse.

En el siguiente procedimiento, se describen los pasos para rotar claves en un Almacén de datos de Vertex AI Agent Builder. 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 rote las claves de los almacenes de datos asociados con las recomendaciones. o en las que necesiten estadísticas. Consulta las Limitaciones de Cloud KMS en Vertex AI Agent Builder.

  1. Vuelve a registrar tu llave. Para ello, repite el paso 1 de Registra tu Clave de Cloud KMS

  2. Consulta las instrucciones en la sección Administrar claves de la Guía de Cloud KMS para hacer lo siguiente:

    1. Crea una versión de clave nueva, habilítala y conviértela en la versión principal.

    2. Deja habilitada la versión de clave anterior.

    3. Después de una semana, inhabilita la versión de clave anterior y asegúrate de que todo funcione como antes.

    4. En una fecha posterior, cuando tenga la certeza de que el si inhabilitas la versión de clave anterior, puedes destruir la versión de clave anterior.

Si se inhabilita o revoca una clave

Si se inhabilita una clave o se revocan los permisos de la clave, el almacén de datos deja de transferir y publicar datos en un plazo de 15 minutos. Sin embargo, volver a habilitar una clave o restablecer 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 inhabilites una clave, a menos que sea necesario. Inhabilita y habilita una clave en un almacén de datos es una operación que consume mucho tiempo. Por ejemplo, cambiar una clave de inhabilitada a habilitada de forma repetida significa que el almacén de datos tardará mucho tiempo en alcanzar un estado protegido. Inhabilitar una clave y volver a habilitarla inmediatamente después podría generar días de tiempo de inactividad porque primero se inhabilita la clave en el almacén de datos y, luego, que se volvió a habilitar.