Cripta 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 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 i log di controllo 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, vedi Chiavi di crittografia gestite dal cliente (CMEK).

Prima di iniziare

Considerazioni

Tieni presente i seguenti punti quando utilizzi Dataproc Metastore con CMEK.

  • 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 tuo 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 presenti 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 ancora una chiave Cloud KMS, puoi crearne una per il tuo 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 delle chiavi automatizzate che hai creato nel passaggio precedente.

Concedere le autorizzazioni per la chiave Cloud KMS

Utilizza i seguenti comandi per concedere le autorizzazioni per le chiavi Cloud KMS per Dataproc Metastore:

  1. Concedi le autorizzazioni al account di servizio dell'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

  1. 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 regione singola con una chiave CMEK

Per configurare la crittografia CMEK per un servizio Dataproc Metastore a una sola regione:

Console

  1. Nella console Google Cloud , vai alla 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 esigenze.

  4. In Crittografia, fai clic su 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 , vai alla pagina Dataproc Metastore:

    Vai alla console Google Cloud

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

    Viene visualizzata la pagina Dettagli servizio.

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

gcloud

  1. Per creare un servizio a regione singola 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.

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 è protetto in base alle impostazioni CMEK del bucket di archiviazione di destinazione.

Passaggi successivi