Per impostazione predefinita, Cloud Data Fusion cripta i contenuti inattivi dei clienti. Cloud Data Fusion gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.
Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluso Cloud Data Fusion. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il livello di protezione , la località, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i limiti crittografici. Con Cloud KMS puoi inoltre monitorare l'utilizzo delle chiavi, visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece di Google, sei tu ad avere la proprietà e la gestione delle chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati. Puoi controllare e gestire queste chiavi in Cloud KMS.
Dopo aver configurato le risorse con le CMEK, l'esperienza di accesso alle risorse di Cloud Data Fusion è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Cloud Data Fusion supporta il monitoraggio dell'utilizzo delle chiavi Cloud KMS per la risorsa Instance.
CMEK consente di controllare i dati scritti nelle risorse interne di Google nei progetti tenant e i dati scritti dalle pipeline di Cloud Data Fusion, tra cui:
- Metadati e log della pipeline
- Metadati del cluster di Managed Service for Apache Spark
- Varie azioni, origini e sink di dati di Cloud Storage, BigQuery, Pub/Sub e Spanner
Risorse di Cloud Data Fusion
Per un elenco dei plug-in di Cloud Data Fusion che supportano CMEK, consulta la pagina relativa ai plug-in supportati.
Cloud Data Fusion supporta CMEK per i cluster di Managed Service for Apache Spark. Cloud Data Fusion crea un cluster temporaneo di Managed Service for Apache Spark da utilizzare nella pipeline, quindi lo elimina al termine della pipeline. CMEK protegge i metadati del cluster scritti in:
- Dischi permanenti (DP) collegati alle VM del cluster
- Output del driver del job e altri metadati scritti nel bucket gestione temporanea di Managed Service for Apache Spark creato automaticamente o dall'utente staging bucket
Configurare CMEK
Creare una chiave Cloud KMS
Crea una chiave Cloud KMS nel Google Cloud progetto che contiene l'istanza Cloud Data Fusion o in un progetto utente separato. La località del keyring Cloud KMS deve corrispondere alla regione in cui crei l'istanza. A livello di istanza non è consentita una chiave regionale multiregionale o globale perché Cloud Data Fusion è sempre associato a una regione specifica.
Recuperare il nome risorsa della chiave
API REST
Recupera il nome risorsa della chiave che hai creato con il seguente comando:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Sostituisci quanto segue:
- PROJECT_ID: il progetto del cliente che ospita l' istanza Cloud Data Fusion
- REGION: una regione Google Cloud
vicina alla tua posizione, ad esempio
us-east1 - KEY_RING_NAME: il nome del keyring che raggruppa le chiavi di crittografia
- KEY_NAME: il nome della chiave Cloud KMS
Console
Vai alla pagina Gestione delle chiavi.
Accanto alla chiave, fai clic su Altro .
Seleziona Copia nome risorsa per copiare il nome risorsa negli appunti.
Aggiornare i service account del progetto per utilizzare la chiave
Per configurare i service account del progetto in modo che utilizzino la chiave:
Obbligatorio: concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter (
roles/cloudkms.cryptoKeyEncrypterDecrypter) all'agente di servizio Cloud Data Fusion (vedi Concedere ruoli a un account di servizio per risorse specifiche). Questo account ha il seguente formato:service-PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.comLa concessione del ruolo Cloud KMS CryptoKey Encrypter/Decrypter all'agente di servizio Cloud Data Fusion consente a Cloud Data Fusion di utilizzare CMEK per criptare i dati dei clienti archiviati nei progetti tenant.
Obbligatorio: concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter all'agente di servizio Compute Engine (vedi Assegnare una chiave Cloud KMS a un service account Cloud Storage). Questo account, a cui per impostazione predefinita viene concesso il ruolo Agente di servizio Compute Engine, ha il seguente formato:
service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.comLa concessione del ruolo Cloud KMS CryptoKey Encrypter/Decrypter all'agente di servizio Compute Engine consente a Cloud Data Fusion di utilizzare CMEK per criptare i metadati dei disco permanente (DP) scritti dal cluster di Managed Service for Apache Spark in esecuzione nella pipeline.
Obbligatorio: concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter all'agente di servizio Cloud Storage (vedi Assegnare una chiave Cloud KMS a un agente di servizio Cloud Storage). Questo service agent ha il seguente formato:
service-PROJECT_NUMBER@gs-project-accounts.iam.gserviceaccount.comLa concessione di questo ruolo all'agente di servizio Cloud Storage consente a Cloud Data Fusion di utilizzare CMEK per criptare il bucket Cloud Storage che archivia e memorizza nella cache le informazioni e i dati della pipeline scritti nel bucket gestione temporanea del cluster di Managed Service per Apache Spark e in qualsiasi altro bucket Cloud Storage nel progetto utilizzato dalla pipeline.
Obbligatorio: concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter all'agente di servizio Google Cloud Dataproc. Questo service agent ha il seguente formato:
service-PROJECT_NUMBER@dataproc-accounts.iam.gserviceaccount.comFacoltativo: se la pipeline utilizza risorse BigQuery, concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter al account di servizio BigQuery (vedi Concedere l'autorizzazione di crittografia e decrittografia). Questo account ha il seguente formato:
bq-PROJECT_NUMBER@bigquery-encryption.iam.gserviceaccount.comFacoltativo: se la pipeline utilizza risorse Pub/Sub, concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter al account di servizio Pub/Sub (vedi Utilizzare le chiavi di crittografia gestite dal cliente). Questo account ha il seguente formato:
service-PROJECT_NUMBER@gcp-sa-pubsub.iam.gserviceaccount.comFacoltativo: se la pipeline utilizza risorse Spanner, concedi il ruolo Cloud KMS CryptoKey Encrypter/Decrypter al account di servizio Spanner. Questo account ha il seguente formato:
service-PROJECT_NUMBER@gcp-sa-spanner.iam.gserviceaccount.com
Creare un'istanza Cloud Data Fusion con CMEK
CMEK è disponibile in tutte le versioni di Cloud Data Fusion 6.5.0 e successive.
API REST
Per creare un'istanza con una chiave di crittografia gestita dal cliente, imposta le seguenti variabili di ambiente:
export PROJECT=PROJECT_ID export LOCATION=REGION export INSTANCE=INSTANCE_ID export DATA_FUSION_API_NAME=datafusion.googleapis.com export KEY=KEY_NAMESostituisci quanto segue:
Esegui il comando seguente per creare un'istanza Cloud Data Fusion:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" https://$DATA_FUSION_API_NAME/v1/projects/$PROJECT/locations/$LOCATION/instances?instance_id=INSTANCE -X POST -d '{"description": "CMEK-enabled CDF instance created through REST.", "type": "BASIC", "cryptoKeyConfig": {"key_reference": "$KEY"} }'
Console
Vai alla pagina Cloud Data Fusion.
Fai clic su Istanze, quindi su Crea un'istanza.
In Opzioni avanzate, seleziona Utilizza una chiave di crittografia gestita dal cliente (CMEK).
Nel campo Seleziona una chiave gestita dal cliente, seleziona il nome risorsa della chiave.

Dopo aver inserito tutti i dettagli dell'istanza, fai clic su Crea. Quando l'istanza è pronta per l'uso, viene visualizzata nella pagina Istanze.
Verificare se CMEK è abilitato su un'istanza
Console
Visualizza i dettagli dell'istanza:
Nella Google Cloud console, vai alla pagina Cloud Data Fusion.
Fai clic su Istanze, quindi sul nome dell'istanza per andare alla pagina Dettagli istanza.
Se CMEK è abilitato, il campo Chiave di crittografia viene visualizzato come Disponibile.
Se CMEK è disabilitato, il campo Chiave di crittografia viene visualizzato come Non disponibile.
Utilizzare CMEK con i plug-in supportati
Quando imposti il nome della chiave di crittografia, utilizza il seguente formato:
projects/PROJECT_ID/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME

La seguente tabella descrive il comportamento della chiave nei plug-in di Cloud Data Fusion che supportano CMEK.
| Plug-in supportati | Comportamento della chiave |
|---|---|
| Sink di Cloud Data Fusion | |
| Cloud Storage | Cripta i dati scritti in qualsiasi bucket creato dal plug-in. Se il bucket esiste già, questo valore viene ignorato. |
| File multipli di Cloud Storage | Cripta i dati scritti in qualsiasi bucket creato dal plug-in. |
| BigQuery | Cripta i dati scritti in qualsiasi bucket, set di dati o tabella creato dal plug-in. |
| Tabella multipla di BigQuery | Cripta i dati scritti in qualsiasi bucket, set di dati o tabella creato dal plug-in. |
| Pub/Sub | Cripta i dati scritti in qualsiasi argomento creato dal plug-in. Se l'argomento esiste già, questo valore viene ignorato. |
| Spanner | Cripta i dati scritti in qualsiasi database creato dal plug-in. Se il database esiste già, questo valore viene ignorato. |
| Azioni di Cloud Data Fusion | |
|
Cloud Storage Create Cloud Storage Copy Cloud Storage Move Cloud Storage Done File Marker |
Cripta i dati scritti in qualsiasi bucket creato dal plug-in. Se il bucket esiste già, questo valore viene ignorato. |
| BigQuery Execute | Cripta i dati scritti nel set di dati o nella tabella creati dal plug-in per archiviare i risultati della query. È applicabile solo se archivi i risultati della query in una tabella BigQuery. |
| Origini di Cloud Data Fusion | |
| Origine BigQuery | Cripta i dati scritti in qualsiasi bucket creato dal plug-in. Se il bucket esiste già, questo valore viene ignorato. |
| Motore SQL di Cloud Data Fusion | |
| Motore di pushdown BigQuery | Cripta i dati scritti in qualsiasi bucket, set di dati o tabella creato dal plug-in. |
Utilizzare CMEK con i metadati del cluster di Managed Service for Apache Spark
I profili di calcolo precreati utilizzano la chiave CMEK fornita durante la creazione dell'istanza per criptare i metadati del Persistent Disk (DP) e del bucket gestione temporanea scritti dal cluster di Managed Service for Apache Spark in esecuzione nella pipeline. Puoi modificare l'utilizzo di un'altra chiave in uno dei seguenti modi:
- Consigliato: crea un nuovo profilo di calcolo di Managed Service for Apache Spark (solo versione Enterprise).
- Modifica un profilo di calcolo di Managed Service for Apache Spark esistente (versioni Developer, Basic o Enterprise).
Console
Apri l'istanza Cloud Data Fusion:
Nella Google Cloud console, vai alla pagina Cloud Data Fusion.
Per aprire l'istanza in Cloud Data Fusion Studio, fai clic su Istanze e poi su Visualizza istanza.
Fai clic su Amministratore di sistema > Configurazione.
Fai clic sul menu a discesa Profili di calcolo di sistema.
Fai clic su Crea nuovo profilo e seleziona Managed Service for Apache Spark.
Inserisci un etichetta del profilo, un nome del profilo e una descrizione.
Per impostazione predefinita, Managed Service for Apache Spark crea bucket temporanei e di staging ogni volta che Cloud Data Fusion crea un cluster gestione temporanea. Cloud Data Fusion supporta il passaggio del bucket gestione temporanea di Managed Service for Apache Spark come argomento nel profilo di calcolo. Per criptare il bucket gestione temporanea, crea un bucket abilitato per CMEK e passalo come argomento a Managed Service for Apache Spark nel profilo di calcolo.
Per impostazione predefinita, Cloud Data Fusion crea automaticamente un bucket Cloud Storage per preparare le dipendenze utilizzate da Managed Service for Apache Spark. Se preferisci utilizzare un bucket Cloud Storage già esistente nel tuo progetto, segui questi passaggi:
Nella sezione Impostazioni generali, inserisci il bucket Cloud Storage esistente nel campo Bucket Cloud Storage.
Recupera l'ID risorsa della chiave Cloud KMS. Nella sezione Impostazioni generali, inserisci l'ID risorsa nel campo Nome chiave di crittografia.
Fai clic su Crea.
Se nella sezione Profili di calcolo di sistema della scheda Configurazione sono elencati più profili, imposta il nuovo profilo di Managed Service for Apache Spark come profilo predefinito tenendo il puntatore sul campo del nome del profilo e facendo clic sulla stella visualizzata.
Utilizzare CMEK con altre risorse
La chiave CMEK fornita è impostata sulla preferenza di sistema durante la creazione dell'istanza Cloud Data Fusion. Viene utilizzata per criptare i dati scritti nelle risorse appena create dai sink della pipeline, come i sink di Cloud Storage, BigQuery, Pub/Sub o Spanner.
Questa chiave si applica solo alle risorse appena create. Se la risorsa esiste già prima dell'esecuzione della pipeline, devi applicare manualmente la chiave CMEK a queste risorse esistenti.
Puoi modificare la chiave CMEK in uno dei seguenti modi:
- Utilizza un argomento di runtime.
- Imposta una preferenza di sistema di Cloud Data Fusion.
Argomento di runtime
- Nella pagina Studio della pipeline di Cloud Data Fusion, fai clic sulla freccia menu a discesa a destra del pulsante Esegui.
- Nel campo Nome, inserisci
gcp.cmek.key.name. - Nel campo Valore, inserisci l'ID risorsa della chiave.
Fai clic su Salva.
L'argomento di runtime impostato qui si applica solo alle esecuzioni della pipeline corrente.
Preferenza
- Nell'interfaccia utente di Cloud Data Fusion, fai clic su AMMINISTRATORE DI SISTEMA.
- Fai clic sulla scheda Configurazione.
- Fai clic sul menu a discesa Preferenze di sistema.
- Fai clic su Modifica preferenze di sistema.
- Nel campo Chiave, inserisci
gcp.cmek.key.name. - Nel campo Valore, inserisci l'ID risorsa della chiave.
- Fai clic su Salva e chiudi.