Claves de encriptación administradas por el cliente (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, incluida 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 Agent Platform Workbench de Gemini Enterprise Agent Platform, consulta la página de CMEK de las instancias de Agent Platform Workbench.

CMEK para los recursos de Gemini Enterprise Agent Platform

En las siguientes secciones, se describe información básica sobre la CMEK para los recursos de Gemini Enterprise Agent Platform que debes comprender antes de configurar la 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 KMS. 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 AutoML o de entrenamiento 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 la CMEK para los recursos de Gemini Enterprise Agent Platform, se usa la clave que designes, en lugar de una clave administrada por Google, 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 de visualización de las especificaciones de anotación no están encriptados con CMEK.

En el caso de los agentes, la CMEK encripta todos los archivos fuente 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 External Key Manager.

Usa CMEK con otros productos de Google Cloud

La configuración de CMEK para los recursos de Gemini Enterprise Agent Platform no configura automáticamente la 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 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 Vista previa también se encuentra en el estado Vista previa.

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 fuente del 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 fuente de tu agente
  • Las instancias en ejecución implementadas desde las imágenes de contenedor del agente
Zonas de pruebas de Agent Platform
  • Estados de puntos de control de memoria y almacenamiento en disco de instancias de zona de pruebas en ejecución
  • Superposiciones de contenedores personalizadas y configuraciones de entorno
  • Plantillas y copias de zonas de pruebas guardadas
ServingProfile
  • Datos almacenados en reposo por APIs sin recursos (basadas en solicitudes), por ejemplo, datos de reanudación de sesión de la API de Gemini Live

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 geográfico fijo de residencia de datos. Debido a que la región global no tiene un límite geográfico físico, no puede encriptar recursos regionales o multirregionales localizados.
  • La CMEK del perfil de servicio para las APIs sin recursos se limita a la API de Gemini Live, 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 Key Management Service, 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 separados para configurar la 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 el resultado de Agent Platform en Cloud Storage, y para interactuar con cualquier otro producto de Google Cloudque 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 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. La Plataforma de agentes 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

A fin de 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 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 Google Cloud consola o con Google Cloud CLI:

Consola de Google Cloud

  1. En la Google Cloud consola, 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 un rol, haz clic en Cloud KMS y, luego, selecciona el rol 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 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 son sin recursos (basadas en solicitudes): atienden solicitudes de inferencia sin crear un recurso de nivel superior de larga duración. Para admitir funciones como la continuidad de la sesión, 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. Como no hay un recurso persistente al que adjuntar una clave cuando se crean los datos, debes usar un perfil de servicio para aplicar la 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 a un proyecto, una ubicación y un alcance de la API. Si existe un perfil de publicación para el proyecto, la ubicación y el alcance de una solicitud, Agent Platform encripta automáticamente los datos persistentes de ese alcance con tu clave. El formato de tu solicitud de inferencia no cambia.

Beneficios de publicar perfiles

  • Cumple con los requisitos de cumplimiento: Satisfacer los criterios de auditoría que requieren que el cliente controle la clave de encriptación y el ciclo de vida de los datos
  • Control total de tus datos: Inhabilita o revoca el acceso a la clave en cualquier momento para cortar el acceso a tus datos encriptados.
  • Transparente, sin cambios en el código: El formato de tu solicitud de inferencia existente no cambia. La encriptación se aplica automáticamente mientras exista un perfil de servicio.
  • Control detallado: Aplica una clave distinta por permiso de la 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 endpoint de tu Agent Platform regional.
  2. Agent Platform resuelve el perfil de publicación para tu proyecto, ubicación y alcance.
  3. Los datos persistentes para ese alcance se encriptan automáticamente con tu clave, sin cambios en la solicitud.
  4. Si no existe un perfil de publicación para ese proyecto, ubicación y alcance, Agent Platform usa la encriptación administrada por Google de forma predeterminada.

Limitaciones del perfil de publicación

  • API compatible: API de Gemini Live (alcance GEMINI_LIVE).
  • Regiones admitidas: Las multirregiones us y eu La región global no es compatible debido a las limitaciones de Cloud KMS y de la CMEK de almacenamiento en la región global.
  • La clave y el alcance de la encriptación 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 publicación y crea uno nuevo con un servingProfileId diferente (consulta Cómo inhabilitar la CMEK y restablecer 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 admitida (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 Cómo otorgar permisos de Agent Platform.
  4. Asegúrate de tener los permisos de IAM para administrar los perfiles de publicación (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 o número de tu proyecto.
  • 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 publicación. El valor admitido es GEMINI_LIVE.
  • La clave de Cloud KMS se establece en cmekConfig.encryptionSpec.kmsKeyName y debe coincidir con projects/*/locations/*/keyRings/*/cryptoKeys/*.

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

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

Crea un perfil de publicación

La creación de un perfil de entrega habilita la protección con CMEK para los datos persistentes del alcance. Los campos displayName, scope y cmekConfig.encryptionSpec.kmsKeyName son obligatorios.

curl -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  "https://LOCATION-aiplatform.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. Consulta GET https://LOCATION-aiplatform.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 publicación.

Confirma el perfil de publicación

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

# Get one serving profile.
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  "https://LOCATION-aiplatform.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://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles?pageSize=50"

Actualiza los metadatos del perfil de publicación

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 actualizarán todos los campos mutables completados. Esta llamada devuelve el perfil de publicación actualizado.

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

Inhabilita la CMEK y revierte a la encriptación predeterminada

Borra el perfil de publicación. Luego, los datos nuevos del alcance 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://LOCATION-aiplatform.googleapis.com/API_VERSION/projects/PROJECT/locations/LOCATION/servingProfiles/SERVING_PROFILE_ID"

Después de borrar un perfil de publicación, 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 alcance diferentes, usa un servingProfileId diferente.

Restablece un perfil de publicación borrado

Puedes restablecer un perfil de publicación en un plazo de 30 días después de borrarlo. Confirma que la clave original de Cloud KMS siga habilitada y que el agente de servicio de Gemini Enterprise Agent Platform aún tenga acceso. Luego, crea un perfil de publicación con el mismo servingProfileId, scope y clave. La Plataforma de agentes reanuda la protección de los datos persistentes del alcance 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 alcance.
  • 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 permiso de IAM para reanudar el acceso.

Precios de los perfiles de publicación

No se aplican cargos adicionales por publicar perfiles. Pagas las tarifas estándar de las operaciones con claves de Cloud KMS para la encriptación y la desencriptación.

Soluciona problemas

  • La creación del perfil de publicación falla o se detiene: Confirma que el agente de servicio de Gemini Enterprise Agent Platform tenga el rol de roles/cloudkms.cryptoKeyEncrypterDecrypter en la clave y que la clave esté habilitada y en una región múltiple admitida (us o eu, no global).
  • La inferencia no usa CMEK: Confirma que existe un perfil de servicio para el proyecto, la ubicación y el alcance (GEMINI_LIVE) coincidentes.
  • Errores de FAILED_PRECONDITION: Por lo general, estos errores indican que la clave se inhabilitó o que se revocó el acceso. Vuelve a habilitar la clave o restablece el permiso de IAM.

¿Qué sigue?