Chaves de encriptação geridas pelo cliente (CMEK)

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 monitorizar a utilização das chaves, 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 da CMEK com o Vertex AI Workbench e mostra como configurar uma nova instância do Vertex AI Workbench para usar a CMEK.

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

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 do Vertex AI Workbench, a instância é executada numa máquina virtual (VM) gerida pelo Vertex AI Workbench. Quando ativa a CMEK para uma instância do Vertex AI Workbench, o Vertex AI Workbench usa a chave que designa, em vez de uma chave gerida pela Google, para encriptar os dados nos discos de arranque da VM.

A chave CMEK não encripta metadados, como o nome e a região da instância, associados à sua instância do Vertex AI Workbench. Os metadados associados às instâncias do Vertex AI Workbench 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 regionais do Vertex AI Workbench com chaves na mesma localização.

  • Pode encriptar instâncias regionais do Vertex AI Workbench usando chaves na mesma localização ou na localização global. Por exemplo, pode encriptar dados num disco na zona us-west1-a usando uma chave em us-west1 ou global.
  • Pode encriptar instâncias globais através de chaves em qualquer localização.
  • A configuração da CMEK para o Vertex AI Workbench não configura automaticamente a 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 sua instância do Vertex AI Workbench

As secções seguintes descrevem como criar um conjunto de chaves e uma chave no Cloud Key Management Service, conceder as autorizações de encriptação e desencriptação da conta de serviço para a sua chave e criar uma instância do Vertex AI Workbench 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 o Vertex AI Workbench, pode usar dois Google Cloud projetos separados:

  • Um projeto do Cloud KMS: um projeto para gerir a sua chave de encriptação
  • Um projeto do Vertex AI Workbench: um projeto para aceder a instâncias do Vertex AI Workbench e interagir com quaisquer outros Google Cloud produtos 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 do Vertex AI Workbench

    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 do Vertex AI Workbench 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 do Vertex AI Workbench

      Para usar a CMEK na sua instância do Vertex AI Workbench, tem de conceder à instância do Vertex AI Workbench autorização para encriptar e desencriptar dados com a sua chave. Concede esta autorização ao agente do serviço do seu projeto e à conta de serviço do Compute Engine.

      Para encontrar as contas específicas do seu projeto do Vertex AI Workbench, use a Google Cloud consola.

      1. Na Google Cloud consola, aceda à página IAM

        Aceda ao IAM

      2. Selecione Incluir concessões de funções fornecidas pela Google.

      3. Encontre os membros que correspondem aos seguintes formatos de endereço de email. Tome nota dos endereços de email e use-os nos passos seguintes.

        • O endereço de email do agente de serviço do seu projeto tem o seguinte aspeto:

          service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
        • O endereço de email da conta de serviço do Compute Engine tem o seguinte aspeto:

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

        Substitua NOTEBOOKS_PROJECT_NUMBER pelo número do projeto do Vertex AI Workbench.

        Para conceder a estas contas autorização para encriptar e desencriptar dados com a sua chave, pode usar a consola ou a CLI do Google Cloud. Google Cloud

        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 do seu projeto:

            service-NOTEBOOKS_PROJECT_NUMBER@gcp-sa-notebooks.iam.gserviceaccount.com
          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.

        6. Repita estes passos para o agente de serviço do Compute Engine:

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

        gcloud

        1. Para conceder ao agente do serviço do seu projeto autorização para encriptar e desencriptar dados através da 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 o seguinte:

          • KEY_NAME: o nome da chave que criou em Crie um conjunto de chaves e uma chave
          • KEY_RING_NAME: o conjunto de chaves que criou em Crie um conjunto de chaves e uma chave
          • REGION: a região onde criou o seu conjunto de chaves
          • KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS
          • NOTEBOOKS_PROJECT_NUMBER: o número do projeto do seu projeto do Vertex AI Workbench, que anotou na secção anterior como parte de um endereço de email de uma conta de serviço.
        2. Para conceder autorização à conta de serviço do Compute Engine para encriptar e desencriptar dados com a 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@compute-system.iam.gserviceaccount.com \
            --role=roles/cloudkms.cryptoKeyEncrypterDecrypter

      Crie uma instância do Vertex AI Workbench com CMEK

      Depois de conceder à sua instância do Vertex AI Workbench autorização para encriptar e desencriptar dados com a sua chave, pode criar uma instância do Vertex AI Workbench que encripta dados com esta chave.

      O exemplo seguinte mostra como encriptar e desencriptar dados com a sua chave através da Google Cloud consola.

      Para criar uma instância do Vertex AI Workbench com uma chave de encriptação gerida pelo cliente:

      1. Na Google Cloud consola, aceda à página Instâncias.

        Aceda a Instâncias

      2. Clique em  Criar novo.

      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 secção Detalhes, faculte as seguintes informações para a sua nova instância:

        • Nome: um nome para a nova instância
        • Região: a região em que se encontram a chave e o conjunto de chaves
        • Zona: uma zona na região que selecionou
      5. Na secção Discos, em Encriptação, selecione Chave de encriptação gerida pelo cliente (CMEK).

      6. 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:

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

      O que se segue?