Per impostazione predefinita, Google Cloud Serverless per Apache Spark cripta i contenuti dei clienti inattivi. Serverless per Apache Spark gestisce la crittografia per tuo conto senza che tu debba fare altro. Questa opzione è denominata Crittografia predefinita di Google.
Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con servizi integrati con CMEK, tra cui Serverless per Apache Spark. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione, la posizione, la pianificazione della rotazione, l'utilizzo e le autorizzazioni di accesso e i limiti crittografici. L'utilizzo di Cloud KMS consente anche di monitorare l'utilizzo delle chiavi, visualizzare i log di controllo e controllare i cicli di vita delle chiavi. Anziché essere di proprietà di Google e gestite da Google, le chiavi di crittografia delle chiavi (KEK) simmetriche che proteggono i tuoi dati sono controllate e gestite da te in Cloud KMS.
Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse Serverless per Apache Spark è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Utilizzo di CMEK
Segui i passaggi descritti in questa sezione per utilizzare CMEK per criptare i dati che Google Cloud Serverless per Apache Spark scrive sul disco permanente e nel bucket di staging Dataproc.
Crea una chiave utilizzando Cloud Key Management Service (Cloud KMS).
Copia il nome della risorsa.
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Consenti agli account di servizio dell'agente di servizio Compute Engine, Dataproc e Cloud Storage di utilizzare la tua chiave:
- Consulta Proteggi 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 di ruoli fornite da Google per elencarlo.
Assegna il ruolo Autore crittografia/decrittografia CryptoKey Cloud KMS all'account di servizio 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 tuo progetto Google Cloud che esegue Cloud KMS. Questo progetto può anche essere quello che esegue le risorse Dataproc.PROJECT_NUMBER
: il numero di progetto (non l'ID progetto) del tuo progetto Google Cloud che esegue le risorse Dataproc.Abilita l'API Cloud KMS nel progetto che esegue le risorse Serverless per Apache Spark.
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 collegato all'account di servizio Agente di servizio Dataproc. Se il ruolo Agente di servizio Dataproc è associato all'account di servizio Agente di servizio Dataproc, puoi ignorare questo passaggio.Segui i passaggi per aggiungere la chiave al bucket.
Quando invii un carico di lavoro batch:
- Specifica la chiave nel parametro
kmsKey
batch. - Specifica il nome del bucket Cloud Storage nel parametro batch
stagingBucket
.
- Specifica la chiave nel parametro
Quando crei una sessione interattiva o un modello di sessione:
- Specifica la chiave nel parametro
kmsKey
sessione. - Specifica il nome del bucket Cloud Storage nel parametro
stagingBucket
della sessione.
- Specifica la chiave nel parametro