Questa pagina spiega come utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per proteggere i servizi Dataproc Metastore. CMEK consente la crittografia dei dati at-rest con una chiave che puoi controllare tramite Cloud Key Management Service. Puoi archiviare le chiavi come chiavi software, in un cluster HSM o esternamente.
Prima di iniziare
Se vuoi che il servizio Dataproc Metastore venga eseguito all'interno di un perimetro Controlli di servizio VPC, devi aggiungere l'API Cloud Key Management Service (Cloud KMS) al perimetro.
Configurare il supporto di CMEK per Dataproc Metastore
Per configurare il supporto di CMEK per Dataproc Metastore, devi prima concedere l'autorizzazione per la chiave Cloud KMS agli account di servizio Dataproc Metastore e Cloud Storage. Dopodiché puoi creare un servizio Dataproc Metastore che utilizza una chiave CMEK.
Concedi le autorizzazioni per le chiavi Cloud KMS
Utilizza i seguenti comandi per concedere le autorizzazioni per le chiavi Cloud KMS per Dataproc Metastore:
gcloud
Crea una chiave CMEK in Cloud KMS (se non è già disponibile). Il seguente comando è un esempio di come creare una chiave software:
gcloud config set project PROJECT_ID gcloud kms keyrings create KEY_RING \ --project KEY_PROJECT \ --location=LOCATION gcloud kms keys create KEY_NAME \ --project KEY_PROJECT \ --location=LOCATION \ --keyring=KEY_RING \ --purpose=encryption
Analogamente, puoi creare una chiave HSM o creare una chiave EKM.
Concedi le autorizzazioni all'account di servizio Agente di servizio Dataproc Metastore:
gcloud kms keys add-iam-policy-binding KEY_NAME \ --location LOCATION \ --keyring KEY_RING \ --member=serviceAccount:$(gcloud beta services identity create \ --service=metastore.googleapis.com 2>&1 | awk '{print $4}') \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter
Concedi le autorizzazioni all'account di servizio Cloud Storage:
gcloud storage service-agent --authorize-cmek projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
Crea un servizio Dataproc Metastore con una chiave CMEK
Per configurare la crittografia CMEK durante la creazione del servizio:
Console
Nella console Google Cloud, apri la pagina Dataproc Metastore:
Nella parte superiore della pagina Dataproc Metastore, fai clic su Crea.
Viene visualizzata la pagina Crea servizio.
Configura il servizio in base alle tue esigenze.
In Crittografia, fai clic su Usa una chiave di crittografia gestita dal cliente (CMEK).
Seleziona la chiave gestita dal cliente.
Fai clic su Invia.
Verifica la configurazione della crittografia del servizio:
Nella console Google Cloud, apri la pagina Dataproc Metastore:
Nella pagina Dataproc Metastore, fai clic sul nome del servizio che vuoi visualizzare.
Viene aperta la pagina Dettagli del servizio per quel servizio.
Nella scheda Configurazione, verifica che i dettagli mostrino che CMEK è attivo.
gcloud
Esegui il comando
gcloud metastore services create
per creare un servizio con crittografia CMEK:gcloud metastore services create SERVICE \ --encryption-kms-key=KMS_KEY
Sostituisci quanto segue:
SERVICE
: il nome del nuovo servizio.KMS_KEY
: si riferisce all'ID risorsa della chiave.
Verifica che la creazione sia andata a buon fine.
Dati di Dataproc Metastore protetti con chiavi di crittografia fornite da Google
Il database Cloud Monitoring non supporta la crittografia CMEK. Google Cloud utilizza invece le chiavi di crittografia di Google per proteggere i nomi e le configurazioni dei servizi dei tuoi servizi Dataproc Metastore.
Importa ed esporta dati da e verso un servizio compatibile con CMEK
Se vuoi che i dati rimangano criptati con una chiave gestita dal cliente durante un'importazione, devi impostare la chiave CMEK sul bucket Cloud Storage prima di importarne i dati.
Puoi eseguire l'importazione da un bucket Cloud Storage non protetto da CMEK. Dopo l'importazione, i dati archiviati in Dataproc Metastore sono protetti in base alle impostazioni CMEK del servizio di destinazione.
Durante l'esportazione, il dump del database esportato è protetto in base alle impostazioni CMEK del bucket di archiviazione di destinazione.
Limitazioni di CMEK per Dataproc Metastore
La disattivazione o l'eliminazione del CMEK per un servizio abilitato al CMEK rende il servizio inutilizzabile e non recuperabile.
- I dati andranno persi definitivamente.
Non puoi attivare le chiavi di crittografia gestite dal cliente su un servizio esistente.
Non puoi ruotare la chiave utilizzata da un servizio abilitato per CMEK.
Un servizio abilitato per CMEK non supporta la sincronizzazione di Data Catalog. L'aggiornamento di un servizio abilitato per CMEK per attivare la sincronizzazione di Data Catalog non riesce. Inoltre, non puoi creare un nuovo servizio con entrambe le funzionalità attivate.
Non puoi utilizzare le chiavi di crittografia gestite dal cliente per criptare i dati utente in transito, ad esempio query e risposte degli utenti.
Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente. Se la chiave non è disponibile durante il periodo di creazione del servizio Dataproc Metastore, la creazione del servizio non va a buon fine. Dopo aver creato un servizio Dataproc Metastore, se la chiave non è disponibile, il servizio non sarà disponibile fino a quando la chiave non sarà disponibile. Per ulteriori considerazioni sull'utilizzo delle chiavi esterne, consulta Considerazioni su Cloud EKM.