Chaves de criptografia gerenciadas pelo cliente
Por padrão, o Vertex AI Workbench criptografa o conteúdo do cliente em repouso. O Vertex AI Workbench processa a criptografia para você sem que você precise 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 CMEK, incluindo o Vertex AI Workbench. O uso de chaves do Cloud KMS permite 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. O uso do Cloud KMS também permite visualizar registros de auditoria e controlar ciclos de vida importantes. Em vez de o Google ser proprietário e gerente de 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 Vertex AI Workbench é semelhante à criptografia padrão do Google. Para mais informações 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 notebooks gerenciados pelo usuário. Além disso, mostramos como configurar uma nova instância de notebooks gerenciados pelo usuário para usar o CMEK.
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 de notebooks gerenciados pelo usuário, ela é executada em uma máquina virtual (VM) gerenciada pelo Vertex AI Workbench. Quando você ativa CMEK para uma instância de notebooks gerenciados pelo usuário, o Vertex AI Workbench usa a chave que você designou, em vez de uma chave gerenciada pelo Google, para criptografar dados nos discos de inicialização de VM.
A chave de CMEK não criptografa metadados, como o nome e a região da instância, associados à instância de notebooks gerenciados pelo usuário. Os metadados associados às instâncias de notebooks gerenciados pelo usuário são sempre criptografados com 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 de notebooks gerenciados pelo usuário com chaves no mesmo local.
- É possível criptografar instâncias de notebooks regionais gerenciadas pelo usuário 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 emus-west1
ouglobal
. - Você pode criptografar instâncias globais usando chaves em qualquer local.
- Configurar o CMEK para notebooks gerenciados pelo usuário não configura automaticamente o CMEK para outros produtos Google Cloud que você usa. Para usar o CMEK para criptografar dados em outros produtos Google Cloud , você precisa concluir uma configuração extra.
Como configurar CMEK para sua instância de notebooks gerenciados pelo usuário
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 de notebooks gerenciados pelo usuário que usa CMEK.
Antes de começar
Recomendamos o uso de uma configuração compatível com uma separação de tarefas. Para configurar o CMEK para notebooks gerenciados pelo usuário, use dois projetos Google Cloud separados:
- Um projeto do Cloud KMS: um projeto para gerenciar a chave de criptografia
- Um projeto de notebooks gerenciados por usuários: um projeto para acessar instâncias de notebooks gerenciados por usuários e interagir com outros produtos Google Cloud necessários para seu caso de uso
Como alternativa, use um único projeto Google Cloud . Para isso, use o mesmo projeto para todas as tarefas a seguir.
Configurar o projeto do Cloud KMS
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud KMS API.
Como configurar o projeto de notebooks gerenciados pelo usuário
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Notebooks API.
Configure a Google Cloud CLI
A gcloud CLI é necessária para realizar algumas etapas desta página e é opcional para outras.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
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 da sua instância de notebooks gerenciados pelo usuário.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.
Permitir permissões de notebooks gerenciados pelo usuário
Para usar CMEK na instância de notebooks gerenciada pelo usuário, você precisa conceder a ela permissão para criptografar e descriptografar dados usando sua chave.
Determinar a conta de serviço a ser usada
Os notebooks gerenciados pelo usuário usam uma conta de serviço para executar sua instância desses notebooks. Essa é a conta de serviço padrão do Compute Engine ou uma conta de serviço que você especifica ao criar a instância.
Se a conta de serviço for aquela padrão do Compute Engine, conclua as seguintes etapas para encontrar o endereço de e-mail dessa conta:
No console do Google Cloud, abra a página IAM.
Encontre o principal com o nome
Compute Engine default service account
.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.
Conceder permissão à conta de serviço
Conceda permissão usando o console do Google Cloud ou a Google Cloud CLI.
Console
No console do Google Cloud, acesse a página Gerenciamento de chaves.
Selecione o projeto do Cloud KMS.
Clique no nome do keyring que você criou em Criar um keyring e uma chave. A página Detalhes do keyring é aberta.
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.
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:No campo Novos membros, insira o endereço de e-mail da conta de serviço da sua instância.
Na lista Selecionar um papel, clique em Cloud KMS e depois selecione o papel Criptografador/Ddescriptografador de CryptoKey do Cloud KMS.
Clique em Save.
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_ACCOUNT \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Substitua:
KEY_NAME
: o nome da chave que você criou em Criar um keyring e uma chaveKEY_RING_NAME
: o keyring que você criou em Criar um keyring e uma chaveREGION
: a região em que você criou o keyringKMS_PROJECT_ID
: o ID do seu projeto do Cloud KMSSERVICE_ACCOUNT
: o endereço de e-mail da conta de serviço da sua instância.
Como criar uma instância de notebooks gerenciada pelo usuário com CMEK
Agora que você concedeu permissão à instância de notebooks gerenciados pelo usuário para criptografar e descriptografar dados usando sua chave, é possível criar uma instância de notebooks gerenciada pelo usuário que criptografa dados usando essa chave.
Os exemplos a seguir mostram como criptografar e descriptografar dados usando a chave com o Console do Google Cloud ou a CLI gcloud.
Console
Para criar uma instância de notebook gerenciada pelo usuário com uma chave de criptografia gerenciada pelo cliente, siga estas etapas:
No Console do Google Cloud, acesse a página Notebooks gerenciados pelo usuário. Também é possível acessar notebook.new (https://notebook.new) e pular a próxima etapa.
Clique em
Novo notebook e, em seguida, selecione Personalizar.Na página Criar um notebook gerenciado pelo usuário, na seção Detalhes, forneça as seguintes informações para 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.
Selecione a seção Discos.
Para usar chaves de criptografia gerenciadas pelo cliente, em Criptografia, selecione Chave de criptografia gerenciada pelo cliente (CMEK).
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. A ID do recurso da chave gerenciada pelo cliente tem esta aparência:
projects/NOTEBOOKS_PROJECT_NUMBER/locations/global/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Substitua:
- ID do
NOTEBOOKS_PROJECT_NUMBER
projeto de notebooks gerenciados pelo usuário. KEY_RING_NAME
: o keyring que você criou em Criar um keyring e uma chaveKEY_NAME
: o nome da chave que você criou em Criar um keyring e uma chave
- ID do
Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.
O Vertex AI Workbench cria uma nova instância de notebooks gerenciados pelo usuário com base nas propriedades especificadas. Quando a instância estiver pronta para uso, o Vertex AI Workbench ativa um link Abrir JupyterLab.
gcloud
Para usar a CLI gcloud para criar
uma instância de notebooks gerenciados pelo usuário com uma
chave de criptografia gerenciada pelo cliente, execute o seguinte comando.
Neste exemplo, presumimos que você quer criar
uma instância de notebooks gerenciados pelo usuário
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=deeplearning-platform-release \ --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 você planeja criar a nova instância de notebooks gerenciados pelo usuário.IMAGE_FAMILY
: a família de imagens que você quer usar para criar a instância de notebooks gerenciados pelo usuário.KEY_NAME
: o nome da chave que você criou em Criar um keyring e uma chaveKMS_PROJECT_ID
: o ID do seu projeto do Cloud KMSKEY_RING_NAME
: o keyring que você criou em Criar um keyring e uma chave
A seguir
- Saiba mais sobre CMEK no Google Cloud
- Saiba como usar a CMEK com outros produtos Google Cloud.