Usar CMEK com o Dataproc sem servidor

Quando você usa o Dataproc sem servidor, os dados são armazenados em discos na em uma infraestrutura sem servidor e em um bucket de preparo. Esses dados são criptografados usando uma chave de criptografia de dados (DEK, na sigla em inglês) gerada pelo Google. e a chave de criptografia de chaves (KEK). É possível usar uma chave de criptografia gerenciada pelo cliente (CMEK) para criar, usar e revogar a chave de criptografia de chaves (KEK). O Google mantém o controle sobre a chave de criptografia de dados (DEK). Para mais informações sobre as chaves de criptografia de dados do Google, consulte Criptografia padrão em repouso.

Usar CMEK

Siga as etapas desta seção para usar a CMEK e criptografar dados que o Dataproc sem servidor gravações no disco permanente e no bucket de preparação do Dataproc.

  1. Crie uma chave usando Cloud Key Management Service (Cloud KMS):

  2. Copie o nome do recurso.

    O nome do recurso é criado da seguinte maneira:
    projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

  3. Ative o Compute Engine, o Dataproc e o agente de serviço do Cloud Storage para usar a chave:

    1. Consulte Proteger recursos usando as chaves do Cloud KMS > Papéis obrigatórios. para atribuir o papel Criptografador/Descriptografador de CryptoKey do Cloud KMS à Conta de serviço do agente de serviço do Compute Engine. Se a conta de serviço não estiver listada Na página do IAM no console do Google Cloud, clique em Incluir concessões de papéis fornecidos pelo Google. para listá-los.
    2. Atribuir a criptografador/descriptografador de CryptoKey do Cloud KMS para a conta de serviço do agente de serviço do Dataproc. Use Google Cloud CLI para atribuir a função:

       gcloud projects add-iam-policy-binding KMS_PROJECT_ID \
       --member serviceAccount:service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.com \
       --role roles/cloudkms.cryptoKeyEncrypterDecrypter
      

      Substitua:

      KMS_PROJECT_ID: o ID do projeto do Google Cloud que executa o Cloud KMS. Ele também pode ser aquele que executa os recursos do Dataproc.

      PROJECT_NUMBER: o número do projeto (não o ID do projeto) do Google Cloud que executa os recursos do Dataproc.

    3. Ative a API Cloud KMS no projeto que executa os recursos do Dataproc sem servidor.

    4. Se o papel Agente de serviço do Dataproc não estiver anexado à conta de serviço do agente de serviço do Dataproc, depois adicionar a permissão serviceusage.services.use ao bloco anexado à conta de serviço do agente de serviço do Dataproc. Se o papel Agente de serviço do Dataproc for anexada à conta de serviço do agente de serviço do Dataproc, pule esta etapa.

    5. Siga as etapas para adicione sua chave ao bucket.

  4. Quando você enviar uma carga de trabalho em lote:

    1. Especifique sua chave no Batch kmsKey .
    2. Especifique o nome do bucket do Cloud Storage no Batch parâmetro stagingBucket.