Usar chaves de criptografia gerenciadas pelo cliente (CMEK)
Por padrão, o Colab Enterprise criptografa o conteúdo do cliente em repouso. O Colab Enterprise 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 CMEKs, incluindo o Colab Enterprise. 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 Colab Enterprise é semelhante à criptografia padrão do Google. Para mais informações sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).
Este guia descreve como usar a CMEK para o Colab Enterprise.
Para mais informações sobre como usar a CMEK para a Vertex AI, consulte a página da CMEK da Vertex AI.
CMEK para o Colab Enterprise
É possível usar a CMEK para criptografar ambientes de execução do Colab Enterprise e arquivos de bloco de notas (notebooks).
Ambientes de execução
Quando você executa um código em um bloco do Colab Enterprise, um ambiente de execução executa o código em uma ou mais instâncias de máquina virtual (VM) gerenciadas pelo Colab Enterprise. Quando você ativa a CMEK para os ambientes de execução do Colab Enterprise, a chave designada, em vez de uma chave gerenciada pelo Google, é usada para criptografar dados nessas VMs. A chave de CMEK criptografa os seguintes tipos de dados:
- A cópia do código nas VMs.
- Todos os dados que forem carregados pelo seu código.
- Todos os dados temporários que forem salvos no disco local pelo código.
É possível iniciar, interromper e fazer upgrade do ambiente de execução sem afetar a criptografia CMK.
Em geral, a chave CMEK não criptografa metadados associados à operação, como o nome do ambiente de execução ou o nome e a região do notebook. Esses metadados são sempre criptografados usando o mecanismo de criptografia padrão do Google.
Notebooks
Os notebooks do Colab Enterprise são armazenados em repositórios do Dataform. Quando você cria um bloco, o Colab Enterprise cria automaticamente um repositório oculto do Dataform em que o bloco é armazenado. Como o repositório está oculto, não é possível modificar as configurações de criptografia dele como faria com outros repositórios do Dataform.
Para usar a CMEK nos notebooks, defina uma chave padrão de CMEK do Dataform para o projeto Google Cloud que vai conter os notebooks. Depois de definir uma chave padrão do Dataform CMEK, o Dataform aplica a chave a todos os novos repositórios criados no projeto do Google Cloud por padrão, incluindo os repositórios ocultos criados para armazenar seus notebooks.
A chave padrão do Dataform CMEK não é aplicada aos repositórios existentes. Portanto, se você já tiver notebooks nesse projeto, eles não serão criptografados pela chave CMEK padrão do Dataform. Para usar a CMEK com um notebook criado antes de definir a chave padrão do Dataform CMEK do seu projeto, salve o arquivo do notebook como um novo notebook do Colab Enterprise.
Para saber mais sobre as chaves CMEK padrão do Dataform, consulte Usar chaves CMEK padrão do Dataform.
Para usar a CMEK nos notebooks, consulte Definir uma chave padrão do Dataform CMEK.
Chaves compatíveis
O Colab Enterprise oferece suporte aos seguintes tipos de chaves CMEK:
A disponibilidade da chave varia de acordo com o tipo e a região. Para mais informações sobre a disponibilidade geográfica das chaves CMEK, consulte Locais do Cloud KMS.
Restrições e limitações
O Colab Enterprise oferece suporte a CMEK com as seguintes restrições e limitações:
- A cota padrão na Vertex AI é de uma chave de criptografia por projeto e região. Se você precisar registrar mais de uma chave para uma região no seu projeto, entre em contato com a equipe da sua conta do Google para solicitar um aumento de cota para configurações de CMEK, justificando por que você precisa de mais de uma chave.
Cotas do Cloud KMS e do Colab Enterprise
Quando você usa a CMEK no Colab Enterprise, seus projetos podem consumir cotas de solicitações criptográficas do Cloud KMS. As operações de criptografia e descriptografia que usam chaves CMEK só afetam as cotas do Cloud KMS se você usar chaves de hardware (Cloud HSM) ou externas (Cloud EKM). Para mais informações, consulte Cotas do Cloud KMS.
Configurar a CMEK para seus ambientes de execução
As seções a seguir descrevem como criar um keyring e uma chave no Cloud Key Management Service, conceder permissões de criptografia e descriptografia do Colab Enterprise para a chave e criar um modelo de execução configurado para usar CMEK. Qualquer ambiente de execução gerado pelo Colab Enterprise usando esse modelo usa a criptografia CMEK.
Antes de começar
Neste guia, pressupomos que você use dois projetos Google Cloud separados para configurar a CMEK para ambientes de execução do Colab Enterprise:
- Um projeto para gerenciar sua chave de criptografia (conhecido como "projeto do Cloud KMS").
- Um projeto para acessar seus recursos do Colab Enterprise e interagir com outros produtos Google Cloud necessários (conhecido como "projeto do Notebook").
Essa configuração recomendada é compatível com uma separação de tarefas.
Como alternativa, é possível usar um único projeto Google Cloud para todo o guia. Para isso, use o mesmo projeto para todas as tarefas a seguir que fazem referência ao projeto do Cloud KMS e às tarefas que fazem referência ao projeto do Notebook.
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.
Configurar o projeto do notebook
- 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 Vertex AI 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 Vertex AI API.
Configure a Google Cloud CLI
A gcloud CLI é necessária em algumas etapas deste guia e opcional em outras.Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Crie um keyring e uma chave.
Siga o guia do Cloud KMS para criar chaves simétricas para criar um keyring e uma chave. Ao criar seu keyring, especifique uma região que ofereça suporte a operações do Colab Enterprise como o local do keyring. O Colab Enterprise só oferece suporte a CMEK quando o ambiente de execução e a chave usam a mesma região. Não especifique um local global, ou de duas ou mais regiões para seu keyring.
Certifique-se de criar o keyring e a chave no projeto do Cloud KMS.
Conceder permissões do Colab Enterprise
Para usar a CMEK nos recursos, conceda permissão ao Colab Enterprise
para criptografar e descriptografar dados usando sua chave.
O Colab Enterprise usa um agente de serviço gerenciado pelo
Google para executar
operações usando seus recursos. Essa conta de serviço é identificada por um endereço
de e-mail com o seguinte formato:
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
.
Para encontrar a conta de serviço adequada para seu
projeto de notebook, acesse a página IAM no
console do Google Cloud e encontre o membro que corresponde a esse
formato de endereço de e-mail, substituindo a variável
NOTEBOOK_PROJECT_NUMBER pelo número
do projeto do notebook. A conta de serviço também tem o
nome Vertex AI Service Agent
.
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. Conceda a permissão usando o console do Google Cloud ou a CLI do Google Cloud:
Console do Google Cloud
No console do Google Cloud, clique em Segurança e selecione Gerenciamento de chaves. Isso levará você à página Chaves criptográficas e selecionar o projeto do Cloud KMS.
Clique no nome do keyring que você criou em uma seção anterior deste guia para acessar a página Detalhes do keyring.
Marque a caixa de seleção da chave que você criou em uma seção anterior deste guia. Se um painel de informações com o nome da chave ainda não estiver aberto, clique em Mostrar painel de informações.
No painel de informações, clique em
Adicionar membro para abrir a caixa de diálogo Adicionar membros a "KEY_NAME". Nessa caixa de diálogo, faça o seguinte:Na caixa Novos membros, insira o endereço de e-mail da conta de serviço que você anotou na seção anterior:
service-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Na lista suspensa Selecionar uma função, clique em Cloud KMS e selecione a função Criptografador/Descriptografador de CryptoKey do Cloud KMS.
Clique em Salvar.
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-NOTEBOOK_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Nesse comando, substitua os seguintes marcadores:
- KEY_NAME: o nome da chave que você criou em uma seção anterior deste guia
- KEY_RING_NAME: o keyring que você criou em uma seção anterior deste guia
- REGION: a região em que você criou o keyring
- KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS
- NOTEBOOK_PROJECT_NUMBER: o número do projeto do notebook, que você anotou na seção anterior como parte de um endereço de e-mail da conta de serviço.
Configurar um modelo de ambiente de execução com a chave KMS
Ao criar um novo recurso compatível com a CMEK, é possível especificar a chave como um dos parâmetros de criação. Para criar um ambiente de execução do Colab Enterprise, crie um modelo de ambiente de execução com a chave CMEK especificada como um parâmetro. Qualquer ambiente de execução gerado pelo Colab Enterprise usando esse modelo usa a criptografia CMEK.
Para criar um modelo de execução usando o console do Google Cloud, especifique a chave na caixa de diálogo Criar novo modelo de execução. Faça o seguinte:
-
No console do Google Cloud, acesse a página Modelos de ambiente de execução do Colab Enterprise.
-
Clique em
Novo modelo.A caixa de diálogo Criar novo modelo de ambiente de execução será exibida.
-
Na seção Configurar computação, em Criptografia, selecione Chave do Cloud KMS.
-
Em Tipo de chave, selecione Cloud KMS e, no próximo campo, selecione a chave de criptografia gerenciada pelo cliente.
-
Conclua o restante da caixa de diálogo de criação de instância e clique em Criar.
Seu modelo de ambiente de execução aparece na lista da guia Modelos de ambiente de execução.
A seguir
- Para usar a CMEK nos notebooks, consulte Definir uma chave padrão do Dataform CMEK.
- Saiba mais sobre CMEK no Google Cloud.
- Saiba como usar a CMEK com outros produtos Google Cloud.