Use chaves de encriptação geridas pelo cliente

Por predefinição, o Vertex AI Workbench encripta o conteúdo do cliente em repouso. O Vertex AI Workbench 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 (CMEKs) no Cloud KMS com serviços integrados com CMEK, incluindo o Vertex AI Workbench. 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 Vertex AI Workbench é 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).

Esta página descreve algumas vantagens e limitações específicas da utilização das CMEK com blocos de notas geridos e mostra como configurar uma nova instância de blocos de notas geridos para usar as CMEK.

Vantagens da CMEK

Em geral, as CMEK são mais úteis se precisar de controlo total sobre as chaves usadas para encriptar os seus dados. Com as CMEK, pode gerir as suas chaves no Cloud Key Management Service. Por exemplo, pode alternar ou desativar uma chave, ou pode configurar um agendamento de alternância através da API Cloud KMS.

Quando executa uma instância de blocos de notas geridos, a sua instância é executada numa infraestrutura de computação gerida pela Google. Quando ativa as CMEK para uma instância de notebooks geridos, o Vertex AI Workbench usa a chave que designa, em vez de uma chave gerida pela Google, para encriptar os seus dados de utilizador.

A chave CMEK não encripta metadados, como o nome e a região da instância, associados à sua instância de blocos de notas geridos. Os metadados associados às instâncias de blocos de notas geridos são sempre encriptados através do mecanismo de encriptação predefinido da Google.

Limitações da CMEK

Para diminuir a latência e evitar casos em que os recursos dependem de serviços distribuídos por vários domínios de falhas, a Google recomenda que proteja as instâncias de blocos de notas geridos regionais com chaves na mesma localização.

  • Pode encriptar instâncias de blocos de notas geridos regionais usando chaves na mesma localização ou na localização global. Por exemplo, pode encriptar dados do utilizador na região us-west1 usando uma chave em us-west1 ou global.
  • A configuração das CMEK para blocos de notas geridos não configura automaticamente as CMEK para outros Google Cloud produtos que usa. Para usar as CMEK para encriptar dados noutros Google Cloud produtos, tem de concluir a configuração adicional.

Configure a CMEK para a instância de notebooks geridos

As secções seguintes descrevem como criar um conjunto de chaves e uma chave no Cloud Key Management Service, conceder à conta de serviço autorizações de encriptação e desencriptação para a sua chave e criar uma instância de blocos de notas geridos que use a CMEK.

Antes de começar

Recomendamos que use uma configuração que suporte uma separação de funções. Para configurar as CMEK para blocos de notas geridos, pode usar dois projetos Google Cloud separados:

  • Um projeto do Cloud KMS: um projeto para gerir a sua chave de encriptação
  • Um projeto de blocos de notas geridos: um projeto para aceder a instâncias de blocos de notas geridos e interagir com quaisquer outros produtos Google Cloud de que precisa para o seu exemplo de utilização

Em alternativa, pode usar um único Google Cloud projeto. Para tal, use o mesmo projeto para todas as seguintes tarefas.

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 de notebooks geridos

    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 Notebooks 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 Notebooks 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 nesta página 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

      Quando criar um conjunto de chaves e uma chave, tenha em atenção os seguintes requisitos:

      • Quando escolher a localização do porta-chaves, use global ou a localização onde a instância dos blocos de notas geridos vai estar.

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

      Para criar um conjunto de chaves e uma chave, consulte o artigo Crie chaves de encriptação simétricas.

      Conceda autorizações de notebooks geridos

      Se configurar a sua instância com acesso de utilizador único, tem de conceder ao projeto da instância de blocos de notas geridos autorização para encriptar e desencriptar dados através da sua chave. Concede esta autorização ao agente do serviço do seu projeto. O endereço de email deste agente de serviço tem o seguinte aspeto:

      service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com

      Substitua NOTEBOOKS_PROJECT_NUMBER pelo número do projeto do projeto da instância de blocos de notas geridos.

      Tome nota do endereço de email do seu agente de serviço. Vai usá-la nos passos seguintes para conceder autorização ao projeto da instância dos blocos de notas geridos para encriptar e desencriptar dados com a sua chave. Pode conceder autorização através da consola Google Cloud ou da Google Cloud CLI.

      Consola

      1. Na Google Cloud consola, aceda à página Gestão de chaves.

        Aceda à gestão de chaves

      2. Selecione o seu projeto do Cloud KMS.

      3. Clique no nome do conjunto de chaves que criou em Crie um conjunto de chaves e uma chave. É apresentada a página Detalhes do conjunto de chaves.

      4. Selecione a caixa de verificação da chave que criou em Crie um conjunto de chaves e uma chave. Se ainda não estiver aberto um painel de informações etiquetado com o nome da sua chave, clique em Mostrar painel de informações.

      5. No painel de informações, clique em  Adicionar membro. É apresentada a caixa de diálogo Adicionar membros a "KEY_NAME". Neste diálogo, faça o seguinte:

        1. No campo Novos membros, introduza o endereço de email do agente de serviço que anotou na secção anterior.

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

        3. Clique em Guardar.

      gcloud

      1. Execute o seguinte comando para conceder ao agente de serviço autorização para encriptar e desencriptar dados com a sua chave:

        gcloud kms keys add-iam-policy-binding KEY_NAME \
            --keyring=KEY_RING_NAME \
            --location=REGION \
            --project=KMS_PROJECT_ID \
            --member=serviceAccount:EMAIL_ADDRESS \
            --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
        

        Substitua o seguinte:

      Crie uma instância de notebooks geridos com CMEK

      Depois de conceder à instância de blocos de notas geridos autorização para encriptar e desencriptar dados através da sua chave, pode criar uma instância de blocos de notas geridos que encripta dados através desta chave. Siga os passos seguintes:

      1. Na Google Cloud consola, aceda à página Blocos de notas geridos.

        Aceda a notebooks geridos

      2. Clique em  Novo bloco de notas.

      3. No campo Nome do bloco de notas, introduza um nome para a instância.

      4. Clique na lista Região e selecione uma região para a sua instância.

      5. Clique em Definições avançadas.

      6. Na secção Encriptação de disco, selecione Chave de encriptação gerida pelo cliente (CMEK).

      7. Clique em Selecionar uma chave gerida pelo cliente.

        • Se a chave gerida pelo cliente que quer usar estiver na lista, selecione-a.

        • Se a chave gerida pelo cliente que quer usar não estiver na lista, introduza o ID do recurso da chave gerida pelo cliente. O ID do recurso da chave gerida pelo cliente tem o seguinte aspeto:

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

          Substitua o seguinte:

      8. Conclua o resto da caixa de diálogo Criar um bloco de notas gerido de acordo com as suas necessidades.

      9. Clique em Criar.

      10. O Vertex AI Workbench cria uma instância de blocos de notas geridos com base nas propriedades especificadas e inicia automaticamente a instância. Quando a instância está pronta a usar, o Vertex AI Workbench ativa um link Abrir JupyterLab.

      O que se segue?