Usa CMEK con Dataproc serverless

Quando utilizzi Dataproc Serverless, i dati vengono archiviati su dischi nell'infrastruttura serverless sottostante e in un bucket gestione temporanea di Cloud Storage. Questi dati vengono criptati utilizzando una chiave di crittografia dei dati (DEK) e una chiave di crittografia della chiave (KEK) generate da Google. Puoi utilizzare una chiave di crittografia gestita dal cliente (CMEK) per creare, utilizzare e revocare la chiave di crittografia della chiave (KEK). Google mantiene il controllo sulla chiave di crittografia dei dati (DEK, Data Encryption Key). Per maggiori informazioni sulle chiavi di crittografia dei dati di Google, consulta Crittografia predefinita dei dati inattivi.

Utilizzo di CMEK

Segui i passaggi in questa sezione per utilizzare CMEK per criptare i dati che Dataproc Serverless scrive sul disco permanente e nel bucket di gestione temporanea di Dataproc.

  1. Crea una chiave utilizzando Cloud Key Management Service (Cloud KMS).

  2. Copia il nome della risorsa.

    Il nome della risorsa è costruito come segue:
    projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
    

  3. Abilita gli account di servizio dell'agente di servizio Compute Engine, Dataproc e Cloud Storage per utilizzare la chiave:

    1. Consulta Proteggere le risorse utilizzando le chiavi Cloud KMS > Ruoli richiesti per assegnare il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio dell'agente di servizio Compute Engine. Se questo account di servizio non è elencato nella pagina IAM della console Google Cloud, fai clic su Includi concessioni dei ruoli fornite da Google per elencarlo.
    2. Assegna il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio dell'agente di servizio Dataproc. Puoi utilizzare Google Cloud CLI per assegnare il ruolo:

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

      Sostituisci quanto segue:

      KMS_PROJECT_ID: l'ID del progetto Google Cloud che esegue Cloud KMS. Questo progetto può anche essere il progetto che esegue le risorse Dataproc.

      PROJECT_NUMBER: il numero del progetto (non l'ID) del progetto Google Cloud che esegue le risorse Dataproc.

    3. Abilita l'API Cloud KMS nel progetto che esegue le risorse Dataproc Serverless.

    4. Se il ruolo Agente di servizio Dataproc non è collegato all'account di servizio dell'agente di servizio Dataproc, aggiungi l'autorizzazione serviceusage.services.use al ruolo personalizzato associato all'account di servizio dell'agente di servizio Dataproc. Se il ruolo Agente di servizio Dataproc è associato all'account di servizio dell'agente di servizio Dataproc, puoi saltare questo passaggio.

    5. Segui i passaggi per aggiungere la chiave al bucket.

  4. Quando invii un carico di lavoro batch:

    1. Specifica la chiave nel parametro Batch kmsKey.
    2. Specifica il nome del tuo bucket Cloud Storage nel parametro Batch stagingBucket.