CMEK

Por padrão, a Gemini Enterprise Agent Platform criptografa o conteúdo do cliente em repouso. A Agent Platform executa a criptografia, e você não precisa fazer nada. Essa opção é chamada de criptografia padrão do Google.

Se você quiser controlar suas chaves de criptografia, use chaves de criptografia gerenciadas pelo cliente (CMEKs) no Cloud KMS com serviços integrados a CMEKs, incluindo a plataforma de agentes. Ao usar chaves do Cloud KMS, é possível controlar o nível de proteção, o local, a programação de rotação, as permissões de uso e acesso e os limites criptográficos. Ao usar o Cloud KMS, é possível também monitorar o uso de chaves, ver registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e responsável pelo gerenciamento das chaves de criptografia de chaves (KEKs) simétricas que protegem seus dados, você controla e gerencia essas chaves no Cloud KMS.

Depois de configurar os recursos com CMEKs, a experiência de acesso aos recursos da plataforma de agentes é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

Este guia descreve alguns benefícios do uso de CMEK para recursos da Gemini Enterprise Agent Platform e mostra como configurar um job de treinamento para usar CMEK.

Para mais informações sobre como usar a CMEK para o Colab Enterprise, consulte a página da CMEK do Colab Enterprise. Para mais informações sobre como usar a CMEK para instâncias do Workbench da Gemini Enterprise Agent Platform, consulte a página da CMEK para instâncias do Workbench da Agent Platform.

CMEK para recursos da Gemini Enterprise Agent Platform

As seções a seguir descrevem informações básicas sobre CMEK para recursos da Gemini Enterprise Agent Platform que você precisa entender antes de configurar CMEK para seus jobs.

Benefícios de CMEK

Em geral, CMEK são mais úteis se você precisa de controle total sobre as chaves usadas para criptografar seus dados. Com a CMEK, você gerencia suas chaves no Cloud Key Management Service. Por exemplo, é possível alternar ou desativar uma chave ou configurar uma programação de rotação usando a API Cloud KMS. Para obter mais informações sobre CMEK em geral, como quando e por que ativar, consulte a documentação do Cloud KMS.

Quando você executa um job de treinamento AutoML ou personalizado, seu código é executado em uma ou mais instâncias de máquina virtual (VM) gerenciadas pela Gemini Enterprise Agent Platform. Ao ativar CMEK para recursos da Gemini Enterprise Agent Platform, a chave designada por você, e não a chave gerenciada pelo Google, é usada para criptografar dados nos discos de inicialização dessas VMs. A chave de CMEK criptografa os seguintes tipos de dados:

  • A cópia do código nas VMs.
  • Todos os dados que forem carregados pelo seu código.
  • Todos os dados temporários que forem salvos no disco local pelo código.
  • Modelos treinados automaticamente.
  • Arquivos de mídia (dados) enviados em conjuntos de dados de mídia.

Em geral, a chave CMEK não criptografa metadados associados à operação, como o nome e a região do job ou o nome de exibição de um conjunto de dados. Os metadados associados a operações são sempre criptografados com o mecanismo de criptografia padrão do Google.

Para conjuntos de dados, quando um usuário importa dados para o conjunto, os itens de dados e as anotações são criptografados por CMEK. O nome de exibição do conjunto de dados não é criptografado pelo CMEK.

Para modelos, os modelos armazenados no sistema de armazenamento (por exemplo, disco) são criptografados por CMEK. Todos os resultados da avaliação do modelo são criptografados por CMEK.

Para endpoints, todos os arquivos de modelo usados na implantação do modelo no endpoint são criptografados por CMEK. Isso não inclui dados na memória.

Para predição em lote, todos os arquivos temporariamente, como arquivos de modelo, registros e discos de VM, usados para executar o job de previsão em lote são criptografados por CMEK. Os resultados da previsão em lote são armazenados no destino fornecido pelo usuário. Consequentemente, a plataforma do agente respeita o valor padrão da configuração de criptografia do destino. Caso contrário, os resultados também serão criptografados com CMEK.

Para rotulagem de dados, todos os arquivos de entrada (imagem, texto, tabular), discussões temporárias (por exemplo, perguntas, feedback) e saídas (resultado da rotulagem) são criptografados pela CMEK. , Os nomes de exibição das especificações de anotação não são criptografados pelo CMEK.

Para agentes, a CMEK criptografa todos os arquivos de origem usados para o desenvolvimento de agentes. Além disso, as imagens de contêiner e as instâncias implantadas para o agente também são criptografadas com CMEK.

Chaves externas

Use o Cloud External Key Manager (Cloud EKM) para criar chaves externas, que você gerencia, para criptografar dados no Google Cloud.

Quando você usa uma chave do Cloud EKM, o Google não tem controle sobre a disponibilidade da sua chave gerenciada externamente. Se você solicitar acesso a um recurso criptografado com uma chave gerenciada externamente e a chave não estiver disponível, a Gemini Enterprise Agent Platform vai rejeitar a solicitação. Pode haver um atraso de até 10 minutos antes de você conseguir acessar o recurso quando a chave estiver disponível.

Para mais considerações ao usar chaves externas, consulte Cloud EKM.

Usar CMEK com outros produtos do Google Cloud

A configuração de CMEK para recursos da Gemini Enterprise Agent Platform não configura automaticamente CMEK para outros produtos do Google Cloud que você usa junto com a Gemini Enterprise Agent Platform. Para usar CMEK para criptografar dados em outros produtos doGoogle Cloud , é necessária uma configuração adicional. Exemplo:

Recursos atuais compatíveis com a CMEK

Os recursos atuais da Gemini Enterprise Agent Platform cobertos por CMEKs são os seguintes. O suporte a CMEK para recursos em fase de pré-lançamento também está no status de pré-lançamento.

Recurso Material criptografado Links de documentação
Conjunto de dados
  • Todos os dados importados do usuário (por exemplo, conteúdo de texto) para DataItems e Annotations.
  • Conteúdo criado pelo usuário, como AnnotationSpecs e ColumnSpecs.
Modelo
  • Arquivos de modelo enviados.
  • Resultados da avaliação do modelo treinado.
Endpoint
  • Todos os arquivos de modelo usados na implantação do modelo no endpoint. Isso não inclui dados na memória, mas o modelo será removido automaticamente se a chave estiver desativada.
CustomJob
  • A cópia do código nas VMs usadas para executar a operação.
  • Todos os dados que forem carregados pelo seu código.
  • Todos os dados temporários que forem salvos no disco local pelo código.
HyperparameterTuningJob
  • A cópia do código nas VMs usadas para executar a operação.
  • Todos os dados que forem carregados pelo seu código.
  • Todos os dados temporários que forem salvos no disco local pelo código.
TrainingPipeline
  • A cópia do código nas VMs usadas para executar a operação.
  • Todos os dados que forem carregados pelo seu código.
  • Todos os dados temporários que forem salvos no disco local pelo código.
  • Modelos treinados pelo AutoML.
BatchPredictionJob (exclui o AutoML Image batchPrediction)
  • Todos os arquivos temporários (por exemplo, arquivos de modelo, registros, discos da VM) usados para prosseguir com o job de previsão em lote.
  • Se os resultados gravados da BatchPrediction forem armazenados no destino fornecido pelo usuário, ele respeitará a configuração de criptografia do valor padrão. Caso contrário, ele também será criptografado com CMEK.
ModelDeploymentMonitoringJob
  • Todos os arquivos temporários (por exemplo, arquivos de conjunto de dados de treinamento, registros, discos da VM) usados no job para processar o job de monitoramento da implantação do modelo.
  • Todos os dados usados para detectar anomalias de monitoramento.
  • Se a chave estiver desativada, o job de monitoramento de implantação do modelo será pausado.
PipelineJob
  • O job do pipeline e todos os sub-recursos.
MetadataStore
  • Todo o conteúdo no armazenamento de metadados.
TensorBoard
  • Todos os dados dos registros do TensorBoard enviados, incluindo escalares, histogramas, definições de gráficos, imagens e texto.
Featurestore
  • O featurestore e todo o conteúdo dele.
Índice
  • Todos os arquivos de dados usados para índices de pesquisa vetorial armazenados no Cloud Storage, no Pub/Sub e no armazenamento interno. O índice e o IndexEndpoint precisam ser criados com a mesma chave.
IndexEndpoint
  • Todos os arquivos de dados usados para índices de pesquisa vetorial armazenados no Cloud Storage, no Pub/Sub e no armazenamento interno. O índice e o IndexEndpoint precisam ser criados com a mesma chave.
Ambiente de execução do Colab Enterprise
  • O disco de inicialização e os discos de dados da VM do ambiente de execução
Notebook do Colab Enterprise
  • O arquivo do notebook e os comentários dele
Agent Runtime
  • A cópia dos arquivos de origem do agente, incluindo código, scripts e arquivos de dependência.
  • As imagens de contêiner criadas com base nos arquivos de origem do agente
  • As instâncias em execução implantadas das imagens de contêiner do agente
Sandboxes da Agent Platform
  • Estados de checkpoint de memória e armazenamento em disco de instâncias de sandbox em execução
  • Sobreposições de contêineres personalizados e configurações de ambiente
  • Snapshots e modelos de sandbox salvos
ServingProfile
  • Dados armazenados em repouso por APIs sem recursos (com base em solicitações), como dados de retomada de sessão da API Gemini Live e interações armazenadas da API Interactions.

Suporte a CMEK para pipelines de ajuste de IA generativa

O suporte para CMEK é fornecido no pipeline de ajuste dos seguintes modelos:

  • BERT
  • T5
  • image-generation (GPU)

Limitações

O suporte à CMEK não é fornecido nos seguintes locais:

  • Predição em lote do AutoML Image (BatchPredictionJob)
  • Ajuste de TPU
  • O Memory Bank ou as Sessões da Plataforma de Agentes configurados para usar o endpoint global. O Cloud KMS exige que as chaves de criptografia residam em um limite geográfico fixo de residência de dados. Como a região global não tem um limite geográfico físico, ela não pode criptografar recursos regionais ou multirregionais localizados.
  • A CMEK de perfil de exibição para APIs sem recursos é limitada à API Gemini Live e à API Interactions, nas multirregiões us e eu. A região global não é compatível.

Configurar CMEK para seus recursos

As seções a seguir descrevem como criar um keyring e uma chave no Cloud KMS, conceder permissões de criptografia e descriptografia à plataforma de agentes para a chave e criar recursos que usam CMEK.

Antes de começar

Neste guia, pressupomos que você use dois projetos do Google Cloud separados para configurar a CMEK para dados da Agent Platform:

  • Um projeto para gerenciar sua chave de criptografia (conhecido como "projeto do Cloud KMS").
  • Um projeto para acessar dados ou saídas da plataforma de agentes no Cloud Storage e interagir com outros produtos do Google Cloud necessários para seu caso de uso (conhecido como "projeto da AI Platform").

Essa configuração recomendada é compatível com uma segregação de funções.

Como alternativa, é possível usar um único projeto do Google Cloud para todo o guia. Para isso, use o mesmo projeto para todas as tarefas a seguir que fazem referência ao projeto do Cloud KMS e às tarefas que fazem referência ao projeto do AI Platform.

Configurar o projeto do Cloud KMS

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho sem custos financeiros.
  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

Configurar o projeto do AI Platform

  1. Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho sem custos financeiros.
  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

Configure a Google Cloud CLI

A CLI gcloud é necessária em algumas etapas deste guia e opcional em outras.

Instale a CLI do Google Cloud. Após a instalação, inicialize a Google Cloud CLI executando o seguinte comando:

gcloud init

Ao usar um provedor de identidade (IdP) externo, primeiro faça login na CLI gcloud com sua identidade federada.

Crie um keyring e uma chave.

Siga o guia do Cloud KMS para criar chaves simétricas para criar um keyring e uma chave. Ao criar seu keyring, especifique uma região que ofereça suporte às operações da plataforma de agente como o local do keyring. O treinamento da Agent Platform só aceita CMEK quando o recurso e a chave usam a mesma região. Não especifique um local birregional, multirregional ou global para seu keyring.

Certifique-se de criar o keyring e a chave no projeto do Cloud KMS.

Conceder permissões da Agent Platform

Para usar CMEK nos seus recursos, você precisa conceder permissão à Agent Platform para criptografar e descriptografar dados usando sua chave. A Agent Platform usa um agente de serviço gerenciado pelo Google para executar operações usando seus recursos. Essa conta de serviço é identificada por um endereço de e-mail com o seguinte formato:

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

Para encontrar a conta de serviço apropriada ao seu projeto da AI Platform, acesse a página IAM no console do Google Cloud e encontre o membro que corresponde a esse formato de endereço de e-mail, substituindo a variável AI_PLATFORM_PROJECT_NUMBER pelo número do seu projeto na AI Platform. A conta de serviço também tem o nome Agent Platform Service Agent.

Acessar a página "IAM"

Anote o endereço de e-mail dessa conta de serviço e use nos passos a seguir para conceder permissão para criptografar e descriptografar dados usando sua chave. Conceda a permissão usando o console do Google Cloud ou a Google Cloud CLI:

Console do Google Cloud

  1. No console do Google Cloud , clique em Segurança e selecione Gerenciamento de chaves. Isso vai levar você à página Chaves criptográficas. Selecione o projeto do Cloud KMS.

    Acesse a página Chaves criptográficas

  2. Clique no nome do keyring que você criou em uma seção anterior deste guia para acessar a página Detalhes do keyring.

  3. Marque a caixa de seleção da chave que você criou em uma seção anterior deste guia. Se um painel de informações com o nome de sua chave ainda não estiver aberto, clique em Exibir painel de informações.

  4. No painel de informações, clique em Adicionar membro para abrir a caixa de diálogo Adicionar membros a "KEY_NAME". Nessa caixa de diálogo, faça o seguinte:

    1. Na caixa Novos membros, insira o endereço de e-mail da conta de serviço que você anotou na seção anterior: service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
    2. Na lista suspensa Selecionar uma função, clique em Cloud KMS e selecione a função Criptografador/Descriptografador de CryptoKey do Cloud KMS.

    3. Clique em Salvar.

gcloud

Execute este 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

Nesse comando, substitua os seguintes marcadores:

  • KEY_NAME: o nome da chave que você criou em uma seção anterior deste guia
  • KEY_RING_NAME: o keyring que você criou em uma seção anterior deste guia
  • REGION: a região em que você criou o keyring
  • KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS
  • AI_PLATFORM_PROJECT_NUMBER: o número do projeto do AI Platform, que você anotou na seção anterior como parte de um endereço de e-mail da conta de serviço.

Criar recursos com a chave do Cloud KMS

Ao criar um novo recurso compatível com a CMEK, é possível especificar a chave como um dos parâmetros de criação.

Console

Ao criar um novo recurso compatível com CMEK na seção Plataforma de Agente do Google Cloud console, é possível selecionar sua chave na seção de opções gerais ou avançadas:

Selecionar a chave de criptografia da seção de recursos

REST e linha de comando

Ao criar um recurso compatível, adicione um objeto encryptionSpec à sua solicitação e defina o campo encryptionSpec.kmsKeyName para apontar para sua chave.

Por exemplo, ao criar um recurso dataset, você especificaria sua chave no corpo da solicitação:

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

Java

Ao criar um recurso compatível, defina EncryptionSpec para apontar para o recurso de chave. Para mais informações, consulte a documentação da biblioteca de cliente da Agent Platform para Java.

Node.js

Ao criar um recurso compatível, defina o parâmetro encryptionSpec para apontar para o recurso da chave. Para mais informações, consulte a documentação da biblioteca de cliente da plataforma de agentes para Node.js.

Python

Ao criar um recurso compatível, defina o parâmetro encryption_spec para apontar para o recurso da chave. Para mais informações, consulte a documentação do Cliente Python para Cloud AI Platform.

Usar CMEK com APIs sem recursos

Algumas APIs da Gemini Enterprise Agent Platform são sem recursos (baseadas em solicitações): elas atendem a solicitações de inferência sem criar um recurso de longa duração de nível superior. Para oferecer suporte a recursos como continuidade de sessão e conversas com estado, essas APIs podem armazenar dados do usuário em repouso por um tempo limitado. Por exemplo, a API Gemini Live armazena dados de retomada de sessão por até 24 horas, e a API Interactions armazena dados de interação com estado por até 7 dias. Como não há um recurso permanente para anexar uma chave quando os dados são criados, use um perfil de exibição para aplicar a CMEK a esses dados em repouso.

Um perfil de exibição é um recurso da Gemini Enterprise Agent Platform que vincula uma chave do Cloud KMS a um projeto, local e escopo de API. Enquanto houver um perfil de exibição para o projeto, o local e o escopo de uma solicitação, a plataforma de agentes vai criptografar automaticamente os dados persistentes desse escopo com sua chave. O formato da solicitação de inferência não muda.

Benefícios dos perfis de veiculação

  • Atender aos requisitos de conformidade: satisfazer os critérios de auditoria que exigem o controle do cliente sobre a chave de criptografia e o ciclo de vida dos dados.
  • Controle total dos seus dados: desative ou revogue o acesso à chave a qualquer momento para cortar o acesso aos seus dados criptografados.
  • Transparente, sem mudanças no código: o formato da solicitação de inferência atual não é alterado. A criptografia é aplicada automaticamente enquanto houver um perfil de disponibilização.
  • Controle granular: aplique uma chave diferente para cada escopo de API para limitar o impacto se uma chave for comprometida e siga o princípio de privilégio mínimo.

Como funciona a criptografia transparente

  1. Você envia uma solicitação para uma API sem recursos compatível no endpoint regional da plataforma de agentes.
  2. A Agent Platform resolve o perfil de exibição para seu projeto, local e escopo.
  3. Os dados persistentes desse escopo são criptografados automaticamente com sua chave, sem alterações na solicitação.
  4. Se não houver um perfil de veiculação para esse projeto, local e escopo, a plataforma de agente vai usar a criptografia gerenciada pelo Google por padrão.

Limitações do perfil de veiculação

  • APIs compatíveis: API Gemini Live (escopo GEMINI_LIVE) e API Interactions (escopo INTERACTIONS_API).
  • Regiões com disponibilidade: as multirregiões us e eu. A região global não é compatível devido às limitações de CMEK de armazenamento e do Cloud KMS na região global.
  • A chave de criptografia e o escopo são imutáveis após a criação. Somente o nome de exibição e a descrição podem ser atualizados. Para mudar a chave ou o escopo, exclua o perfil de veiculação e crie um novo com um servingProfileId diferente (consulte Desativar a CMEK e reverter para a criptografia padrão).

Antes de começar

  1. Ative a API Cloud KMS e a API Agent Platform no seu projeto.
  2. Crie ou identifique uma chave do Cloud KMS em uma multirregião compatível (us ou eu). Não use a região global. Consulte Criar um keyring e uma chave.
  3. Conceda ao agente de serviço da Gemini Enterprise Agent Platform o papel roles/cloudkms.cryptoKeyEncrypterDecrypter na chave. Consulte Conceder permissões da Agent Platform.
  4. Verifique se você tem as permissões do IAM para gerenciar perfis de veiculação (aiplatform.servingProfiles.create, get, list, update e delete).

Os exemplos nas seções a seguir usam estes valores:

  • LOCATION: a multirregião, us ou eu.
  • PROJECT: ID do projeto.
  • API_VERSION: v1 ou v1beta1.
  • SERVING_PROFILE_ID: de 1 a 63 caracteres, letras minúsculas, dígitos e hifens. Ele precisa começar com uma letra e terminar com uma letra ou um dígito. Esse valor se torna o último componente do nome do recurso.
  • scope: a API sem recursos a que o perfil de veiculação se aplica. Os valores aceitos são GEMINI_LIVE e INTERACTIONS_API.
  • A chave do Cloud KMS é definida em cmekConfig.encryptionSpec.kmsKeyName e precisa corresponder a projects/*/locations/*/keyRings/*/cryptoKeys/*.

As solicitações REST vão para o endpoint regional https://aiplatform.LOCATION.rep.googleapis.com e são autenticadas com um token do portador OAuth 2.0:

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

Criar um perfil de exibição

A criação de um perfil de exibição ativa a proteção de CMEK para os dados persistentes do escopo. Os campos displayName, scope (GEMINI_LIVE ou INTERACTIONS_API) e cmekConfig.encryptionSpec.kmsKeyName são obrigatórios.

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"
      }
    }
  }'

A criação retorna uma operação de longa duração. Pesquise em GET https://aiplatform.LOCATION.rep.googleapis.com/API_VERSION/OPERATION_NAME até que a resposta contenha "done": true. Aguarde a conclusão da operação antes de receber, atualizar ou excluir o perfil de veiculação.

Confirmar o perfil de veiculação

Depois que a operação de criação for concluída, use get ou list para confirmar o perfil de veiculação:

# 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"

Atualizar metadados do perfil de veiculação

Só é possível atualizar os campos displayName e description. A chave e o escopo são imutáveis. O parâmetro updateMask é opcional. Se você o omitir, todos os campos mutáveis preenchidos serão atualizados. Essa chamada retorna o perfil de veiculação atualizado.

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"}'

Desativar a CMEK e reverter para a criptografia padrão

Exclua o perfil de veiculação. Os novos dados do escopo são criptografados com a criptografia gerenciada pelo Google. Os dados que já foram criptografados com sua chave permanecem protegidos até atingirem o TTL ou serem apagados, de acordo com a política de retenção da 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"

Depois que você exclui um perfil de veiculação, o servingProfileId dele é reservado por 30 dias para que você possa restaurar a chave e o escopo originais. Durante esse período, para criar um perfil de veiculação com uma chave ou um escopo diferente, use um servingProfileId diferente.

Restaurar um perfil de veiculação excluído

É possível restaurar um perfil de veiculação em até 30 dias após a exclusão. Confirme se a chave original do Cloud KMS ainda está ativada e se o agente de serviço da Gemini Enterprise Agent Platform ainda tem acesso. Em seguida, crie um perfil de veiculação com os mesmos servingProfileId, scope e chave. A plataforma do agente retoma a proteção dos dados persistentes do escopo com sua chave, incluindo dados que foram criptografados antes da exclusão do perfil.

Revogação de chaves

Se você desativar a chave do Cloud KMS ou remover o acesso do agente de serviço da Gemini Enterprise Agent Platform, vai acontecer o seguinte:

  • A Agent Platform não pode mais criptografar ou descriptografar os dados persistentes do escopo.
  • As solicitações que precisam acessar dados protegidos falham com um erro FAILED_PRECONDITION, que indica que a chave está indisponível.

Reative a chave ou restaure a concessão do IAM para retomar o acesso.

Preços do perfil de veiculação

Não há cobrança extra por perfis de veiculação. Você paga as taxas padrão de operação de chave do Cloud KMS para criptografia e descriptografia.

Solução de problemas

  • A criação do perfil de exibição falha ou fica travada: confirme se o agente de serviço da Gemini Enterprise Agent Platform tem o papel roles/cloudkms.cryptoKeyEncrypterDecrypter na chave e se ela está ativada e em uma multirregião compatível (us ou eu, não global).
  • A inferência não está usando a CMEK: confirme se existe um perfil de veiculação para o projeto, o local e o escopo correspondentes (GEMINI_LIVE ou INTERACTIONS_API).
  • Erros FAILED_PRECONDITION: geralmente indicam que a chave foi desativada ou que o acesso foi revogado. Reative a chave ou restaure a permissão do IAM.

A seguir