Crittografare i dati con chiavi di crittografia gestite dal cliente

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 i servizi integrati con CMEK, tra cui Dataproc Metastore. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il loro livello di protezione, la posizione, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i confini di crittografia. L'utilizzo di Cloud KMS ti consente inoltre di visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece che essere di proprietà e gestite da Google, le chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati sono sotto il tuo controllo e vengono gestite in Cloud KMS.

Dopo aver configurato le risorse con i 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).

Considerazioni

  • 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.

  • Non puoi utilizzare le chiavi di crittografia gestite dal cliente per criptare i dati utente in transito, ad esempio query e risposte degli utenti.

  • 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.

  • 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.

  • Il database Cloud Monitoring non supporta la crittografia CMEK. Al contrario, Google Cloud utilizza le chiavi di crittografia di Google per proteggere i nomi e le configurazioni dei servizi degli tuoi 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.

Configurare il supporto di CMEK per Dataproc Metastore

Per configurare il supporto 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

  1. 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.

  2. 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
  3. 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

  1. Nella console Google Cloud, apri la pagina Dataproc Metastore:

    Vai a Dataproc Metastore

  2. Nella parte superiore della pagina Dataproc Metastore, fai clic su Crea.

    Viene visualizzata la pagina Crea servizio.

  3. Configura il servizio in base alle tue esigenze.

  4. In Crittografia, fai clic su Usa una chiave di crittografia gestita dal cliente (CMEK).

  5. Seleziona la chiave gestita dal cliente.

  6. Fai clic su Invia.

Verifica la configurazione della crittografia del servizio:

  1. Nella console Google Cloud, apri la pagina Dataproc Metastore:

    Vai alla console Google Cloud

  2. Nella pagina Dataproc Metastore, fai clic sul nome del servizio che vuoi visualizzare.

    Viene aperta la pagina Dettagli del servizio per quel servizio.

  3. Nella scheda Configurazione, verifica che i dettagli mostrino che CMEK è attivo.

gcloud

  1. 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.
  2. Verifica che la creazione sia andata a buon fine.

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.

Passaggi successivi