Per impostazione predefinita, Dataproc Metastore cripta i contenuti inattivi dei clienti. Dataproc Metastore gestisce la crittografia per conto tuo 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 Dataproc Metastore. 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 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 chiavi CMEK, l'esperienza di accesso alle risorse Dataproc Metastore è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Prima di iniziare
Considerazioni
Tieni presente i seguenti punti quando utilizzi Dataproc Metastore con CMEK.
CMEK è supportata sia per i servizi Dataproc Metastore a una sola regione sia per quelli multiregionali (anteprima).
Il database Cloud Monitoring non supporta la crittografia CMEK.Google Cloud utilizza chiavi di crittografia Google per proteggere i nomi e le configurazioni dei servizi Dataproc Metastore.
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.
Quando utilizzi una chiave Cloud External Key Manager, 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 la creazione di un servizio Dataproc Metastore, se la chiave non è più disponibile, il servizio non sarà disponibile finché la chiave non tornerà disponibile. Per ulteriori considerazioni sull'utilizzo di chiavi esterne, consulta Considerazioni su Cloud EKM.
Limitazioni
Tieni presente le seguenti limitazioni quando utilizzi Dataproc Metastore con CMEK.
Non puoi abilitare CMEK su un servizio esistente.
Non puoi ruotare le chiavi CMEK utilizzate da un servizio abilitato per CMEK.
Non puoi utilizzare le chiavi CMEK per criptare i dati utente in transito, ad esempio query e risposte degli utenti.
Configura CMEK per Dataproc Metastore
Se non hai già una chiave Cloud KMS, puoi crearne una per il servizio Dataproc Metastore. In caso contrario, puoi saltare questo passaggio e utilizzare una chiave esistente.
(Facoltativo) Crea una nuova chiave Cloud KMS
Per creare una chiave Cloud KMS, devi prima creare un keyring e poi creare una chiave che viene archiviata all'interno del keyring.
Per creare un portachiavi
Per creare un portachiavi, esegui questo comando gcloud kms keyrings create
.
gcloud kms keyrings create KEY_RING \ --project=PROJECT_ID \ --location=LOCATION
Sostituisci quanto segue:
KEY_RING
: un nome per il tuo portachiavi.PROJECT_ID
: l'ID del Google Cloud progetto in cui vuoi creare il portachiavi.LOCATION
: la regione in cui vuoi creare il portachiavi.
Per creare una chiave:
Per creare una chiave archiviata all'interno del keyring, esegui questo comando
gcloud kms keys create
.
gcloud kms keys create KEY_NAME \ --project=PROJECT_ID \ --location=LOCATION \ --keyring=KEY_RING \ --purpose=encryption
Sostituisci quanto segue:
KEY_NAME
: il nome della chiave.KEY_RING
: il nome del keyring che hai creato nel passaggio precedente.
Concedere le autorizzazioni per la chiave Cloud KMS
Utilizza i seguenti comandi per concedere le autorizzazioni della chiave Cloud KMS per Dataproc Metastore:
Concedi le autorizzazioni al account di servizio dell'agente di servizio Dataproc Metastore:
Se configuri CMEK per un servizio Dataproc Metastore multiregionale, devi concedere a ogni chiave le autorizzazioni Cloud KMS necessarie per gli account di servizio Dataproc Metastore e Cloud Storage.
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 al 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 a singola regione con una chiave CMEK
Per configurare la crittografia CMEK per un servizio Dataproc Metastore a una sola regione:
Console
Nella console Google Cloud , vai alla 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 necessità.
In Crittografia, fai clic su 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 , vai alla pagina Dataproc Metastore:
Nella pagina Dataproc Metastore, fai clic sul nome del servizio che vuoi visualizzare.
Viene visualizzata la pagina Dettagli servizio.
Nella scheda Configurazione, verifica che i dettagli mostrino che CMEK è attivata.
gcloud
Per creare un servizio a singola regione con crittografia CMEK, esegui il comando Google Cloud
gcloud metastore services create
:gcloud metastore services create SERVICE \ --encryption-kms-key=KMS_KEY
Sostituisci quanto segue:
SERVICE
: il nome del nuovo servizio.KMS_KEY
: l'ID risorsa della chiave.
Crea un servizio multiregionale con una chiave CMEK
Per i servizi CMEK Dataproc Metastore multiregionali, devono essere fornite più chiavi di crittografia. Sono incluse una chiave per ogni regione costituente del servizio Dataproc Metastore multiregionale: una chiave per la regione di testimonianza di Spanner e una chiave per il continente.
Per ottenere informazioni sul tuo servizio multiregionale e sulle regioni con cui è configurato, puoi eseguire il seguente comando.
gcloud metastore locations describe LOCATION
- Sostituisci LOCATION con la multiregione in cui hai creato il servizio Dataproc Metastore.
Per creare un servizio multiregionale con una chiave CMEK
Per configurare la crittografia CMEK per un servizio Dataproc Metastore multiregionale:
Console
Nella console Google Cloud , vai alla pagina Dataproc Metastore:
Nella parte superiore della pagina Dataproc Metastore, fai clic su Crea.
Viene visualizzata la pagina Crea servizio.
Seleziona Dataproc Metastore 2.
Nella sezione Prezzi e capacità, seleziona Enterprise Plus - Due regioni.
Per Protocollo endpoint, seleziona l'endpoint appropriato.
In Crittografia, seleziona Chiave Cloud KMS.
Seleziona le chiavi da utilizzare per ogni regione, ad esempio la regione di testimonianza di Spanner e il continente.
Configura le restanti opzioni di servizio in base alle necessità.
Fai clic su Invia.
Verifica la configurazione della crittografia del servizio:
Nella console Google Cloud , vai alla pagina Dataproc Metastore:
Nella pagina Dataproc Metastore, fai clic sul nome del servizio che vuoi visualizzare.
Viene visualizzata la pagina Dettagli servizio.
Nella scheda Configurazione, verifica che CMEK sia abilitata.
gcloud
- Per creare un servizio multiregionale con crittografia CMEK, esegui il comando
gcloud beta metastore services create
:
gcloud beta metastore services create SERVICE \ --location=LOCATION \ --instance-size=INSTANCE_SIZE \ --encryption-kms-keys=KMS_KEY1,KMS_KEY2,KMS_KEY_WITNESS,KMS_KEY_CONTINENT
Sostituisci quanto segue:
SERVICE
: il nome del nuovo servizio Dataproc Metastore.LOCATION
: la Google Cloud multiregione in cui vuoi creare il servizio Dataproc Metastore. Puoi anche impostare una posizione predefinita.INSTANCE_SIZE
: le dimensioni dell'istanza del tuo servizio Dataproc Metastore multiregionale. Ad esempio, piccolo, medio o grande.KMS_KEY1, KMS_KEY2, KMS_KEY_WITNESS, KMS_KEY_CONTINENT
: l'ID risorsa della chiave per ciascuna delle chiavi richieste, inclusa una chiave nel continente e una chiave nella regione di testimonianza di Spanner. I nomi delle chiavi sono elencati nel seguente formato nel tuo progetto:projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
.
Importa ed esporta dati da e verso un servizio abilitato a CMEK
Se vuoi che i tuoi dati rimangano criptati con una chiave gestita dal cliente durante un'importazione, devi impostare CMEK sul bucket Cloud Storage prima di importare i dati.
Puoi importare 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 viene protetto in base alle impostazioni CMEK del bucket di archiviazione di destinazione.