Por padrão, o Vertex AI criptografa o conteúdo do cliente em repouso. A Vertex AI 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 Vertex AI. 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 a você monitorar o uso de chaves, 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 da Vertex AI é 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 alguns benefícios do uso de CMEK para recursos da Vertex AI e mostra como configurar um job de treinamento para usar CMEK.
Para mais informações sobre como usar a CMEK para o Colab Enterprise, consulte a página da CMEK do Colab Enterprise. Para mais informações sobre como usar o CMEK para instâncias do Vertex AI Workbench, consulte a página CMEK de instâncias do Vertex AI Workbench.
CMEK para recursos da Vertex AI
As seções a seguir descrevem informações básicas sobre CMEK para recursos da Vertex AI que você precisa entender antes de configurar o CMEK nos jobs.
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. Usando CMEK, você gerencia suas chaves no Cloud KMS. Por exemplo, é possível alternar ou desativar uma chave ou configurar uma programação de rotação usando a API Cloud KMS. Para obter mais informações sobre CMEK em geral, como quando e por que ativar, consulte a documentação do Cloud KMS.
Ao executar um job de treinamento do AutoML ou personalizado, o código é executado em uma ou mais instâncias de máquina virtual (VM, na sigla em inglês) gerenciada pela Vertex AI. Ao ativar CMEK para a Vertex AI, a chave designada por você (e não a chave gerenciada pelo Google) é usada para criptografar dados nos discos de inicialização dessas 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.
- Modelos treinados automaticamente.
- Arquivos de mídia (dados) enviados em conjuntos de dados de mídia.
Em geral, a chave CMEK não criptografa metadados associados à operação, como o nome e a região do job ou o nome de exibição de um conjunto de dados. Os metadados associados a operações são sempre criptografados com o mecanismo de criptografia padrão do Google.
Para conjuntos de dados, quando um usuário importa dados para o conjunto, os itens de dados e as anotações são criptografados por CMEK. O nome de exibição do conjunto de dados não é criptografado pelo CMEK.
Para modelos, os modelos armazenados no sistema de armazenamento (por exemplo, disco) são criptografados por CMEK. Todos os resultados da avaliação do modelo são criptografados por CMEK.
Para endpoints, todos os arquivos de modelo usados na implantação do modelo no endpoint são criptografados por CMEK. Isso não inclui dados na memória.
Para predição em lote, todos os arquivos temporariamente, como arquivos de modelo, registros e discos de VM, usados para executar o job de previsão em lote são criptografados por CMEK. Os resultados da previsão em lote são armazenados no destino fornecido pelo usuário. Consequentemente, a Vertex AI respeita o valor padrão da configuração de criptografia do destino. Caso contrário, os resultados também serão criptografados com CMEK.
Para rotulagem de dados, todos os arquivos de entrada (imagem, texto, vídeo, tabular), discussões temporárias (por exemplo, perguntas, feedback) e saídas (resultado da rotulagem) são criptografados pela CMEK. , Os nomes de exibição das especificações de anotação não são criptografados pelo CMEK.
Chaves externas
Use o Gerenciador de chaves externo do Cloud (Cloud EKM) para criar chaves externas, que você gerencia, para criptografar dados no Google Cloud.
Quando você usa uma chave do Cloud EKM, o Google não tem controle sobre a disponibilidade da sua chave gerenciada externamente. Se você solicitar acesso a um recurso criptografado com uma chave gerenciada externamente e a chave não estiver disponível, a Vertex AI rejeitará a solicitação. Pode haver um atraso de até 10 minutos antes de você conseguir acessar o recurso quando a chave estiver disponível.
Para mais considerações ao usar chaves externas, consulte Gerenciador de chaves externo do Cloud.
Usar CMEK com outros produtos do Google Cloud
A configuração de CMEK para recursos da Vertex AI não configura automaticamente o CMEK para outros produtos do Google Cloud que você usa junto da Vertex AI. Para usar CMEK para criptografar dados em outros produtos do Google Cloud, é necessária uma configuração adicional. Por exemplo:
Cloud Storage: ao realizar o treinamento personalizado, a Vertex AI geralmente carrega os dados do Cloud Storage. Quando você usa um aplicativo de treinamento em Python e um contêiner pré-criado para o treinamento, a Vertex AI também carrega o código de um bucket do Cloud Storage. Além disso, alguns jobs de treinamento também exportam artefatos de modelo treinados (por exemplo, um diretório SaveModel do TensorFlow) para um bucket do Cloud Storage como parte da saída.
Para garantir que seus dados no Cloud Storage sejam criptografados com CMEK, leia o guia do Cloud Storage para usar chaves de criptografia gerenciadas pelo cliente. É possível definir a chave de criptografia como a chave padrão para os buckets do Cloud Storage usados com a Vertex AI ou para criptografar objetos específicos.
Artifact Registry: quando você usa um contêiner personalizado para o treinamento, é possível configurar a Vertex AI para carregar a imagem do contêiner do Artifact Registry.
Para garantir que a imagem do contêiner seja criptografada com CMEK, leia o guia do Artifact Registry para CMEK.
Cloud Logging: ao executar um job de treinamento, o treinamento da Vertex AI salva registros no Logging. Para criptografar esses registros usando a CMEK, consulte Configurar a CMEK para o Cloud Logging.
Recursos atuais compatíveis com a CMEK
Estes são os recursos da Vertex AI cobertos atualmente pelo CMEK. O suporte do CMEK para os recursos de visualização também está no status de visualização.
Recurso | Material criptografado | Links de documentação |
---|---|---|
Conjunto de dados |
|
|
Modelo |
|
|
Endpoint |
|
|
CustomJob |
|
|
HyperparameterTuningJob |
|
|
TrainingPipeline |
|
|
BatchPredictionJob (exclui o AutoML batchPrediction da imagem) |
|
|
ModelDeploymentMonitoringJob |
|
|
PipelineJob |
|
|
MetadataStore |
|
|
TensorBoard |
|
|
Featurestore |
|
|
Índice |
|
|
IndexEndpoint |
|
|
Ambiente de execução do Colab Enterprise |
|
Suporte a CMEK para pipelines de ajuste de IA generativa
O suporte para CMEK é fornecido no pipeline de ajuste dos seguintes modelos:
text-bison for PaLM 2
(GPU)BERT
T5
image-generation (GPU)
Limitações
O suporte à CMEK não é fornecido nos seguintes locais:
- Previsão em lote do modelo de imagem do AutoML (
BatchPredictionJob
) - Ajuste de TPU
Configurar CMEK para seus recursos
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 à Vertex AI para a chave e criar recursos que usam CMEK.
Antes de começar
Este guia pressupõe que você usa dois projetos separados do Google Cloud para configurar o CMEK para dados da Vertex AI:
- Um projeto para gerenciar sua chave de criptografia (conhecido como "projeto do Cloud KMS").
- Um projeto para acessar dados da Vertex AI ou saída no Cloud Storage e interagir com outros produtos do Google Cloud necessários usados no seu caso de uso (conhecido como "projeto do AI Platform").
Essa configuração recomendada é compatível com uma separação de tarefas.
Como alternativa, é possível usar um único projeto do 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 AI Platform.
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 AI Platform
- 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 o keyring, especifique uma região que ofereça suporte a operações da Vertex AI como o local do keyring. O treinamento da Vertex AI só é compatível com o CMEK quando o recurso e 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 da Vertex AI
Para usar o CMEK nos recursos, conceda permissão à Vertex AI para criptografar e descriptografar dados usando a chave. A Vertex AI usa um agente de serviço gerenciado pelo Google para executar operações usando os 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 apropriada ao seu projeto do AI Platform, acesse
a página IAM no console do Google Cloud e encontre o assinante que corresponde a
esse formato de endereço de e-mail, substituindo a variável
AI_PLATFORM_PROJECT_NUMBER pelo número
do seu projeto no AI
Platform. 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 Google Cloud CLI:
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 de sua chave ainda não estiver aberto, clique em Exibir 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-AI_PLATFORM_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.
- Na caixa Novos membros, insira o endereço de e-mail da conta de serviço que
você anotou na seção anterior:
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-AI_PLATFORM_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
- AI_PLATFORM_PROJECT_NUMBER: o número do projeto do AI Platform, que você anotou na seção anterior como parte de um endereço de e-mail da conta de serviço.
Criar recursos 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.
Console
Ao criar um novo recurso compatível com a CMEK na seção da Vertex AI do Console do Google Cloud, é possível selecionar a chave na seção de opções gerais ou avançadas:
REST e linha de comando
Ao criar um recurso compatível, adicione um objeto encryptionSpec
à sua solicitação e defina o campo encryptionSpec.kmsKeyName
para apontar para sua chave.
Por exemplo, ao criar um recurso dataset
, você especificaria sua chave no corpo da solicitação:
{
"displayName": DATASET_NAME,
"metadataSchemaUri": METADATA_URI,
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
}
}
Java
Ao criar um recurso compatível, defina EncryptionSpec
para apontar para o recurso de chave. Para mais informações, consulte a documentação da biblioteca de cliente da Vertex AI para Java.
Node.js
Ao criar um recurso compatível, defina o parâmetro encryptionSpec
para apontar para o recurso da chave. Para mais informações, consulte a documentação da biblioteca de cliente da Vertex AI para Node.js.
Python
Ao criar um recurso compatível, defina o parâmetro encryption_spec
para apontar para o recurso da chave. Para mais informações, consulte a documentação do Cliente Python para Cloud AI Platform.
A seguir
- Saiba mais sobre CMEK no Google Cloud.
- Saiba como usar CMEK com outros produtos do Google Cloud .