Chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês)

Por padrão, o Gemini Enterprise Agent Platform Workbench criptografa o conteúdo do cliente em repouso. O Workbench do 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, como o Agent Platform Workbench. 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 do Agent Platform Workbench é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).

Nesta página, descrevemos alguns benefícios e limitações específicos do uso de CMEK com o Gemini Enterprise Agent Platform Workbench e mostramos como configurar uma nova instância do Agent Platform Workbench para usar CMEK.

Para mais informações sobre como usar a CMEK para a Gemini Enterprise Agent Platform, consulte a página da CMEK da Agent Platform.

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.

Quando você executa uma instância do Agent Platform Workbench, ela é executada em uma máquina virtual (VM, na sigla em inglês) gerenciada pelo Gemini Enterprise Agent Platform Workbench. Quando você ativa CMEK para uma instância do Agent Platform Workbench, o Agent Platform Workbench usa a chave que você designou, em vez de uma chave gerenciada pelo Google, para criptografar dados nos discos de inicialização da VM.

A chave de CMEK não criptografa metadados, como o nome e a região da instância, associados à sua instância do Agent Platform Workbench. Os metadados associados às instâncias do Agent Platform Workbench são sempre criptografados usando o mecanismo de criptografia padrão do Google.

Limitações de CMEK

Para diminuir a latência e evitar casos em que os recursos dependem de serviços distribuídos em vários domínios de falha, o Google recomenda que você proteja as instâncias regionais do Agent Platform Workbench com chaves no mesmo local.

  • É possível criptografar instâncias regionais do Agent Platform Workbench usando chaves no mesmo local ou no local global. Por exemplo, é possível criptografar dados em um disco na zona us-west1-a usando uma chave em us-west1 ou global.
  • Você pode criptografar instâncias globais usando chaves em qualquer local.
  • Configurar a CMEK para o Agent Platform Workbench não configura automaticamente a CMEK para outros produtos do Google Cloud que você usa. Para usar a CMEK para criptografar dados em outros produtos do Google Cloud , você precisa concluir uma configuração extra.

Configurar a CMEK para sua instância do Agent Platform Workbench

Nas seções a seguir, descrevemos como criar um keyring e uma chave no Cloud Key Management Service, conceder à conta de serviço permissões de criptografia e descriptografia para a chave e criar uma instância do Agent Platform Workbench que usa CMEK.

Antes de começar

Recomendamos o uso de uma configuração compatível com uma segregação de funções. Para configurar o CMEK para o Workbench da Agent Platform, é possível usar dois projetos separados do Google Cloud :

  • Um projeto do Cloud KMS: um projeto para gerenciar a chave de criptografia
  • Um projeto do Agent Platform Workbench: um projeto para acessar instâncias do Agent Platform Workbench e interagir com outros produtos do Google Cloud necessários para seu caso de uso

Se preferir, use um único projeto do Google Cloud . Para isso, use o mesmo projeto para todas as tarefas a seguir.

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.
  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 Agent Platform Workbench

  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.
  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 Notebooks 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 Notebooks 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 para algumas etapas nesta página e opcional para 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.

Ao criar um keyring e uma chave, lembre-se dos seguintes requisitos:

  • Ao escolher o local do keyring, use global ou o local em que a instância do Agent Platform Workbench será.

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

Para criar um keyring e uma chave, consulte Criar chaves simétricas de criptografia.

Conceder permissões do Workbench da Agent Platform

Para usar a CMEK na sua instância do Agent Platform Workbench, conceda a ela permissão para criptografar e descriptografar dados usando sua chave. Você concede essa permissão ao agente de serviço do projeto e à conta de serviço do Compute Engine.

Para encontrar as contas específicas do seu projeto do Agent Platform Workbench, use o console do Google Cloud .

  1. No console Google Cloud , acesse a página IAM.

    Acessar IAM

  2. Selecione Incluir concessões de papel fornecidas pelo Google.

  3. Encontre os participantes que correspondem aos seguintes formatos de endereço de e-mail. Anote os endereços de e-mail e use-os nas etapas a seguir.

    • O endereço de e-mail do agente de serviço do seu projeto é assim:

      service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
    • O endereço de e-mail da conta de serviço do Compute Engine tem a seguinte aparência:

      service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    Substitua NOTEBOOKS_PROJECT_NUMBER pelo número do projeto do projeto do Agent Platform Workbench.

    Para conceder a essas contas permissão para criptografar e descriptografar dados usando sua chave, use o console Google Cloud ou a CLI gcloud.

    Console

    1. No console do Google Cloud , acesse a página Gerenciamento de chaves.

      Acessar "Gerenciamento de chaves"

    2. Selecione o projeto do Cloud KMS.

    3. Clique no nome do keyring que você criou em Criar um keyring e uma chave. A página Detalhes do keyring é aberta.

    4. Marque a caixa de seleção da chave que você criou em Criar um keyring e uma chave. Se um painel de informações com o nome da sua chave ainda não estiver aberto, clique em Mostrar painel de informações.

    5. No painel de informações, clique em Adicionar membro. A caixa de diálogo Adicionar membros à sala "KEY_NAME" será aberta. Nessa caixa de diálogo, faça o seguinte:

      1. No campo Novos membros, insira o endereço de e-mail do agente de serviço do projeto:

        service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
      2. Na lista Selecionar um papel, clique em Cloud KMS e depois selecione o papel Criptografador/Ddescriptografador de CryptoKey do Cloud KMS.

      3. Clique em Salvar.

    6. Repita essas etapas para o agente de serviço do Compute Engine:

      service-NOTEBOOKS_PROJECT_NUMBER@compute-system.iam.gserviceaccount.com

    gcloud

    1. Para conceder ao agente de serviço do seu projeto permissão para criptografar e descriptografar dados usando sua chave, execute o seguinte comando:

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

      Substitua:

      • KEY_NAME: o nome da chave que você criou em Criar um keyring e uma chave
      • KEY_RING_NAME: o keyring que você criou em Criar um keyring e uma chave
      • REGION: a região em que você criou o keyring
      • KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS
      • NOTEBOOKS_PROJECT_NUMBER: o número do projeto do Agent Platform Workbench, que você anotou na seção anterior como parte de um endereço de e-mail da conta de serviço.
    2. Para conceder à conta de serviço do Compute Engine permissão para criptografar e descriptografar dados com a chave, execute o seguinte comando:

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

Criar uma instância do Agent Platform Workbench com CMEK

Depois de conceder permissão à instância do Agent Platform Workbench para criptografar e descriptografar dados usando a chave, crie uma instância do Agent Platform Workbench que criptografe dados usando essa chave.

O exemplo a seguir mostra como criptografar e descriptografar dados usando sua chave com o console do Google Cloud .

Para criar uma instância do Workbench do Agent Platform com uma chave de criptografia gerenciada pelo cliente, use o console do Google Cloud ou a CLI gcloud:

Console

  1. No console do Google Cloud , acesse a página Instâncias.

    Acesse "Instâncias"

  2. Clique em Criar.

  3. Na caixa de diálogo Nova instância, clique em Opções avançadas.

  4. Na caixa de diálogo Criar instância, na seção Detalhes, insira as seguintes informações sobre a nova instância:

    • Nome da instância: forneça um nome para a nova instância.
    • Região: insira a região em que a chave e o keyring estão.
    • Zona: selecione uma zona na região escolhida.
  5. Na seção Discos, em Criptografia, selecione Chave de criptografia gerenciada pelo cliente (CMEK).

  6. Clique em Selecionar uma chave gerenciada pelo cliente.

    • Se a chave gerenciada pelo cliente que você quer usar estiver na lista, selecione-a.
    • Se a chave gerenciada pelo cliente que você quer usar não estiver na lista, insira o ID do recurso para a chave gerenciada pelo cliente. O ID do recurso para a chave gerenciada pelo cliente é semelhante ao seguinte:

      projects/NOTEBOOKS_PROJECT_NUMBER/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

      Substitua:

      • NOTEBOOKS_PROJECT_NUMBER: o ID do projeto do Agent Platform Workbench
      • REGION: a região em que você criou o keyring e onde planeja criar a instância do Agent Platform Workbench
      • KEY_RING_NAME: o keyring que você criou em Criar um keyring e uma chave
      • KEY_NAME: o nome da chave que você criou em Criar um keyring e uma chave
  7. Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.

gcloud

Para usar a CLI gcloud para criar uma instância do Agent Platform Workbench com uma chave de criptografia gerenciada pelo cliente, execute o seguinte comando. Neste exemplo, presumimos que você quer criar uma instância do Agent Platform Workbench com um tipo de máquina n1-standard-1 e um disco de inicialização permanente padrão de 100 GB.

gcloud notebooks instances create notebook-vm-cmek \
    --location=REGION \
    --vm-image-family=IMAGE_FAMILY \
    --vm-image-project=cloud-notebooks-managed \
    --machine-type="n1-standard-1" \
    --boot-disk-type="PD_STANDARD" \
    --boot-disk-size=100 \
    --kms-key=KEY_NAME \
    --kms-project=KMS_PROJECT_ID \
    --kms-location=REGION \
    --kms-keyring=KEY_RING_NAME \
    --disk-encryption=CMEK \
    --metadata='proxy-mode=project_editors'

Substitua:

  • REGION: a região em que você criou o keyring e onde planeja criar a instância do Agent Platform Workbench.
  • IMAGE_FAMILY: a família de imagens que você quer usar para criar sua instância do Agent Platform Workbench
  • KEY_NAME: o nome da chave que você criou em Criar um keyring e uma chave
  • KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS
  • KEY_RING_NAME: o keyring que você criou em Criar um keyring e uma chave

A seguir