Utilizzare 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 sono criptati utilizzando una chiave di crittografia dei dati (DEK) generata da Google e una chiave di crittografia della chiave (KEK). 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). Per ulteriori 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 scritti da Dataproc Serverless sul disco permanente e nel bucket gestione temporanea Dataproc.

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

  2. Copia il nome della risorsa.

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

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

    1. Consulta Proteggere le risorse utilizzando le chiavi Cloud KMS > Ruoli obbligatori per assegnare il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio Agente di servizio Compute Engine. Se questo account di servizio non è elencato nella pagina IAM della console Google Cloud, fai clic su Includi concessioni di 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. che può anche essere quello che esegue le risorse Dataproc.

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

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

    4. Se il ruolo Agente di servizio Dataproc non è collegato all'account di servizio Agente di servizio Dataproc, aggiungi l'autorizzazione serviceusage.services.use al ruolo personalizzato associato all'account di servizio Agente di servizio Dataproc. Se il ruolo Agente di servizio Dataproc è collegato all'account di servizio 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 bucket Cloud Storage nel parametro Batch stagingBucket.