Utilizzo delle chiavi di crittografia gestite dal cliente

Questa pagina spiega come utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per proteggere i servizi di Dataproc Metastore. CMEK fornisce 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 al perimetro l'API Cloud Key Management Service (Cloud KMS).

Configura il supporto 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. Poi puoi creare un servizio Dataproc Metastore che utilizza una chiave CMEK.

Concedi le autorizzazioni per le chiavi Cloud KMS

Utilizza i comandi seguenti per concedere le autorizzazioni per la chiave 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
    

    Allo stesso modo, puoi creare una chiave HSM o creare una chiave EKM.

  2. Concedi le autorizzazioni all'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
    
  3. Concedi le autorizzazioni all'account di servizio Cloud Storage:

    gsutil kms authorize -k projects/KEY_PROJECT/locations/LOCATION/keyRings/KEY_RING/cryptoKeys/KEY_NAME
    

Crea un servizio Dataproc Metastore con una chiave CMEK

Segui questi passaggi 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 esigenze.

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

  5. Seleziona la chiave gestita dal cliente.

  6. Fai clic su Invia.

Verifica la configurazione di 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.

    Si apre la pagina Dettagli del servizio per quel servizio.

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

gcloud

  1. Esegui il comando gcloud metastore services create per creare un servizio con la crittografia CMEK:

    gcloud metastore services create SERVICE \
       --encryption-kms-key=KMS_KEY
    

    Sostituisci quanto segue:

    • SERVICE: il nome del nuovo servizio.
    • KMS_KEY: fa riferimento all'ID risorsa della chiave.
  2. Verifica che la creazione sia riuscita.

Dati Dataproc Metastore protetti con chiavi di crittografia fornite da Google

Il database di Cloud Monitoring non supporta la crittografia CMEK. Google Cloud utilizza invece le chiavi di crittografia Google per proteggere i nomi e le configurazioni dei servizi Dataproc Metastore.

Importa ed esporta dati da e in un servizio abilitato per CMEK

Se vuoi che i tuoi dati rimangano criptati con una chiave gestita dal cliente durante un'importazione, devi impostare una CMEK nel bucket Cloud Storage prima di importare i dati dal bucket.

Puoi eseguire l'importazione da un bucket Cloud Storage 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.

Avvertenze CMEK per Dataproc Metastore

  • La disabilitazione o l'eliminazione della CMEK per un servizio abilitato per CMEK rende il servizio inutilizzabile e non recuperabile.

    • I dati andranno persi definitivamente.
  • Non puoi abilitare le chiavi di crittografia gestite dal cliente su un servizio esistente.

  • Non puoi ruotare la chiave utilizzata da un servizio abilitato da CMEK.

  • Un servizio abilitato per CMEK non supporta la sincronizzazione di Data Catalog. L'aggiornamento di un servizio abilitato per CMEK per abilitare la sincronizzazione di Data Catalog non riesce. Inoltre, non puoi creare un nuovo servizio con entrambe le funzionalità abilitate.

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

  • Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente. Se la chiave non è più 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à più disponibile finché la chiave non diventa disponibile. Per ulteriori considerazioni sull'utilizzo di chiavi esterne, consulta Considerazioni su Cloud EKM.

Passaggi successivi