Use chaves de encriptação geridas pelo cliente (CMEK)

Por predefinição, o Colab Enterprise encripta o conteúdo do cliente em repouso. O Colab Enterprise processa a encriptação por si, sem necessidade de ações adicionais da sua parte. Esta opção chama-se Encriptação predefinida da Google.

Se quiser controlar as suas chaves de encriptação, pode usar chaves de encriptação geridas pelo cliente (CMEK) no Cloud KMS com serviços integrados com CMEK, incluindo o Colab Enterprise. A utilização de chaves do Cloud KMS dá-lhe controlo sobre o respetivo nível de proteção, localização, programação de rotação, utilização, autorizações de acesso e limites criptográficos. A utilização do Cloud KMS também permite ver registos de auditoria e controlar os ciclos de vida das chaves. Em vez de a Google possuir e gerir as chaves de encriptação de chaves (KEKs) simétricas que protegem os seus dados, controla e gere estas chaves no Cloud KMS.

Depois de configurar os seus recursos com CMEKs, a experiência de acesso aos recursos do Colab Enterprise é semelhante à utilização da encriptação predefinida da Google. Para mais informações acerca das suas opções de encriptação, consulte o artigo Chaves de encriptação geridas pelo cliente (CMEK).

Este guia descreve como usar as CMEK para o Colab Enterprise.

Para mais informações sobre como usar as CMEK para o Vertex AI, consulte a página CMEK do Vertex AI.

CMEK para o Colab Enterprise

Pode usar a CMEK para encriptar os ambientes de execução do Colab Enterprise e os ficheiros de blocos de notas (blocos de notas).

Tempos de execução

Quando executa código num bloco de notas do Colab Enterprise, um tempo de execução executa o código numa ou mais instâncias de máquinas virtuais (MV) geridas pelo Colab Enterprise. Quando ativa as CMEK para os seus tempos de execução do Colab Enterprise, a chave que designa, em vez de uma chave gerida pela Google, é usada para encriptar os dados nestas VMs. A chave CMEK encripta os seguintes tipos de dados:

  • A cópia do seu código nas VMs.
  • Todos os dados carregados pelo seu código.
  • Todos os dados temporários que são guardados no disco local pelo seu código.

Pode iniciar, parar e atualizar o tempo de execução sem afetar a respetiva encriptação CMEK.

Em geral, a chave CMEK não encripta os metadados associados à sua operação, como o nome do tempo de execução ou o nome e a região do seu bloco de notas. Estes metadados são sempre encriptados através do mecanismo de encriptação predefinido da Google.

Blocos de notas

Os blocos de notas do Colab Enterprise são armazenados em repositórios do Dataform. Quando cria um bloco de notas, o Colab Enterprise cria automaticamente um repositório Dataform oculto onde o bloco de notas é armazenado. Uma vez que o repositório está oculto, não pode modificar as respetivas definições de encriptação como faria com outros repositórios do Dataform.

Para usar as CMEK nos seus blocos de notas, tem de definir uma chave CMEK do Dataform predefinida para o Google Cloud projeto que vai conter os seus blocos de notas. Depois de definir uma chave CMEK do Dataform predefinida, o Dataform aplica a chave a todos os novos repositórios criados no projeto Google Cloud por predefinição, incluindo todos os repositórios ocultos criados para armazenar os seus blocos de notas.

A chave CMEK do Dataform predefinida não é aplicada aos repositórios existentes. Por conseguinte, se já tiver notebooks nesse projeto, estes não são encriptados pela chave CMEK do Dataform predefinida. Para usar a CMEK com um bloco de notas criado antes de definir a chave CMEK do Dataform predefinida do seu projeto, pode guardar o ficheiro do bloco de notas como um novo bloco de notas do Colab Enterprise.

Para saber mais sobre as chaves CMEK predefinidas do Dataform, consulte o artigo Use Dataform default CMEK keys (Use as chaves CMEK predefinidas do Dataform).

Para usar as CMEK nos seus blocos de notas, consulte o artigo Defina uma chave CMEK do Dataform predefinida.

Chaves suportadas

O Colab Enterprise suporta os seguintes tipos de chaves CMEK:

A disponibilidade das chaves varia consoante o tipo de chave e a região. Para mais informações acerca da disponibilidade geográfica das chaves CMEK, consulte o artigo Localizações do Cloud KMS.

Restrições e limitações

O Colab Enterprise suporta a CMEK com as seguintes restrições e limitações:

  • A quota predefinida no Vertex AI é uma chave de encriptação por projeto e região. Se precisar de registar mais do que uma chave para uma região no seu projeto, contacte a equipa da sua Conta Google para pedir um aumento da quota para configurações de CMEK, indicando uma justificação para precisar de mais do que uma chave.

Quotas do Cloud KMS e Colab Enterprise

Quando usa CMEK no Colab Enterprise, os seus projetos podem consumir quotas de pedidos criptográficos do Cloud KMS. As operações de encriptação e desencriptação que usam chaves CMEK afetam as quotas do Cloud KMS apenas se usar hardware (Cloud HSM) ou chaves externas (Cloud EKM). Para mais informações, consulte as cotas do Cloud KMS.

Configure a CMEK para os seus tempos de execução

As secções seguintes descrevem como criar um conjunto de chaves e uma chave no Cloud Key Management Service, conceder permissões de encriptação e desencriptação do Colab Enterprise para a sua chave e criar uma configuração de modelo de tempo de execução para usar a CMEK. Qualquer tempo de execução que o Colab Enterprise gere a partir deste modelo de tempo de execução usa a encriptação CMEK.

Antes de começar

Este guia pressupõe que usa dois Google Cloud projetos separados para configurar as CMEK para os ambientes de execução do Colab Enterprise:

  • Um projeto para gerir a sua chave de encriptação (denominado "projeto do Cloud KMS").
  • Um projeto para aceder aos seus recursos do Colab Enterprise e interagir com quaisquer outros Google Cloud produtos de que necessita Google Cloud (denominado "Projeto do bloco de notas").

Esta configuração recomendada suporta uma separação de funções.

Em alternativa, pode usar um único Google Cloud projeto para todo o guia. Para tal, use o mesmo projeto para todas as seguintes tarefas que se referem ao projeto do Cloud KMS e às tarefas que se referem ao projeto do Notebook.

Configure o projeto do Cloud KMS

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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 (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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 (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.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. Configure o projeto do Notebook

    1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
    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 (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 Vertex AI API.

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. 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 (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 Vertex AI API.

      Roles required to enable APIs

      To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

      Enable the API

    8. Configure a CLI Google Cloud

      A CLI gcloud é necessária para alguns passos neste guia e opcional para outros.

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

      gcloud init

      Se estiver a usar um fornecedor de identidade (IdP) externo, primeiro tem de iniciar sessão na CLI gcloud com a sua identidade federada.

      Crie um conjunto de chaves e uma chave

      Siga o guia do Cloud KMS para criar chaves simétricas para criar um conjunto de chaves e uma chave. Quando criar o seu conjunto de chaves, especifique uma região que suporte operações do Colab Enterprise como a localização do conjunto de chaves. O Colab Enterprise só suporta CMEK quando o ambiente de execução e a chave usam a mesma região. Não pode especificar uma localização global, multirregional ou de dupla região para o seu conjunto de chaves.

      Certifique-se de que cria o conjunto de chaves e a chave no seu projeto do Cloud KMS.

      Conceda autorizações do Colab Enterprise

      Para usar a CMEK nos seus recursos, tem de conceder ao Colab Enterprise autorização para encriptar e desencriptar dados com a sua chave. O Colab Enterprise usa um agente de serviço gerido pela Google para executar operações usando os seus recursos. Esta conta de serviço é identificada por um endereço de email no seguinte formato: service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com.

      Para encontrar a conta de serviço adequada para o seu projeto do Notebook, aceda à página IAM na consolaGoogle Cloud e encontre o membro que corresponda a este formato de endereço de email, com o número do projeto do seu projeto do Notebook a substituir a variável NOTEBOOK_PROJECT_NUMBER. A conta de serviço também tem o nome Vertex AI Service Agent.

      Aceda à página do IAM

      Tome nota do endereço de email desta conta de serviço e use-o nos passos seguintes para lhe conceder autorização para encriptar e desencriptar dados através da sua chave. Pode conceder autorização através da Google Cloud consola ou através da Google Cloud CLI:

      Google Cloud consola

      1. Na Google Cloud consola, clique em Segurança e selecione Gestão de chaves. Esta ação direciona para a página Chaves criptográficas e selecione o seu projeto do Cloud KMS.

        Aceda à página Chaves criptográficas

      2. Clique no nome do conjunto de chaves que criou numa secção anterior deste guia para aceder à página Detalhes do conjunto de chaves.

      3. Selecione a caixa de verificação da chave que criou numa secção anterior deste guia. Se um painel de informações etiquetado com o nome da sua chave ainda não estiver aberto, clique em Mostrar 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". Nesta caixa de diálogo, faça o seguinte:

        1. Na caixa Novos membros, introduza o endereço de email da conta de serviço que anotou na secção anterior: service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com

        2. Na lista pendente Selecionar uma função, clique em Cloud KMS e, de seguida, selecione a função Cloud KMS Encriptador/desencriptador de CryptoKey.

        3. Clique em Guardar.

      gcloud

      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-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
        --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

      Neste comando, substitua os seguintes marcadores de posição:

      • KEY_NAME: o nome da chave que criou numa secção anterior deste guia.
      • KEY_RING_NAME: o anel de chaves que criou numa secção anterior deste guia.
      • REGION: a região onde criou o conjunto de chaves.
      • KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS.
      • NOTEBOOK_PROJECT_NUMBER: o número do projeto do seu projeto do Notebook, que indicou na secção anterior como parte de um endereço de email de uma conta de serviço.

      Configure um modelo de tempo de execução com a chave do KMS

      Quando cria um novo recurso compatível com CMEK, pode especificar a chave como um dos parâmetros de criação. Para criar um tempo de execução do Colab Enterprise, crie um modelo de tempo de execução com a sua chave CMEK especificada como um parâmetro. Qualquer tempo de execução que o Colab Enterprise gere a partir deste modelo de tempo de execução usa a encriptação CMEK.

      Para criar um modelo de tempo de execução através da Google Cloud consola, especifique a chave na caixa de diálogo Criar novo modelo de tempo de execução. Faça o seguinte:

      1. Na Google Cloud consola, aceda à página Modelos de tempo de execução do Colab Enterprise.

        Aceda aos modelos dos ambientes de execução

      2. Clique em  Novo modelo.

        É apresentada a caixa de diálogo Criar novo modelo de tempo de execução.

      3. Na secção Configurar computação, em Encriptação, selecione Chave do Cloud KMS.

      4. Para Tipo de chave, selecione Cloud KMS e, de seguida, no campo seguinte, selecione a chave de encriptação gerida pelo cliente.

      5. Conclua o resto da caixa de diálogo de criação da instância e, de seguida, clique em Criar.

        O modelo de tempo de execução é apresentado na lista no separador Modelos de tempo de execução.

      O que se segue?