Utilizzo di CMEK

Questa pagina descrive come creare, configurare e applicare le chiavi di crittografia gestite dal cliente (CMEK) per AlloyDB per PostgreSQL.

Per scoprire di più su CMEK, consulta Informazioni su CMEK.

Creare e autorizzare una chiave CMEK per AlloyDB

  1. Crea una chiave in Cloud Key Management Service (Cloud KMS). AlloyDB supporta i seguenti tipi di chiavi:

    La chiave deve trovarsi nella stessa posizione del cluster AlloyDB. Ad esempio, un cluster AlloyDB in us-west1 può utilizzare solo le chiavi in us-west1.

    Se hai già una chiave Cloud KMS nella posizione corretta, puoi saltare questo passaggio.

  2. Concedi ad AlloyDB l'accesso alla chiave.

    1. Utilizza Google Cloud CLI per creare e visualizzare l'agente di servizio o visualizzarlo se l'account esiste già:

      gcloud beta services identity create --service=alloydb.googleapis.com \
          --project=PROJECT

      Il comando gcloud services identity crea o recupera l'agente di servizio che AlloyDB può utilizzare per accedere alla chiave Cloud KMS per conto tuo.

      L'ID account di servizio assomiglia a un indirizzo email:

      Service identity created: service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com
      
    2. Concedi il ruolo cloudkms.cryptoKeyEncrypterDecrypter all'account di servizio:

      gcloud kms keys add-iam-policy-binding KEY \
          --location REGION \
          --keyring KEYRING \
          --project=PROJECT \
          --member serviceAccount:service-xxx@gcp-sa-alloydb.iam.gserviceaccount.com \
          --role roles/cloudkms.cryptoKeyEncrypterDecrypter

      Sostituisci quanto segue:

      • KEY: l'ID Cloud KMS della chiave
      • REGION: la regione della chiave, ad esempio us-central1
      • PROJECT: l'ID del progetto della chiave
      • KEYRING: l'ID del mazzo di chiavi Cloud KMS della chiave

      Questo ruolo garantisce che l'account di servizio disponga dell'autorizzazione per criptare e decriptare con la chiave Cloud KMS. Per ulteriori informazioni, consulta Autorizzazioni e ruoli Cloud KMS.

Creare un cluster con crittografia CMEK

Quando crei un nuovo cluster, puoi scegliere se criptarlo con la crittografia gestita da Google predefinita o utilizzare una chiave CMEK. Per maggiori informazioni, consulta Creare un cluster e la relativa istanza principale.

Visualizzare il metodo di crittografia e la chiave CMEK di un cluster

Console

La colonna Crittografia della pagina Cluster indica se ogni cluster del progetto utilizza la crittografia gestita da Google o CMEK.

Vai alla pagina Cluster

Per visualizzare i dettagli chiave di un cluster che utilizza CMEK, fai clic sul nome nella colonna Nome risorsa. Il campo Chiave di crittografia della pagina dei dettagli successiva contiene una descrizione della chiave, incluso un link alla relativa pagina dei dettagli di Cloud KMS.

gcloud

Chiama il comando gcloud alloydb clusters describe:

gcloud alloydb clusters describe CLUSTER \
--project=PROJECT \
--region=REGION

Sostituisci quanto segue:

  • CLUSTER: l'ID del cluster da descrivere
  • PROJECT: l'ID del progetto del cluster
  • REGION: la regione del cluster, ad esempio us-central1

L'output include un campo encryptionInfo con un riepilogo della crittografia del cluster.

Applicare CMEK ai backup

Quando crei un nuovo backup, puoi scegliere se criptarlo con la crittografia gestita da Google predefinita o utilizzare una chiave CMEK. Per maggiori informazioni, consulta Creare un backup on demand o Pianificare i backup automatici.

Hai anche la possibilità di applicare una chiave CMEK al cluster creato durante il ripristino da un backup, indipendentemente dal metodo di crittografia del backup. Per saperne di più, vedi Ripristinare un cluster.

Visualizzare il metodo di crittografia e la chiave CMEK di un backup

Console

La colonna Crittografia della pagina Backup indica se ogni cluster del progetto utilizza la crittografia gestita da Google o le chiavi CMEK.

Vai alla pagina Backup

Per visualizzare i dettagli chiave di un backup che utilizza CMEK, fai clic su Ripristina. Il campo Chiave di crittografia del riquadro dei dettagli successivo contiene una descrizione della chiave, incluso un link alla relativa pagina dei dettagli di Cloud KMS.

gcloud

Chiama il comando gcloud alloydb backups describe:

gcloud alloydb backups describe CLUSTER \
--project=PROJECT \
--region=REGION

Sostituisci quanto segue:

  • CLUSTER: l'ID del backup da descrivere
  • PROJECT: l'ID del progetto del backup
  • REGION: la regione del backup, ad esempio us-central1

L'output include un campo encryptionInfo con un riepilogo della crittografia del backup.

Disattivare una chiave

La disattivazione della chiave CMEK di un cluster rende inaccessibili i dati del cluster fino a quando non riattivi la chiave.

Tuttavia, la disattivazione di una chiave può richiedere fino a tre ore per propagarsi al tuo cluster AlloyDB. Per disattivare una chiave impedendo al contempo l'accesso ai tuoi dati immediatamente, segui questi passaggi:

  1. Elimina l'istanza principale del cluster. Ciò non influisce sui dati del tuo cluster. Puoi creare una nuova istanza principale dopo aver riattivato la chiave, come descritto nella sezione seguente.

  2. Utilizza Cloud KMS per disattivare la chiave.

Attivare una chiave

Per attivare una chiave:

  1. Utilizza Cloud KMS per attivare la chiave.

  2. Se hai eliminato l'istanza principale del cluster prima di disattivare la chiave, crea una nuova istanza principale.

L'attivazione di una chiave può richiedere fino a tre ore per essere propagata al cluster. I dati del cluster diventano accessibili non appena avviene questa propagazione.

Visualizzare gli audit log di una chiave Cloud KMS

Per visualizzare i log di controllo associati a una determinata chiave CMEK, segui questi passaggi:

  1. Assicurati che il logging sia abilitato per l'API Cloud KMS nel tuo progetto.

  2. Vai a Esplora log nella console Google Cloud.

    Vai a Esplora log

  3. Limita le voci di log alla tua chiave Cloud KMS aggiungendo le seguenti linee al query builder:

    resource.type="cloudkms_cryptokey"
    resource.labels.location="REGION"
    resource.labels.key_ring_id="KEYRING"
    resource.labels.crypto_key_id="KEY"
    

    Sostituisci quanto segue:

    • REGION: la regione della chiave, ad esempio us-central1
    • KEYRING: l'ID del mazzo di chiavi Cloud KMS della chiave
    • KEY: l'ID Cloud KMS della chiave
  4. In condizioni normali, le operazioni di crittografia e decrittografia vengono registrate con gravità INFO. Queste voci vengono registrate quando le istanze nel tuo cluster AlloyDB convalidano la chiave {kms_name_short}}, che si verifica circa ogni cinque minuti.

  5. Se AlloyDB non riesce ad accedere alla chiave, le operazioni vengono registrate come ERROR.

Visualizzare le giustificazioni per l'accesso a una chiave Cloud EKM

Se utilizzi una chiave Cloud EKM, puoi utilizzare Key Access Justifications per visualizzare il motivo di ogni richiesta Cloud EKM. Inoltre, in base alla motivazione fornita, puoi approvare o rifiutare automaticamente una richiesta. Per ulteriori informazioni, consulta Visualizzare e applicare le giustificazioni.