Como usar chaves de criptografia gerenciadas pelo cliente (CMEK)

As chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) permitem que o usuário controle os dados gravados pelos pipelines do Cloud Data Fusion, incluindo:

  • Metadados do cluster do Dataproc
  • Origens de dados e coletores do Cloud Storage, BigQuery e Pub/Sub

Nesta página, descrevemos como usar uma chave de criptografia do Cloud Key Management Service (Cloud KMS) com o Cloud Data Fusion. Com uma chave de criptografia gerenciada pelo cliente (CMEK, na sigla em inglês), é possível criptografar dados em repouso com uma chave controlada por meio do Cloud KMS. É possível criar um pipeline protegido por uma CMEK ou acessar dados protegidos por CMEK em origens e coletores.

Recursos do Cloud Data Fusion

O Cloud Data Fusion é compatível com chaves de criptografia gerenciadas pelo cliente (CMEK) para os seguintes plug-ins do Cloud Data Fusion:

  • Coletores do Cloud Data Fusion:

    • Cloud Storage
    • Vários arquivos do Cloud Storage
    • BigQuery
    • Várias tabelas do BigQuery
    • Pub/Sub
  • Ações do Cloud Data Fusion:

    • Criação do Cloud Storage
    • Execução do BigQuery

O Cloud Data Fusion é compatível com chaves de criptografia gerenciadas pelo cliente (CMEK, na sigla em inglês) para clusters do Dataproc. O Cloud Data Fusion cria um cluster temporário do Dataproc para uso no pipeline, que é excluído quando o pipeline é concluído. O CMEK protege os metadados do cluster gravados nos seguintes itens:

  • Discos permanentes (PDs) anexados a VMs de cluster.
  • Saída do driver do job e outros metadados gravados no bucket de preparação do Dataproc criado automaticamente ou pelo usuário.

Configurar o CMEK

  1. Criar uma chave do Cloud KMS.

  2. Encontre o ID do recurso da chave que você criou, que será usado posteriormente neste procedimento.

      projects/project-id/locations/region/keyRings/key-ring-name/cryptoKeys/key-name
    

    1. No Console do Cloud, acesse a página Chaves criptográficas.
    2. Clique no menu de três pontos ao lado da chave.
    3. Clique em Copiar ID do recurso. Isso copia o ID do recurso para a área de transferência.
  3. Configure as contas de serviço do projeto para usar a chave:

    1. Obrigatório: você precisa conceder o papel Criptografador/Descriptografador do Cloud KMS CryptoKey à conta de serviço do sistema do Compute Engine (consulte Como conceder papéis a um conta de serviço para recursos específicos). 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.com
      
    2. Obrigatório: você precisa conceder o papel de Criptografador/Descriptografador de CryptoKey do Cloud KMS à conta de serviço do Cloud Storage (consulte Como atribuir uma chave do Cloud KMS a uma conta de serviço do Cloud Storage). O formato da conta é:
      service-[PROJECT_NUMBER]@gs-project-accounts.iam.gserviceaccount.com
      
    3. Opcional: se o pipeline usar recursos do BigQuery, conceda o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS à 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.com
      
    4. Opcional: se o pipeline usa recursos do Pub/Sub, conceda o papel Criptografador/Descriptografador do Cloud KMS CryptoKey à conta 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.com
      

Usar o CMEK com metadados de cluster do Dataproc

Para usar o CMEK para criptografar o DP (disco permanente) e os metadados do bucket de preparação gravados pelo cluster do Dataproc em execução no pipeline, siga um destes procedimentos:

  • Recomendado: crie um perfil de computação do Dataproc (somente para a edição Enterprise).
  • Edite um perfil de computação atual do Dataproc (Desenvolvedor, Basic ou Enterprise).
  1. Abra a página Instâncias do Cloud Data Fusion no Console do Cloud.

    Abrir a página "Instâncias"

  2. Na coluna Ações da instância, clique em Ver instância.
  3. Na IU da Web do Cloud Data Fusion, clique em ADMINISTRADOR DO SISTEMA.
  4. Clique na guia Configuration.
  5. Clique na lista suspensa Perfis de computação do sistema.
  6. Clique em Criar novo perfil.
  7. Selecione Cloud Dataproc.
  8. Insira um Rótulo de perfil, Nome do perfil e Descrição.
  9. Por padrão, o Cloud Data Fusion cria automaticamente um bucket do Cloud Storage para ser usado como o bucket de preparação do Dataproc. Se você preferir usar um bucket do Cloud Storage que já existe no seu projeto, siga estas etapas:
    1. Na seção Configurações gerais, insira o bucket do Cloud Storage no campo bucket do Cloud Storage.
    2. Adicione a chave do Cloud KMS ao bucket do Cloud Storage.
  10. 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.
  11. Clique em Criar
  12. 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 Dataproc mantendo o ponteiro sobre o campo de nome do perfil e clicando na estrela exibida.
    Selecione o perfil padrão.

Usar o CMEK com outros recursos

Para usar o CMEK para criptografar dados gravados por outros recursos, como coletores do Cloud Storage, BigQuery ou Pub/Sub, siga um destes procedimentos:

  • Use um argumento de tempo de execução.
  • Defina uma preferência de sistema do Cloud Data Fusion.

Argumento de tempo de execução

  1. Na página Pipeline Studio do Cloud Data Fusion, clique na seta suspensa à direita do botão Executar.
  2. No campo Nome, use gcp.cmek.key.name.
  3. No campo Valor, insira o ID do recurso da chave.
    Selecione a edição do Data Fusion.
  4. Clique em Save.

Preferência

  1. Na IU do Cloud Data Fusion, clique em ADMINISTRADOR DO SISTEMA.
  2. Clique na guia Configuration.
  3. Clique na lista suspensa Preferências do sistema.
  4. Clique em Editar preferências do sistema.
  5. No campo Chave, digite gcp.cmek.key.name.
  6. No campo Valor, insira o ID do recurso da chave.
    Selecione a edição do Data Fusion.
  7. Clique em Salvar e fechar.