CMEK

De forma predeterminada, Gemini Enterprise Agent Platform encripta el contenido del cliente en reposo. Agent Platform 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 el de Agent Platform. 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 Agent Platform 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).

En esta guía, se describen algunos beneficios de usar CMEK para los recursos de Gemini Enterprise Agent Platform y se explica cómo configurar un trabajo de entrenamiento para usar CMEK.

Para obtener más información sobre cómo usar CMEK para Colab Enterprise, consulta la página de CMEK de Colab Enterprise. Para obtener más información sobre cómo usar CMEK para las instancias de Gemini Enterprise Agent Platform Workbench, consulta la página de CMEK de las instancias de Agent Platform Workbench.

CMEK para recursos de Gemini Enterprise Agent Platform

En las siguientes secciones, se describe información básica sobre las CMEK para los recursos de Gemini Enterprise Agent Platform que debes comprender antes de configurar las CMEK para tus trabajos.

Beneficios de CMEK

En general, las CMEK son más útiles si necesitas control total sobre las claves que se usan para encriptar los datos. Mediante CMEK, puedes administrar las claves dentro de Cloud Key Management Service. Por ejemplo, puedes rotar o inhabilitar una clave, o bien puedes configurar una programación de rotación mediante la API de Cloud KMS. Para obtener más información sobre las CMEK en general, incluso cuándo y por qué habilitarlas, consulta la documentación de Cloud KMS.

Cuando ejecutas un trabajo de entrenamiento AutoML o personalizado, tu código se ejecuta en una o más instancias de máquina virtual (VM) administradas por Gemini Enterprise Agent Platform. Cuando habilitas CMEK para los recursos de Gemini Enterprise Agent Platform, la clave que designes, en lugar de una clave administrada por Google, se usa para encriptar los datos en los discos de arranque de estas VMs. La clave CMEK encripta las siguientes categorías de datos:

  • La copia del código en las VM.
  • Cualquier dato que se cargue con el código.
  • Cualquier dato temporal que el código guarde en el disco local.
  • Modelos con entrenamiento de AutoML.
  • Archivos de medios (datos) subidos como conjuntos de datos de medios.

En general, la clave CMEK no encripta los metadatos asociados con tu operación, como el nombre y la región del trabajo, o el nombre visible de un conjunto de datos. Los metadatos asociados con las operaciones siempre se encriptan mediante el mecanismo de encriptación predeterminado de Google.

En los conjuntos de datos, cuando un usuario importa datos a un conjunto de datos, las anotaciones y los elementos de datos están encriptados con CMEK. El nombre visible del conjunto de datos no está encriptado con CMEK.

Para los modelos, los modelos almacenados en el sistema de almacenamiento (por ejemplo, el disco) están encriptados con CMEK. Todos los resultados de la evaluación del modelo están encriptados con CMEK.

En endpoints, todos los archivos del modelo usados para la implementación del modelo en el extremo están encriptados con CMEK. Esto no incluye ningún dato en la memoria.

En la predicción por lotes, los archivos temporales (como los archivos de modelo, los registros y los discos de VM) que se usan para ejecutar el trabajo de predicción por lotes están encriptados con CMEK. Los resultados de la predicción por lotes se almacenan en el destino que proporcionó el usuario. Por lo tanto, Agent Platform respeta el valor predeterminado de la configuración de encriptación del destino. De lo contrario, los resultados también se encriptarán con CMEK.

En el etiquetado de datos, todos los archivos de entrada (imagen, texto, tabulares), discusiones temporales (por ejemplo, preguntas, comentarios) y salida (resultado de etiquetado) están encriptados con CMEK. Los nombres visibles de las especificaciones de anotación no están encriptados con CMEK.

En el caso de los agentes, las CMEK encriptan todos los archivos de origen que se usan para el desarrollo de agentes. Además, las imágenes de contenedor y las instancias implementadas para el agente también están encriptadas con CMEK.

Claves externas

Puedes usar Cloud External Key Manager (Cloud EKM) para crear claves externas, que administras, para encriptar datos dentro de Google Cloud.

Cuando usas una clave de Cloud EKM, Google no tiene control sobre la disponibilidad de tu clave administrada de forma externa. Si solicitas acceso a un recurso encriptado con una clave administrada de forma externa y la clave no está disponible, Gemini Enterprise Agent Platform rechazará la solicitud. Puede haber un retraso de hasta 10 minutos antes de que puedas acceder al recurso una vez que la clave esté disponible.

Para obtener más consideraciones sobre el uso de claves externas, consulta Cloud EKM.

Usa CMEK con otros productos de Google Cloud

Configurar CMEK para los recursos de Gemini Enterprise Agent Platform no configura automáticamente CMEK para otros productos de Google Cloud que uses junto con Gemini Enterprise Agent Platform. Para usar CMEK y encriptar datos en otros productos deGoogle Cloud , se requiere una configuración adicional. Por ejemplo:

Recursos actualmente compatibles con CMEK

Los recursos actuales de Gemini Enterprise Agent Platform que cubre CMEK son los siguientes. La compatibilidad de CMEK con las funciones de versión preliminar también se encuentra en el estado de versión preliminar.

Recurso Material encriptado Vínculos de documentación
Conjunto de datos
  • Todos los datos importados de los usuarios (por ejemplo, contenido de texto) para DataItems y Annotations.
  • Contenido que creó el usuario, como AnnotationSpecs, ColumnSpecs.
Modelo
  • Archivos de modelo subidos.
  • Resultados de la evaluación del modelo entrenado.
Extremo
  • Todos los archivos de modelo usados para la implementación del modelo en el extremo. Esto no incluye ningún dato en la memoria, pero se anulará la implementación automática del modelo si la clave está inhabilitada.
CustomJob
  • La copia del código en las VM que se usa para ejecutar la operación.
  • Cualquier dato que se cargue con el código.
  • Cualquier dato temporal que el código guarde en el disco local.
HyperparameterTuningJob
  • La copia del código en las VM que se usa para ejecutar la operación.
  • Cualquier dato que se cargue con el código.
  • Cualquier dato temporal que el código guarde en el disco local.
TrainingPipeline
  • La copia del código en las VM que se usa para ejecutar la operación.
  • Cualquier dato que se cargue con el código.
  • Cualquier dato temporal que el código guarde en el disco local.
  • Modelos con entrenamiento de AutoML.
BatchPredictionJob (excluye batchPrediction de imagen de AutoML)
  • Cualquier archivo temporal (por ejemplo, archivos de modelo, registros, discos de VM) que se usa en el trabajo para continuar con el trabajo de predicción por lotes.
  • Si los resultados escritos de BatchPrediction se almacenan en el destino proporcionado por el usuario, este respetará la configuración de encriptación del valor predeterminado. De lo contrario, también se encriptará con CMEK.
ModelDeploymentMonitoringJob
  • Cualquier archivo temporal (por ejemplo, archivos de conjunto de datos de entrenamiento, registros, discos de VM) que se usa en el trabajo para procesar el trabajo de supervisión de la implementación del modelo.
  • Cualquier dato que se usa para detectar anomalías de supervisión.
  • Si la clave está inhabilitada, se detendrá el trabajo de supervisión de la implementación del modelo.
PipelineJob
  • El trabajo de canalización y todos sus subrecursos
MetadataStore
  • Todo el contenido del almacén de metadatos.
TensorBoard
  • Todos los datos de los registros de TensorBoard que se subieron, incluidos los escalares, los histogramas, las imágenes del grafo, las imágenes y el texto.
Almacén de atributos
  • El almacén de atributos y todo el contenido del almacén de atributos
Índice
  • Todos los archivos de datos que se usan para los índices de Vector Search almacenados en Cloud Storage, Pub/Sub y el almacenamiento interno. El índice y el IndexEndpoint deben crearse con la misma clave.
IndexEndpoint
  • Todos los archivos de datos que se usan para los índices de Vector Search almacenados en Cloud Storage, Pub/Sub y el almacenamiento interno. El índice y el IndexEndpoint deben crearse con la misma clave.
Entorno de ejecución de Colab Enterprise
  • El disco de arranque y los discos de datos de la VM del entorno de ejecución
Notebook de Colab Enterprise
  • El archivo del notebook y sus comentarios
Agent Runtime
  • La copia de los archivos de origen de tu agente, incluidos el código, las secuencias de comandos y los archivos de dependencia
  • Las imágenes de contenedor compiladas a partir de los archivos de origen de tu agente
  • Las instancias en ejecución implementadas desde las imágenes de contenedor de tu agente
Zonas de pruebas de Agent Platform
  • Estados de los puntos de control de la memoria y almacenamiento en disco de las instancias de zona de pruebas en ejecución
  • Superposiciones de contenedores personalizados y parámetros de configuración del entorno
  • Instantáneas y plantillas de zona de pruebas guardadas
ServingProfile
  • Datos almacenados en reposo por APIs sin recursos (basadas en solicitudes), por ejemplo, datos de reanudación de sesiones de la API de Gemini Live y las interacciones almacenadas de la API de Interactions.

Compatibilidad con CMEK para las canalizaciones de ajuste de la IA generativa

La compatibilidad con CMEK se proporciona en la canalización de ajuste de los siguientes modelos:

  • BERT
  • T5
  • image-generation (GPU)

Limitaciones

No se proporciona compatibilidad con CMEK en los siguientes casos:

  • Predicción por lotes del modelo de imagen de AutoML (BatchPredictionJob)
  • Ajuste de TPU
  • Agent Platform Memory Bank o Agent Platform Sessions configurados para usar el extremo global. Cloud KMS requiere que las claves de encriptación residan dentro de un límite fijo de residencia de datos geográficos. Debido a que la región global carece de un límite geográfico físico, no puede encriptar recursos regionales o multirregionales localizados.
  • La CMEK del perfil de entrega para las APIs sin recursos se limita a la API de Gemini Live y a la API de Interactions, en las multirregiones us y eu. No se admite la región global.

Configura CMEK para tus recursos

En las siguientes secciones, se describe cómo crear un llavero de claves y una clave en Cloud KMS, cómo otorgar permisos de encriptador y desencriptador de Agent Platform para tu clave y cómo crear recursos que usen CMEK.

Antes de comenzar

En esta guía, se supone que usas dos proyectos de Google Cloud independientes para configurar CMEK para los datos de Agent Platform:

  • Un proyecto para administrar la clave de encriptación (denominado “proyecto de Cloud KMS”)
  • Un proyecto para acceder a los datos o resultados de Agent Platform en Cloud Storage y, además, interactuar con cualquier otro producto de Google Cloud que necesites para tu caso de uso (denominado "proyecto de AI Platform").

Esta configuración recomendada admite una separación de obligaciones.

Como alternativa, puedes usar un solo proyecto de Google Cloud para toda la guía. Para hacerlo, usa el mismo proyecto para todas las tareas que hacen referencia al proyecto de Cloud KMS y las tareas que hacen referencia al proyecto de AI Platform.

Configura el proyecto de Cloud KMS

  1. Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Cloud KMS API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Cloud KMS API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Configura el proyecto de AI Platform

  1. Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Agent Platform API, if it is not already enabled.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

Configura la CLI de Google Cloud

gcloud CLI es obligatoria en algunos pasos de esta guía y opcional en otros.

Instala Google Cloud CLI. Después de la instalación, inicializa Google Cloud CLI con el siguiente comando:

gcloud init

Si usas un proveedor de identidad externo (IdP), primero debes acceder a la gcloud CLI con tu identidad federada.

Crea un llavero de claves y una clave

Sigue la guía de Cloud KMS para crear claves simétricas a fin de crear un llavero de claves y una clave. Cuando crees tu llavero de claves, especifica una región que admita las operaciones de Agent Platform como la ubicación del llavero de claves. El entrenamiento de Agent Platform solo admite CMEK cuando el recurso y la clave usan la misma región. No debes especificar una ubicación birregional, multirregional ni global para el llavero de claves.

Asegúrate de crear el llavero de claves y la clave en el proyecto de Cloud KMS.

Otorga permisos de Agent Platform

Para usar CMEK en tus recursos, debes otorgar permiso a Agent Platform para encriptar y desencriptar datos con tu clave. Agent Platform usa un agente de servicio administrado por Google para ejecutar operaciones con tus recursos. Esta cuenta de servicio se identifica con una dirección de correo electrónico que tiene el siguiente formato:

service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

Para encontrar la cuenta de servicio adecuada para tu proyecto de AI Platform, ve a la página IAM en la consola de Google Cloud y busca el miembro que coincida con este formato de dirección de correo electrónico. Debes reemplazar la variable AI_PLATFORM_PROJECT_NUMBER por el número de proyecto de tu proyecto de AI Platform. La cuenta de servicio también tiene el nombre Agent Platform Service Agent.

Ir a la página IAM

Toma nota de la dirección de correo electrónico de esta cuenta de servicio y úsala en los pasos siguientes a fin de otorgarle permiso para encriptar y desencriptar datos con la clave. Puedes otorgar permisos con la consola de Google Cloud o con Google Cloud CLI:

Consola de Google Cloud

  1. En la consola de Google Cloud , haz clic en Seguridad y selecciona Administración de claves. Esto te llevará a la página Claves criptográficas y seleccionar tu proyecto de Cloud KMS.

    Ir a la página Claves criptográficas

  2. Haz clic en el nombre del llavero de claves que creaste en la sección anterior de esta guía para ir a la página Detalles del llavero de claves.

  3. Selecciona la casilla de verificación de la clave que creaste en una sección anterior de esta guía. Si no hay un panel de información etiquetado con el nombre de la clave que ya esté abierto, haz clic en Mostrar panel de información.

  4. En el panel de información, haz clic en  Agregar miembro para abrir el cuadro de diálogo Agregar miembros a “KEY_NAME”. En este cuadro de diálogo, haz la siguiente acción:

    1. En el cuadro Miembros nuevos, ingresa la dirección de correo electrónico de la cuenta de servicio que anotaste en la sección anterior: service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com.
    2. En la lista desplegable Seleccionar una función, haz clic en Cloud KMS y, luego, selecciona la función Encriptador/desencriptador de CryptoKey de Cloud KMS.

    3. Haz clic en Guardar.

gcloud

Ejecuta el siguiente comando:

gcloud kms keys add-iam-policy-binding KEY_NAME \
  --keyring=KEY_RING_NAME \
  --location=REGION \
  --project=KMS_PROJECT_ID \
  --member=serviceAccount:service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
  --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

En este comando, reemplaza los siguientes marcadores de posición:

  • KEY_NAME: Es el nombre de la clave que creaste en una sección anterior de esta guía.
  • KEY_RING_NAME: Es el llavero de claves que creaste en una sección anterior de esta guía.
  • REGION: Es la región en la que creaste el llavero de claves.
  • KMS_PROJECT_ID: Es el ID del proyecto de Cloud KMS.
  • AI_PLATFORM_PROJECT_NUMBER: Es el número del proyecto de AI Platform, que anotaste en la sección anterior como parte de una dirección de correo electrónico de cuenta de servicio.

Crea recursos con la clave de Cloud KMS

Cuando creas un recurso compatible con CMEK nuevo, puedes especificar la clave como uno de los parámetros de creación.

Console

Cuando creas un nuevo recurso compatible con CMEK en la sección Agent Platform de la consola deGoogle Cloud , puedes seleccionar tu clave en la sección de opciones generales o avanzadas:

Sección Selecciona la clave de encriptación para el recurso

Línea de REST y CMD

Cuando crees un recurso compatible, agrega un objeto encryptionSpec a la solicitud y configura el campo encryptionSpec.kmsKeyName para que apunte a tu recurso de clave.

Por ejemplo, cuando creas un recurso dataset, especificarías tu clave en el cuerpo de la solicitud:

 {
   "displayName": DATASET_NAME,
   "metadataSchemaUri": METADATA_URI,
   "encryptionSpec": {
     "kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
   }
 }

Java

Cuando crees un recurso admitido, configura EncryptionSpec para que apunte a tu recurso de clave. Consulta la documentación de la biblioteca cliente de Agent Platform para Java para obtener más información.

Node.js

Cuando crees un recurso admitido, configura el parámetro encryptionSpec para que apunte a tu recurso de clave. Consulta la documentación de la biblioteca cliente de Agent Platform para Node.js para obtener más información.

Python

Cuando crees un recurso admitido, configura el parámetro encryption_spec para que apunte a tu recurso de clave. Consulta la documentación Cliente de Python para Cloud AI Platform a fin de obtener más información.

Usa CMEK con APIs sin recursos

Algunas APIs de Gemini Enterprise Agent Platform no tienen recursos (se basan en solicitudes): entregan solicitudes de inferencia sin crear un recurso de nivel superior de larga duración. Para admitir funciones como la continuidad de la sesión y las conversaciones con estado, estas APIs pueden almacenar datos del usuario en reposo durante un tiempo limitado; por ejemplo, la API de Gemini Live almacena datos de reanudación de la sesión durante un máximo de 24 horas, y la API de Interactions almacena datos de interacción con estado durante un máximo de 7 días. Debido a que no hay un recurso persistente al que se pueda adjuntar una clave cuando se crean los datos, debes usar un perfil de entrega para aplicar CMEK a estos datos en reposo.

Un perfil de entrega es un recurso de Gemini Enterprise Agent Platform que vincula una clave de Cloud KMS con un proyecto, una ubicación y un permiso de la API. Mientras exista un perfil de entrega para el proyecto, la ubicación y el alcance de una solicitud, Agent Platform encriptará automáticamente los datos persistentes de ese alcance con tu clave. El formato de tu solicitud de inferencia no cambia.

Beneficios de los perfiles de entrega

  • Cumple con los requisitos de cumplimiento: Satisface los criterios de auditoría que requieren el control del cliente sobre la clave de encriptación y el ciclo de vida de los datos.
  • Control total de tus datos: Inhabilita o revoca el acceso a las claves en cualquier momento para cortar el acceso a tus datos encriptados.
  • Transparente, sin cambios en el código: El formato de solicitud de inferencia existente no se modifica; la encriptación se aplica automáticamente mientras exista un perfil de entrega.
  • Control detallado: Aplica una clave distinta por permiso de API para limitar el impacto si se vulnera una clave y sigue el principio de privilegio mínimo.

Cómo funciona la encriptación transparente

  1. Envías una solicitud a una API sin recursos compatible en el extremo regional de la plataforma de agentes.
  2. Agent Platform resuelve el perfil de entrega para tu proyecto, ubicación y alcance.
  3. Los datos persistentes de ese permiso se encriptan automáticamente con tu clave, sin cambios en la solicitud.
  4. Si no existe un perfil de entrega para ese proyecto, ubicación y alcance, Agent Platform usa la encriptación administrada por Google de forma predeterminada.

Limitaciones de los perfiles de entrega

  • APIs compatibles: API de Gemini Live (alcance GEMINI_LIVE) y API de Interactions (alcance INTERACTIONS_API).
  • Regiones admitidas: las multirregiones us y eu. La región global no es compatible debido a las limitaciones de CMEK de Cloud KMS y de almacenamiento en la región global.
  • La clave de encriptación y el permiso son inmutables después de la creación. Solo se pueden actualizar el nombre visible y la descripción. Para cambiar la clave o el alcance, borra el perfil de entrega y crea uno nuevo con un servingProfileId diferente (consulta Inhabilita CMEK y revierte a la encriptación predeterminada).

Antes de comenzar

  1. Habilita la API de Cloud KMS y la API de Agent Platform en tu proyecto.
  2. Crea o identifica una clave de Cloud KMS en una multirregión compatible (us o eu); no uses la región global. Consulta Crea un llavero de claves y una clave.
  3. Otorga al agente de servicio de Gemini Enterprise Agent Platform el rol roles/cloudkms.cryptoKeyEncrypterDecrypter en la clave. Consulta Otorga permisos de Agent Platform.
  4. Asegúrate de tener los permisos de IAM para administrar los perfiles de entrega (aiplatform.servingProfiles.create, get, list, update y delete).

En los ejemplos de las siguientes secciones, se usan estos valores:

  • LOCATION: Es la multirregión, us o eu.
  • PROJECT: Es el ID del proyecto o el número.
  • API_VERSION: v1 o v1beta1.
  • SERVING_PROFILE_ID: De 1 a 63 caracteres (letras minúsculas, dígitos y guiones); debe comenzar con una letra y terminar con una letra o un dígito. Este valor se convierte en el último componente del nombre del recurso.
  • scope: Es la API sin recursos a la que se aplica el perfil de entrega. Los valores admitidos son GEMINI_LIVE y INTERACTIONS_API.
  • La clave de Cloud KMS se establece en cmekConfig.encryptionSpec.kmsKeyName y debe coincidir con projects/*/locations/*/keyRings/*/cryptoKeys/*.

Las solicitudes de REST van al extremo regional https://aiplatform.LOCATION.rep.googleapis.com y se autentican con un token del portador de OAuth 2.0:

-H "Authorization: Bearer $(gcloud auth print-access-token)"
-H "Content-Type: application/json"

Crea un perfil de entrega

La creación de un perfil de entrega habilita la protección de CMEK para los datos persistentes del permiso. Los campos displayName, scope (GEMINI_LIVE o INTERACTIONS_API) y cmekConfig.encryptionSpec.kmsKeyName son obligatorios.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?servingProfileId=SERVING_PROFILE_ID" \
  -d '{
    "displayName": "My CMEK serving profile",
    "description": "CMEK for Gemini Live",
    "scope": "GEMINI_LIVE",
    "cmekConfig": {
      "encryptionSpec": {
        "kmsKeyName": "projects/PROJECT/locations/LOCATION/keyRings/RING/cryptoKeys/KEY"
      }
    }
  }'

Create devuelve una operación de larga duración. Sondéala en GET https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/OPERATION_NAME hasta que la respuesta contenga "done": true. Espera a que finalice la operación antes de obtener, actualizar o borrar el perfil de entrega.

Confirma el perfil de entrega

Una vez que se complete la operación de creación, usa get o list para confirmar el perfil de entrega:

# Get one serving profile.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"

# List serving profiles in a location.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?pageSize=50"

Actualiza los metadatos del perfil de entrega

Solo puedes actualizar los campos displayName y description; la clave y el permiso son inmutables. El parámetro updateMask es opcional. Si lo omites, se actualizan todos los campos mutables propagados. Esta llamada devuelve el perfil de entrega actualizado.

curl -X PATCH \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID?updateMask=displayName,description" \
  -d '{"displayName": "Renamed profile", "description": "Updated description"}'

Inhabilita las CMEK y revierte a la encriptación predeterminada

Borra el perfil de entrega. Luego, los datos nuevos del permiso se encriptan con la encriptación administrada por Google. Los datos que ya se encriptaron con tu clave permanecen protegidos hasta que alcanzan su TTL o se borran, según la política de retención de la API.

curl -X DELETE \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"

Después de borrar un perfil de entrega, su servingProfileId se reserva durante 30 días para que puedas restablecer la clave y el alcance originales. Durante ese período, para crear un perfil de publicación con una clave o un permiso diferentes, usa un servingProfileId distinto.

Restablece un perfil de entrega borrado

Puedes restablecer un perfil de publicación en un plazo de 30 días después de borrarlo. Confirma que la clave de Cloud KMS original aún esté habilitada y que el agente de servicio de Gemini Enterprise Agent Platform aún tenga acceso. Luego, crea un perfil de entrega con los mismos valores de servingProfileId, scope y clave. Agent Platform reanuda la protección de los datos persistentes del permiso con tu clave, incluidos los datos que se encriptaron antes de que se borrara el perfil.

Revocación de claves

Si inhabilitas la clave de Cloud KMS o quitas el acceso del agente de servicio de Gemini Enterprise Agent Platform, ocurrirá lo siguiente:

  • Agent Platform ya no puede encriptar ni desencriptar los datos persistentes del permiso.
  • Las solicitudes que necesitan acceder a datos protegidos fallan con un error FAILED_PRECONDITION que indica que la clave no está disponible.

Vuelve a habilitar la clave o restablece el otorgamiento de IAM para reanudar el acceso.

Precios de los perfiles de entrega

No se aplican cargos adicionales por los perfiles de entrega. Pagas las tarifas estándar de operación de claves de Cloud KMS por la encriptación y la desencriptación.

Soluciona problemas

  • La creación del perfil de entrega falla o se detiene: Confirma que el agente de servicio de Gemini Enterprise Agent Platform tenga el rol roles/cloudkms.cryptoKeyEncrypterDecrypter en la clave y que la clave esté habilitada y en una multirregión compatible (us o eu, no global).
  • La inferencia no usa CMEK: Confirma que exista un perfil de entrega para el proyecto, la ubicación y el alcance coincidentes (GEMINI_LIVE o INTERACTIONS_API).
  • Errores FAILED_PRECONDITION: Estos errores suelen indicar que la clave se inhabilitó o que se revocó el acceso. Vuelve a habilitar la clave o restablece el otorgamiento de IAM.

¿Qué sigue?