Usa CMEK con Dataproc Serverless

Cuando usas Dataproc Serverless, los datos se almacenan en discos en una infraestructura sin servidores y en una Cloud Storage bucket de etapa de pruebas. Estos datos se encriptan con una clave de encriptación de datos (DEK) generada por Google. y la clave de encriptación de claves (KEK). Puedes usar una clave de encriptación administrada por el cliente (CMEK) para crear, usar y revocar la clave de encriptación de claves (KEK). Google retiene el control de la clave de encriptación de datos (DEK). Para obtener más información sobre las claves de encriptación de datos de Google, consulta Encriptación en reposo predeterminada.

Usa CMEK

Sigue los pasos de esta sección para usar CMEK y encriptar los datos que Dataproc Serverless escribe en el disco persistente y en el bucket de preparación de Dataproc.

  1. Crea una clave con el Cloud Key Management Service (Cloud KMS).

  2. Copia el nombre del recurso.

    El nombre del recurso se construye de la siguiente manera:
    projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

  3. Habilita el agente de servicio de Compute Engine, Dataproc y Cloud Storage cuentas de servicio para usar tu clave:

    1. Consulta Protege recursos mediante las claves de Cloud KMS > Roles obligatorios asignar el rol de Encriptador/Desencriptador de CryptoKey de Cloud KMS al Cuenta de servicio del agente de servicios de Compute Engine. Si esta cuenta de servicio no aparece en la lista En la página de IAM de la consola de Google Cloud, haz clic en Incluir otorgamientos de roles proporcionados por Google. para enumerarlos.
    2. Asigna el Encriptador/Desencriptador de CryptoKey de Cloud KMS. a la cuenta de servicio del agente de servicios de Dataproc. Puedes usar Google Cloud CLI para asignar la función:

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

      Reemplaza lo siguiente:

      KMS_PROJECT_ID: Es el ID del proyecto de Google Cloud que ejecuta Cloud KMS. Este proyecto también puede ser el que ejecuta los recursos de Dataproc.

      PROJECT_NUMBER: Es el número del proyecto (no el ID del proyecto) de tu proyecto de Google Cloud que ejecuta recursos de Dataproc.

    3. Habilita la API de Cloud KMS en el proyecto que ejecuta recursos sin servidores de Dataproc.

    4. Si el rol de agente de servicios de Dataproc no está vinculado a la cuenta de servicio de agente de servicios de Dataproc, Luego, agrega el permiso serviceusage.services.use al archivo asignado a la cuenta de servicio del agente de servicio de Dataproc. Si el rol de agente de servicio de Dataproc está asociado a la cuenta de servicio del agente de servicio de Dataproc, puedes omitir este paso.

    5. Sigue los pasos para agrega tu clave al bucket.

  4. Cuando Envía una carga de trabajo por lotes:

    1. Especifica tu clave en el archivo Batch. kmsKey parámetro.
    2. Especifica el nombre de tu bucket de Cloud Storage en el parámetro Batch stagingBucket.