Por padrão, o Cloud Data Fusion criptografa o conteúdo do cliente em repouso. O Cloud Data Fusion 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 Cloud Data Fusion. Ao usar chaves do Cloud KMS, é possível 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. Ao usar o Cloud KMS, é possível também monitorar o uso de chaves, ver registros de auditoria e controlar ciclos de vida de chaves. Em vez de o Google ser proprietário e responsável pelo gerenciamento das 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 seus recursos do Cloud Data Fusion é semelhante à criptografia padrão do Google. Para saber mais sobre suas opções de criptografia, consulte Chaves de criptografia gerenciadas pelo cliente (CMEK).
O Cloud Data Fusion oferece suporte ao monitoramento do uso de chaves do Cloud KMS para o recurso Instance.
A CMEK permite controlar os dados gravados nos recursos internos do Google em projetos de locatário e dados gravados pelos pipelines do Cloud Data Fusion, incluindo:
- Registros e metadados do pipeline
- Metadados do cluster do Serviço Gerenciado para Apache Spark
- Vários coletores de dados, ações e origens do Cloud Storage, BigQuery, Pub/Sub e Spanner
Recursos do Cloud Data Fusion
Para ver uma lista dos plug-ins do Cloud Data Fusion compatíveis com CMEK, consulte os plug-ins compatíveis.
O Cloud Data Fusion oferece suporte a CMEK para clusters do Serviço Gerenciado para Apache Spark. O Cloud Data Fusion cria um cluster temporário do Serviço Gerenciado para Apache Spark para uso no pipeline e o exclui quando o pipeline é concluído. O CMEK protege os metadados do cluster gravados nos seguintes itens:
- Discos permanentes (DP) anexados a VMs de cluster.
- Saída do driver do job e outros metadados gravados no bucket de preparação do Serviço Gerenciado para Apache Spark criado automaticamente ou pelo usuário staging bucket
Configurar o CMEK
Criar uma chave do Cloud KMS
Crie uma chave do Cloud KMS no Google Cloud projeto que contém a instância do Cloud Data Fusion ou em um projeto diferente do usuário. O local do keyring do Cloud KMS precisa corresponder à região em que você cria a instância. Uma chave de região global ou de várias regiões não é permitida no nível da instância porque o Cloud Data Fusion está sempre associado a uma região específica.
Encontre o nome do recurso para a chave
API REST
Encontre o nome do recurso da chave que você criou com o seguinte comando:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Substitua:
- PROJECT_ID: o projeto do cliente que hospeda a instância do Cloud Data Fusion
- REGION: uma região do Google Cloud
que esteja perto do seu local, por exemplo,
us-east1 - KEY_RING_NAME: o nome do keyring que agrupa as chaves criptográficas.
- KEY_NAME: o nome da cave do Cloud KMS
Console
Acesse a página Gerenciamento de chaves.
Ao lado da sua chave, clique em Mais .
Selecione Copiar nome do recurso para copiar o nome do recurso para a área de transferência.
Atualizar as contas de serviço do seu projeto para usar a chave
Para configurar as contas de serviço do projeto para usar a chave, faça o seguinte:
Obrigatório: conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS (
roles/cloudkms.cryptoKeyEncrypterDecrypter) ao agente de serviço do Cloud Data Fusion (consulte Como conceder papéis a uma conta de serviço para recursos específicos). Essa conta está no seguinte formato:service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.comConceder o papel de criptografador/descriptografador do Cloud KMS CryptoKey ao agente de serviço do Cloud Data Fusion permite que o Cloud Data Fusion use CMEKs para criptografar dados do cliente armazenados em projetos de locatários.
Obrigatório: conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS ao agente de serviço do Compute Engine. Consulte Atribuir uma chave do Cloud KMS a uma conta de serviço do Cloud Storage. Essa conta, que por padrão recebe o papel de Agente de serviço do Compute Engine, tem este formato:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.comConceder o papel de criptografador/descriptografador do Cloud KMS CryptoKey ao agente de serviço do Compute Engine permite que o Cloud Data Fusion use CMEKs para criptografar metadados de disco permanente (DP) gravados pelo cluster do Serviço Gerenciado para Apache Spark em execução no pipeline.
Obrigatório: conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS ao agente de serviço do Cloud Storage (consulte Como atribuir uma chave do Cloud KMS a um agente de serviço do Cloud Storage). Este agente de serviço tem o seguinte formato:
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.comConceder esse papel ao agente de serviço do Cloud Storage permite que o Cloud Data Fusion use CMEK para criptografar o bucket do Cloud Storage que armazena e armazena em cache informações e dados do pipeline gravados no bucket de preparação do cluster do Serviço Gerenciado para Apache Spark e em outros buckets do Cloud Storage no seu projeto usados pelo pipeline.
Obrigatório: conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS ao agente de serviço do Google Cloud Dataproc. Este agente de serviço tem o seguinte formato:
service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.comOpcional: se o pipeline usar recursos do BigQuery, conceda o papel de criptografador/descriptografador de CryptoKey do Cloud KMS ao conta de serviço do BigQuery (consulte Conceder permissão de criptografia e descriptografia). O formato da conta é:
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.comOpcional: se o pipeline usa recursos do Pub/Sub, conceda o papel de criptografador/descriptografador do Cloud KMS CryptoKey ao agente de serviço do Pub/Sub (consulte Como usar chaves de criptografia gerenciadas pelo cliente). O formato da conta é:
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.comOpcional: se o pipeline usar recursos do Spanner, conceda o papel de criptografia/descriptografia de CryptoKey do Cloud KMS à conta de serviço do Spanner de dados. O formato da conta é:
service-PROJECT_NUMBER@gcp-sa-spanner.iam.gserviceaccount.com
Criar uma instância do Cloud Data Fusion com CMEK
A CMEK está disponível em todas as edições do Cloud Data Fusion versão 6.5.0 e mais recentes.
API REST
Para criar uma instância com uma chave de criptografia gerenciada pelo cliente, defina as seguintes variáveis de ambiente:
export PROJECT=PROJECT_ID export LOCATION=REGION export INSTANCE=INSTANCE_ID export DATA_FUSION_API_NAME=datafusion.googleapis.com export KEY=KEY_NAMESubstitua:
- PROJECT_ID: o projeto do cliente que hospeda a instância do Cloud Data Fusion
- REGION: uma Google Cloud região que esteja
perto
do seu local, por exemplo,
us-east1 - INSTANCE_ID: o nome da instância do Cloud Data Fusion
- KEY_NAME: o nome completo do recurso da chave CMEK
Execute o comando a seguir para criar uma instância do Cloud Data Fusion:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE -X POST -d '{"description": "CMEK-enabled CDF instance created through REST.", "type": "BASIC", "cryptoKeyConfig": {"key_reference": "$KEY"} }'
Console
Acesse a página do Cloud Data Fusion.
Clique em Instâncias e em Criar uma instância.
Em Opções avançadas, selecione Usar uma chave de criptografia gerenciada pelo cliente (CMEK).
No campo Selecionar uma chave gerenciada pelo cliente, selecione o nome do recurso da chave.

Depois de inserir todos os detalhes da instância, clique em Criar. Quando a instância estiver pronta para uso, ela vai aparecer na página Instâncias.
Verificar se a CMEK está ativada em uma instância
Console
Confira os detalhes da instância:
No console Google Cloud , acesse a página do Cloud Data Fusion.
Clique em Instâncias e, depois, no nome da instância para acessar a página Detalhes da instância.
Se a CMEK estiver ativada, o campo Chave de criptografia será mostrado como Disponível.
Se a CMEK estiver desativada, o campo Chave de criptografia será mostrado como Não disponível.
Usar o CMEK com plug-ins compatíveis
Ao definir o nome da chave de criptografia, use o seguinte formato:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

Na tabela a seguir, descrevemos o comportamento da chave nos plug-ins do Cloud Data Fusion compatíveis com CMEK.
| Plug-ins compatíveis | Comportamento da chave |
|---|---|
| Coletores do Cloud Data Fusion | |
| Cloud Storage | Criptografa dados gravados em qualquer bucket criado pelo plug-in. Se o bucket já existir, esse valor será ignorado. |
| Vários arquivos do Cloud Storage | Criptografa dados gravados em qualquer bucket criado pelo plug-in. |
| BigQuery | Criptografa dados gravados em qualquer bucket, conjunto de dados ou tabela criado pelo plug-in. |
| Várias tabelas do BigQuery | Criptografa dados gravados em qualquer bucket, conjunto de dados ou tabela criado pelo plug-in. |
| Pub/Sub | Criptografa dados gravados em qualquer tópico criado pelo plug-in. Se o tópico já existir, esse valor será ignorado. |
| Spanner | Criptografa dados gravados em qualquer banco de dados criado pelo plug-in. Se o banco de dados já existir, esse valor será ignorado. |
| Ações do Cloud Data Fusion | |
|
Criação do Cloud Storage Cópia do Cloud Storage Migração do Cloud Storage Arquivo de marcador concluído do Cloud Storage |
Criptografa dados gravados em qualquer bucket criado pelo plug-in. Se o bucket já existir, esse valor será ignorado. |
| Execução do BigQuery | Criptografa dados gravados no conjunto de dados ou na tabela que o plug-in cria para armazenar os resultados da consulta. Isso só é aplicável se você armazenar os resultados da consulta em uma tabela do BigQuery. |
| Origens do Cloud Data Fusion | |
| Origem do BigQuery | Criptografa dados gravados em qualquer bucket criado pelo plug-in. Se o bucket já existir, esse valor será ignorado. |
| Mecanismo SQL do Cloud Data Fusion | |
| Mecanismo de pushdown do BigQuery | Criptografa dados gravados em qualquer bucket, conjunto de dados ou tabela criado pelo plug-in. |
Usar CMEK com metadados do cluster do Serviço Gerenciado para Apache Spark
Os perfis de computação pré-criados usam a chave CMEK fornecida durante a criação da instância para criptografar o Persistent Disk (DP) e os metadados do bucket de preparo gravados pelo cluster do Serviço Gerenciado para Apache Spark em execução no seu pipeline. Para modificar o uso de outra chave, realize uma das seguintes ações:
- Recomendado: crie um novo perfil de computação do Serviço Gerenciado para Apache Spark (somente para a edição Enterprise).
- Edite um perfil de computação atual do Serviço Gerenciado para Apache Spark (edições Desenvolvedor, Basic ou Enterprise).
Console
Abra a instância do Cloud Data Fusion:
No console Google Cloud , acesse a página do Cloud Data Fusion.
Para abrir a instância no Cloud Data Fusion Studio, clique em Instâncias e em Ver instância.
Clique em Administrador do sistema > Configuração.
Clique na lista suspensa Perfis de computação do sistema.
Clique em Criar novo perfil e selecione Serviço Gerenciado para Apache Spark.
Insira um Rótulo de perfil, Nome do perfil e Descrição.
Por padrão, o Serviço Gerenciado para Apache Spark cria buckets de preparação e temporários sempre que um cluster temporário é criado pelo Cloud Data Fusion. O Cloud Data Fusion oferece suporte à transmissão do bucket de preparação do Serviço Gerenciado para Apache Spark como um argumento no perfil de computação. Para criptografar o bucket de preparação, crie um bucket ativado para CMEK e transmita-o como um argumento para o Serviço Gerenciado para Apache Spark no perfil de computação.
Por padrão, o Cloud Data Fusion cria automaticamente um bucket do Cloud Storage para preparar as dependências usadas pelo Serviço Gerenciado para Apache Spark. Se você preferir usar um bucket do Cloud Storage que já existe no seu projeto, siga estas etapas:
Na seção Configurações gerais, insira o bucket do Cloud Storage no campo bucket do Cloud Storage.
Encontre o ID do recurso da sua chave do Cloud KMS. Na seção Configurações gerais, insira o ID do recurso no campo Nome da chave de criptografia.
Clique em Criar.
Se mais de um perfil estiver listado na seção Perfis de computação do sistema da guia Configuração, defina o novo perfil do Serviço Gerenciado para Apache Spark como o perfil padrão mantendo o ponteiro sobre o campo de nome do perfil e clicando na estrela exibida.
Usar o CMEK com outros recursos
A chave CMEK fornecida é definida com a preferência do sistema durante a criação da instância do Cloud Data Fusion. Ele é usado para criptografar dados gravados em recursos recém-criados por coletores de pipeline, como coletores do Cloud Storage, BigQuery, Pub/Sub ou Spanner.
Essa chave se aplica apenas a recursos recém-criados. Se o recurso já existir antes da execução do pipeline, aplique a chave CMEK manualmente a esses recursos.
É possível alterar a chave CMEK fazendo uma das seguintes ações:
- Use um argumento de tempo de execução.
- Defina uma preferência de sistema do Cloud Data Fusion.
Argumento de tempo de execução
- Na página Pipeline Studio do Cloud Data Fusion, clique na seta suspensa à direita do botão Executar.
- No campo Nome, use
gcp.cmek.key.name. - No campo Valor, insira o ID do recurso da chave.
Clique em Save.
O argumento de tempo de execução definido aqui se aplica somente a execuções do pipeline atual.
Preferência
- Na IU do Cloud Data Fusion, clique em ADMINISTRADOR DO SISTEMA.
- Clique na guia Configuration.
- Clique na lista suspensa Preferências do sistema.
- Clique em Editar preferências do sistema.
- No campo Chave, digite
gcp.cmek.key.name. - No campo Valor, insira o ID do recurso da chave.
- Clique em Salvar e fechar.