Por predefinição, o Vertex AI encripta o conteúdo do cliente em repouso. O Vertex AI processa a encriptação por si sem 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. 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 seus recursos da Vertex AI é 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).
Este guia descreve algumas vantagens da utilização da CMEK para recursos da Vertex AI e explica como configurar uma tarefa de preparação para usar a CMEK.
Para mais informações sobre como usar as CMEK para o Colab Enterprise, consulte a página das CMEK do Colab Enterprise. Para mais informações sobre como usar as CMEK para instâncias do Vertex AI Workbench, consulte a página CMEK das instâncias do Vertex AI Workbench.
CMEK para recursos do Vertex AI
As secções seguintes descrevem informações básicas sobre a CMEK para recursos da Vertex AI que tem de compreender antes de configurar a CMEK para as suas tarefas.
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 KMS. Por exemplo, pode alternar ou desativar uma chave, ou configurar um agendamento de alternância através da API Cloud KMS. Para mais informações sobre a CMEK em geral, incluindo quando e por que motivo a deve ativar, consulte a documentação do Cloud KMS.
Quando executa uma tarefa de AutoML personalizada ou do AutoML, o seu código é executado numa ou mais instâncias de máquinas virtuais (VMs) geridas pelo Vertex AI. Quando ativa a CMEK para recursos do Vertex AI, a chave que designa, em vez de uma chave gerida pela Google, é usada para encriptar dados nos discos de arranque destas VMs. A chave CMEK encripta os seguintes tipos de dados:
- A cópia do seu código nas VMs.
- Todos os dados carregados pelo seu código.
- Todos os dados temporários que são guardados no disco local pelo seu código.
- Modelos preparados com o AutoML.
- Ficheiros multimédia (dados) carregados em conjuntos de dados multimédia.
Em geral, a chave CMEK não encripta os metadados associados à sua operação, como o nome e a região da tarefa, ou o nome a apresentar de um conjunto de dados. Os metadados associados às operações são sempre encriptados através do mecanismo de encriptação predefinido da Google.
Para conjuntos de dados, quando um utilizador importa dados para um conjunto de dados, os itens de dados e as anotações são encriptados com CMEK. O nome a apresentar do conjunto de dados não está encriptado com CMEK.
Para os modelos, os modelos armazenados no sistema de armazenamento (por exemplo, disco) são encriptados com CMEK. Todos os resultados da avaliação do modelo estão encriptados com CMEK.
Para pontos finais, todos os ficheiros de modelos usados para a implementação de modelos no ponto final são encriptados com CMEK. Isto não inclui dados na memória.
Para a previsão em lote, todos os ficheiros temporários (como ficheiros de modelos, registos e discos de VM) usados para executar a tarefa de previsão em lote são encriptados com CMEK. Os resultados da previsão em lote são armazenados no destino fornecido pelo utilizador. Consequentemente, o Vertex AI respeita o valor predefinido da configuração de encriptação do destino. Caso contrário, os resultados também são encriptados com CMEK.
Para a etiquetagem de dados, todos os ficheiros de entrada (imagem, texto, vídeo, tabular), a discussão temporária (por exemplo, perguntas, feedback) e a saída (resultado da etiquetagem) são encriptados com CMEK. Os nomes a apresentar das especificações de anotações não estão encriptados com CMEK.
Para os agentes, a CMEK encripta todos os ficheiros de origem usados para o desenvolvimento de agentes. Além disso, as imagens de contentores e as instâncias implementadas para o agente também são encriptadas com CMEK.
Chaves externas
Pode usar o Cloud External Key Manager (Cloud EKM) para criar chaves externas, que gere, para encriptar dados no Google Cloud.
Quando usa uma chave do Cloud EKM, a Google não tem controlo sobre a disponibilidade da sua chave gerida externamente. Se pedir acesso a um recurso encriptado com uma chave gerida externamente e a chave estiver indisponível, o Vertex AI rejeita o pedido. Pode haver um atraso de até 10 minutos antes de poder aceder ao recurso assim que a chave ficar disponível.
Para ver mais considerações ao usar chaves externas, consulte o artigo Cloud External Key Manager.
Use as CMEK com outros Google Cloud produtos
A configuração da CMEK para recursos do Vertex AI não configura automaticamente a CMEK para outros produtos que usa em conjunto com o Vertex AI. Google Cloud Para usar as CMEK para encriptar dados noutros Google Cloud produtos, é necessária uma configuração adicional. Por exemplo:
Cloud Storage: quando realiza um treino personalizado, o Vertex AI carrega normalmente os seus dados a partir do Cloud Storage. Quando usa uma aplicação de preparação Python e um contentor pré-criado para a preparação, o Vertex AI também carrega o seu código a partir de um contentor do Cloud Storage. Além disso, algumas tarefas de preparação exportam artefactos de modelos preparados (por exemplo, um diretório SaveModel do TensorFlow) para um contentor do Cloud Storage como parte do respetivo resultado.
Para garantir que os seus dados no Cloud Storage estão encriptados com CMEK, leia o guia do Cloud Storage para usar chaves de encriptação geridas pelo cliente. Pode definir a sua chave de encriptação como a chave predefinida para os contentores do Cloud Storage que usa com o Vertex AI ou pode usá-la para encriptar objetos específicos.
Artifact Registry: quando usa um contentor personalizado para a preparação, pode configurar o Vertex AI para carregar a imagem do contentor a partir do Artifact Registry.
Para garantir que a sua imagem de contentor está encriptada com CMEK, leia o guia do Artifact Registry para CMEK.
Cloud Logging: quando executa uma tarefa de preparação, o Vertex AI Training guarda os registos no Logging. Para encriptar estes registos através das CMEK, consulte o artigo Configure as CMEK para o Cloud Logging.
Recursos atualmente suportados pela CMEK
Os recursos do Vertex AI atuais abrangidos pela CMEK são os seguintes. O suporte de CMEK para funcionalidades de pré-visualização também está no estado de pré-visualização.
Recurso | Material encriptado | Links para documentação |
---|---|---|
Conjunto de dados |
|
|
Modelo |
|
|
Ponto final |
|
|
CustomJob |
|
|
HyperparameterTuningJob |
|
|
TrainingPipeline |
|
|
BatchPredictionJob (exclui AutoML image batchPrediction) |
|
|
ModelDeploymentMonitoringJob |
|
|
PipelineJob |
|
|
MetadataStore |
|
|
TensorBoard |
|
|
Feature Store |
|
|
Índice |
|
|
IndexEndpoint |
|
|
Tempo de execução do Colab Enterprise |
|
|
Bloco de notas do Colab Enterprise |
|
|
Vertex AI Agent Engine |
|
Suporte de CMEK para pipelines de otimização da IA generativa
O suporte de CMEK é fornecido no pipeline de otimização dos seguintes modelos:
BERT
T5
image-generation (GPU)
Limitações
O suporte de CMEK não é disponibilizado no seguinte:
- Previsão em lote do modelo de imagem do AutoML (
BatchPredictionJob
) - Ajuste da TPU
Configure a CMEK para os seus recursos
As secções seguintes descrevem como criar um conjunto de chaves e uma chave no Cloud Key Management Service, conceder autorizações de encriptação e desencriptação do Vertex AI para a sua chave e criar recursos que usam a CMEK.
Antes de começar
Este guia pressupõe que usa dois projetos Google Cloud separados para configurar as CMEK para os dados do Vertex AI:
- Um projeto para gerir a sua chave de encriptação (denominado "projeto do Cloud KMS").
- Um projeto para aceder aos dados ou à saída do Vertex AI no Cloud Storage e interagir com quaisquer outros Google Cloud produtos de que precisa para o seu exemplo de utilização (denominado "projeto da plataforma de IA").
Esta configuração recomendada suporta uma separação de funções.
Em alternativa, pode usar um único Google Cloud projeto para todo o guia. Para tal, use o mesmo projeto para todas as seguintes tarefas que se referem ao projeto do Cloud KMS e às tarefas que se referem ao projeto do AI Platform.
Configure 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.
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theserviceusage.services.enable
permission. Learn how to grant roles. - 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.
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
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 theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. Na Google Cloud consola, clique em Segurança e selecione Gestão de chaves. Esta ação direciona para a página Chaves criptográficas e selecione o seu projeto do Cloud KMS.
Clique no nome do conjunto de chaves que criou numa secção anterior deste guia para aceder à página Detalhes do conjunto de chaves.
Selecione a caixa de verificação da chave que criou numa secção anterior deste guia. Se um painel de informações etiquetado 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 para abrir a caixa de diálogo Adicionar membros a "KEY_NAME". Nesta caixa de diálogo, faça o seguinte:- Na caixa Novos membros, introduza o endereço de email da conta de serviço que
anotou na secção anterior:
service-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Na lista pendente Selecionar uma função, clique em Cloud KMS e, de seguida, selecione a função Encriptador/desencriptador de CryptoKey do Cloud KMS.
Clique em Guardar.
- Na caixa Novos membros, introduza o endereço de email da conta de serviço que
anotou na secção anterior:
- KEY_NAME: o nome da chave que criou numa secção anterior deste guia.
- KEY_RING_NAME: o anel de chaves que criou numa secção anterior deste guia.
- REGION: a região onde criou o conjunto de chaves.
- KMS_PROJECT_ID: o ID do seu projeto do Cloud KMS.
- AI_PLATFORM_PROJECT_NUMBER: o número do projeto do seu projeto da AI Platform, que anotou na secção anterior como parte de um endereço de email de uma conta de serviço.
- Saiba mais acerca das CMEK Google Cloud.
- Saiba como usar as CMEK com outros Google Cloud produtos.
Configure o projeto do AI Platform
Configure a CLI Google Cloud
A CLI gcloud é necessária para alguns passos neste guia 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
Siga o guia do Cloud KMS para criar chaves simétricas para criar um conjunto de chaves e uma chave. Quando criar o conjunto de chaves, especifique uma região que suporte operações da Vertex AI como a localização do conjunto de chaves. A preparação do Vertex AI só suporta CMEK quando o recurso e a chave usam a mesma região. Não pode especificar uma localização dual-regional, multirregional ou global para o seu anel de chaves.
Certifique-se de que cria o conjunto de chaves e a chave no seu projeto do Cloud KMS.
Conceda autorizações do Vertex AI
Para usar a CMEK para os seus recursos, tem de conceder autorização à Vertex AI para encriptar e desencriptar dados com a sua chave. A Vertex AI usa um agente de serviço gerido pela Google para executar operações com os seus recursos. Esta conta de serviço é identificada por um endereço de email no seguinte formato:
service-PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com
Para encontrar a conta de serviço adequada para o seu projeto do AI Platform, aceda à página IAM na Google Cloud consola e encontre o membro que corresponda a este formato de endereço de email, com o número do projeto do seu projeto do AI Platform a substituir a variável AI_PLATFORM_PROJECT_NUMBER. A conta de serviço também tem o nome Vertex AI Service Agent
.
Tome nota do endereço de email desta conta de serviço e use-o nos passos seguintes para lhe conceder autorização para encriptar e desencriptar dados através da sua chave. Pode conceder autorização através da Google Cloud consola ou da CLI do Google Cloud:
Google Cloud consola
gcloud
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-AI_PLATFORM_PROJECT_NUMBER@gcp-sa-aiplatform.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Neste comando, substitua os seguintes marcadores de posição:
Crie recursos com a chave do KMS
Quando cria um novo recurso compatível com CMEK, pode especificar a chave como um dos parâmetros de criação.
Consola
Quando cria um novo recurso suportado pela CMEK na secção Vertex AI da Google Cloud consola, pode selecionar a sua chave na secção de opções gerais ou avançadas:
REST e linha de comandos
Quando cria um recurso suportado, adicione um objeto encryptionSpec
ao seu pedido e defina o campo encryptionSpec.kmsKeyName
para apontar para o recurso principal.
Por exemplo, quando cria um recurso dataset
, especifica a chave no corpo do pedido:
{
"displayName": DATASET_NAME,
"metadataSchemaUri": METADATA_URI,
"encryptionSpec": {
"kmsKeyName": "projects/PROJECT_ID/locations/LOCATION_ID/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME"
}
}
Java
Quando cria um recurso suportado, defina o EncryptionSpec
para apontar para o seu recurso essencial. Consulte a documentação da biblioteca de cliente da Vertex AI para Java para mais informações.
Node.js
Quando cria um recurso suportado, defina o parâmetro encryptionSpec
para apontar para o recurso de chave. Consulte a documentação da biblioteca de cliente do Vertex AI para Node.js para mais informações.
Python
Quando cria um recurso suportado, defina o parâmetro encryption_spec
para apontar para o recurso de chave. Consulte a documentação do cliente Python para a plataforma de IA do Google Cloud para mais informações.