Utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per le migrazioni continue

Questa pagina descrive il funzionamento delle chiavi di crittografia gestite dal cliente (CMEK) con i job di migrazione di Database Migration Service.

Per impostazione predefinita, Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL) cripta i contenuti dei clienti a riposo. Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL) 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 Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL). 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 monitorare l'utilizzo delle chiavi, visualizzare i log di controllo 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 di Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL) è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

Regioni in cui Database Migration Service supporta CMEK

CMEK è disponibile in tutte le località in cui è disponibile Database Migration Service.

CMEK con Autokey di Cloud KMS

Puoi creare i CMEK manualmente per proteggere le risorse di Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL) o utilizzare Cloud KMS Autokey. Con Autokey, i keyring e le chiavi vengono generati on demand nell'ambito della creazione o dell'aggiornamento delle risorse in Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL). Gli agenti di servizio che utilizzano le chiavi per le operazioni di crittografia e decrittografia vengono creati se non esistono già e vengono concessi i ruoli IAM (Identity and Access Management) richiesti. Per ulteriori informazioni, consulta la panoramica di Autokey.

Informazioni sugli account di servizio

Quando i job di migrazione di Database Migration Service hanno CMEK abilitato, devi utilizzare un account di servizio per richiedere l'accesso alle chiavi da Cloud Key Management Service.

Per utilizzare un CMEK in un progetto, devi disporre di un account di servizio e devi concedere all'account di servizio l'accesso alla chiave. L'account di servizio deve esistere all'interno del progetto. L'account di servizio è visibile in tutte le regioni.

Informazioni sulle chiavi

In Cloud Key Management Service, devi creare un portachiavi con una chiave di crittografia impostata con una posizione. Quando crei un nuovo job di migrazione in Database Migration Service, seleziona questa chiave per criptarlo.

Devi conoscere l'ID chiave e la regione della chiave quando crei nuovi job di migrazione che utilizzano CMEK. Devi posizionare i database di destinazione nella stessa regione del CMEK associato al job di migrazione. Puoi creare un progetto sia per le chiavi sia per i database di destinazione oppure progetti diversi per ciascuno.

CMEK utilizza il seguente formato:

projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[RING_NAME]/cryptoKeys/[KEYNAME]

Come faccio a rendere inaccessibili definitivamente i dati criptati con CMEK?

Potresti trovarti in situazioni in cui vuoi distruggere definitivamente i dati criptati con CMEK. Per farlo, devi distruggere la versione CMEK. Non puoi distruggere il portachiavi o la chiave, ma puoi distruggere le versioni della chiave.

Limitazioni

Quando utilizzi le chiavi CMEK, si applicano le seguenti limitazioni:

  • Non puoi aggiornare CMEK in un job di migrazione in esecuzione.

  • Sebbene tu possa utilizzare CMEK per criptare i dati del database di origine, non puoi utilizzare queste chiavi per criptare i metadati dei job di migrazione, ad esempio l'ID job di migrazione, l'indirizzo IP del database di origine e così via.

Utilizzo di CMEK

Le sezioni seguenti descrivono come configurare CMEK per

Prima di iniziare

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Installa e inizializza Google Cloud CLI.
  7. Assicurati di avere il ruolo Amministratore di migrazione del database assegnato al tuo account utente.

    Vai alla pagina IAM

  8. Enable the Cloud Key Management Service API.

    Enable the API

  9. Abilita l'API Database Migration Service.

    Abilitare l'API

Flusso di lavoro per creare job di migrazione in Database Migration Service con CMEK

  1. Solo utenti dell'API e dell'interfaccia a riga di comando gcloud: assicurati di avere un account di servizio per ogni progetto che richiede CMEK. Per ulteriori informazioni, vedi Creare un account di servizio.

  2. Crea un mazzo di chiavi e una chiave e imposta la posizione di ogni chiave. La località è nella regione Google Cloud .

  3. Concedi alla chiave l'accesso all'account di servizio.

  4. Copia o annota l'ID chiave (KMS_KEY_ID) e la posizione della chiave, nonché l'ID (KMS_KEYRING_ID) per il portachiavi. Ti serviranno queste informazioni quando concederai l'accesso con chiave all'account di servizio.

  5. Vai a un progetto, crea un job di migrazione in Database Migration Service e utilizza la CMEK nella sezione Opzioni di crittografia avanzata.

Il job di migrazione in Database Migration Service è ora abilitato con CMEK.

Crea un account di servizio

Devi creare un account di servizio per ogni progetto che richiede CMEK. Per consentire a un utente di gestire gli account di servizio, concedi uno dei seguenti ruoli:

  • Utente account di servizio (roles/iam.serviceAccountUser): include le autorizzazioni per elencare gli account di servizio, ottenere i dettagli di un account di servizio e rubare l'identità di un account di servizio.
  • Amministratore account di servizio (roles/iam.serviceAccountAdmin): include le autorizzazioni per elencare gli account di servizio e ottenere i dettagli di un account di servizio. Sono incluse anche le autorizzazioni per creare, aggiornare ed eliminare account di servizio e per visualizzare o modificare il criterio di Database Migration Service (per la migrazione da Oracle ad AlloyDB per PostgreSQL) in un account di servizio.

Puoi utilizzare solo i comandi gcloud CLI per creare il tipo di account di servizio necessario per CMEK.

Per creare un account di servizio con gcloud CLI, esegui il seguente comando:

gcloud beta services identity create \
--service=datamigration.googleapis.com\
--project=PROJECT_ID

Il comando precedente restituisce il nome di un account di servizio. Utilizza questo nome dell'account di servizio durante la procedura descritta in Concedere l'accesso alla chiave all'account di servizio.

Crea una chiave

Puoi creare la chiave nello stesso progetto Google Cloud del job di migrazione in Database Migration Service o in un progetto utente separato. La posizione del portachiavi delle chiavi Cloud KMS deve corrispondere alla regione del database di destinazione associato al job di migrazione. Non è supportata una chiave per più regioni o globale. Se le regioni non corrispondono, non puoi creare il job di migrazione.

Per creare una chiave Cloud KMS:

Console

  1. Nella console Google Cloud, vai alla pagina Chiavi crittografiche.
  2. Fai clic su Crea keyring.
  3. Aggiungi un Nome keyring. Prendi nota di questo nome perché ti servirà quando concedi l'accesso alla chiave all'account di servizio.
  4. Aggiungi una posizione del keyring.
  5. Fai clic su Crea. Viene visualizzata la pagina Crea chiave.
  6. Aggiungi un Nome chiave.
  7. Seleziona uno scopo (simmetrico o asimmetrico).
  8. Seleziona un Periodo di rotazione e una Data di inizio.
  9. Fai clic su Crea.
  10. Nella tabella Chiavi, fai clic sui tre puntini nell'ultima colonna e seleziona Copia ID risorsa o annota l'ID. Questo è il KMS_KEY_ID. Devi disporre del KMS_KEY_ID per concedere alla chiave l'accesso all'account di servizio.

Interfaccia a riga di comando gcloud

  1. Crea una nuova chiave automatica.
    gcloud kms keyrings create KMS_KEYRING_ID \
    --location=REGION
      
    Annota questo nome perché ti servirà quando concederai alla chiave l'accesso all'account di servizio.
  2. Crea una chiave nel keyring.
    gcloud kms keys create KMS_KEY_ID \
    --location=REGION \
    --keyring=KMS_KEYRING_ID \
    --purpose=encryption
      
    Annota questo nome perché ti servirà quando concederai alla chiave l'accesso all'account di servizio.

Concedi al tuo account di servizio l'accesso alla chiave

Devi eseguire questa procedura solo se utilizzi gcloud CLI o l'API.

Per concedere l'accesso all'account di servizio, utilizza il seguente codice:

gcloud kms keys add-iam-policy-binding KMS_KEY_ID \
--location=REGION \
--keyring=KMS_KEYRING_ID \
--member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-datamigration.iam.gserviceaccount.com \
--role=roles/cloudkms.cryptoKeyEncrypterDecrypter

Creare un job di migrazione in Database Migration Service con CMEK

Nell'ambito della creazione di un job di migrazione in Database Migration Service, puoi utilizzare la chiave CMEK per gestire la crittografia dei dati.

Disattivare e riattivare le versioni delle chiavi

Consulta i seguenti argomenti: