Informazioni su CMEK

Per controllare e gestire le chiavi di crittografia che proteggono i dati at-rest nei cluster e nei backup di AlloyDB per PostgreSQL, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud Key Management Service (Cloud KMS).

Per saperne di più sulle CMEK in generale, incluso quando e perché attivare questa funzionalità, consulta la documentazione di Cloud KMS.

Per impostazione predefinita, AlloyDB per PostgreSQL cripta i contenuti inattivi dei clienti. AlloyDB 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 AlloyDB. 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 gli audit log 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 CMEK, l'esperienza di accesso alle risorse AlloyDB è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

Per scoprire come utilizzare le CMEK create manualmente per proteggere le risorse AlloyDB, consulta Utilizza CMEK.

Funzionalità

  • Controllo controllo dell'accesso: gli amministratori possono ruotare, gestire l'accesso e disattivare o distruggere la chiave utilizzata per proteggere i dati at-rest in AlloyDB.

    La gestione delle chiavi è gestita da Cloud KMS. I cluster non si criptano di nuovo automaticamente con la versione più recente della chiave dopo la rotazione. I cluster vengono criptati dalla versione principale della CMEK al momento della creazione del cluster. Per ruotare la crittografia del cluster, crea un backup e ripristina il cluster con una versione della chiave più recente. Per ulteriori informazioni su backup e ripristino, consulta la panoramica del backup e del ripristino dei dati.

  • Controllabilità: se attivi l'audit logging per l'API Cloud KMS nel tuo progetto, tutte le azioni sulla chiave, incluse quelle eseguite da AlloyDB, vengono registrate e sono visualizzabili in Cloud Logging.

  • Prestazioni: l'utilizzo di CMEK non introduce modifiche alle prestazioni di AlloyDB.

Prezzi

La fatturazione di AlloyDB per un cluster abilitato per CMEK è la stessa di qualsiasi altro cluster, senza costi aggiuntivi per AlloyDB. Per maggiori informazioni, consulta i prezzi di AlloyDB per PostgreSQL.

Cloud KMS ti addebita il costo della chiave e delle operazioni di crittografia e decriptazione quando AlloyDB utilizza la chiave. Per saperne di più, consulta i prezzi di Cloud Key Management Service.

Cosa è protetto con CMEK

AlloyDB utilizza la tua chiave Cloud KMS per proteggere i dati at-rest nei seguenti modi:

  • Se abiliti CMEK su un cluster, AlloyDB utilizza la tua chiave per criptare tutti i dati del cluster nello spazio di archiviazione.
  • Se specifichi una configurazione CMEK quando crei un backup on demand, AlloyDB utilizza la tua chiave per criptare il backup.
  • Se abiliti CMEK con la configurazione del backup continuo o automatico del cluster, AlloyDB utilizza la tua chiave per criptare i backup in corso.

Sia che utilizzi Google-owned and Google-managed encryption keys o CMEK, AlloyDB ha tre livelli di crittografia:

  1. AlloyDB suddivide i dati at-rest in blocchi per l'archiviazione e cripta ogni blocco con una chiave di crittografia individuale. La chiave utilizzata per criptare i dati in un blocco è denominata chiave di crittografia dei dati (DEK, Data Encryption Key).

    A causa dell'elevato volume di chiavi utilizzate da Google e della necessità di mantenere una bassa latenza e un'alta affidabilità, AlloyDB archivia ogni DEK vicino ai dati che deve criptare.

  2. AlloyDB cripta ogni DEK con una chiave di crittografia della chiave (KEK) contenuta nel cluster.

  3. Infine, AlloyDB cripta la KEK con la chiave di crittografia basata su Cloud KMS del cluster, che è una chiaveGoogle-owned and Google-managed encryption key o una chiave CMEK.

Puoi anche visualizzare le versioni delle chiavi utilizzate per proteggere un cluster.

Attiva CMEK

Per consentire a un cluster AlloyDB di utilizzare CMEK, devi specificare la chiave Cloud KMS al momento della creazione del cluster.

AlloyDB può accedere alla chiave per tuo conto dopo che hai concesso il ruolo Cloud KMS CryptoKey Encrypter/Decrypter (roles/cloudkms.cryptoKeyEncrypterDecrypter) all'agente di servizio AlloyDB.

Per istruzioni dettagliate, consulta Utilizza CMEK.

Gestisci chiavi

Utilizza Cloud KMS per tutte le operazioni di gestione delle chiavi. AlloyDB non può rilevare o agire su eventuali modifiche alle chiavi finché non vengono propagate da Cloud KMS. Alcune operazioni, come la disattivazione o l'eliminazione di una chiave, possono richiedere fino a tre ore per la propagazione. Le modifiche alle autorizzazioni di solito si propagano molto più rapidamente.

Dopo la creazione del cluster, AlloyDB chiama Cloud KMS ogni cinque minuti circa per assicurarsi che la chiave sia ancora valida.

Se AlloyDB rileva che la chiave Cloud KMS è stata disattivata o eliminata, avvia un'operazione per rendere inaccessibili i dati del cluster. Se le chiamate di AlloyDB a Cloud KMS rilevano che una chiave precedentemente disabilitata è stata riabilitata, l'accesso viene ripristinato automaticamente.

Utilizza e gestisci le chiavi esterne

In alternativa all'utilizzo di chiavi che risiedono in Cloud KMS, puoi utilizzare chiavi che risiedono in un partner di gestione delle chiavi esterne supportato. Per farlo, utilizza Cloud External Key Manager (Cloud EKM) per creare e gestire chiavi esterne, ovvero puntatori a chiavi che si trovano all'esterno di Google Cloud. Per saperne di più, consulta Cloud External Key Manager.

Dopo aver creato una chiave esterna con Cloud EKM, puoi applicarla a un nuovo cluster AlloyDB fornendo l'ID della chiave durante la creazione del cluster. Questa procedura è la stessa dell'applicazione di una chiave Cloud KMS a un nuovo cluster.

Puoi utilizzare Key Access Justifications nell'ambito di Cloud EKM. Key Access Justifications ti consente di visualizzare il motivo di ogni richiesta di Cloud EKM. Inoltre, in base alla motivazione fornita, puoi approvare o rifiutare automaticamente una richiesta. Per saperne di più, consulta Panoramica.

Google non ha il controllo sulla disponibilità delle chiavi in un sistema partner di gestione delle chiavi esterno.

Chiave non disponibile

Se disattivi la chiave Cloud KMS utilizzata per criptare un cluster AlloyDB, le istanze AlloyDB appartenenti a quel cluster subiscono un tempo di inattività entro 30 minuti. La riattivazione della chiave ripristina le istanze.

In scenari rari, ad esempio durante i periodi in cui Cloud KMS non è disponibile, AlloyDB potrebbe non essere in grado di recuperare lo stato della chiave da Cloud KMS. In questo scenario, AlloyDB continua a supportare le operazioni complete del cluster secondo il principio del "best effort" per un periodo massimo di 30 minuti, in modo da ridurre al minimo l'impatto di eventuali interruzioni temporanee sul tuo workload.

Dopo 30 minuti, se AlloyDB non riesce ancora a connettersi a Cloud KMS, AlloyDB inizia a portare il cluster offline come misura di protezione. I dati nel cluster AlloyDB rimangono inaccessibili finché il cluster non riesce a riconnettersi a Cloud KMS e Cloud KMS non risponde che la chiave è attiva.

Backup e ripristino

AlloyDB protegge anche i backup con CMEK o con la crittografia predefinita gestita da Google. Se un backup è abilitato per CMEK, viene criptato utilizzando la versione principale della chiave Cloud KMS al momento della creazione del backup. Una volta creato il backup, la chiave e la relativa versione non possono essere modificate, anche se la chiave Cloud KMS viene ruotata. Per saperne di più sulla crittografia dei backup con CMEK, consulta Esecuzione del backup di un cluster.

Quando ripristini un cluster da un backup, il cluster ripristinato utilizza per impostazione predefinita la crittografia gestita da Google, ma puoi specificare una chiave CMEK da utilizzare. Per ripristinare un backup abilitato per CMEK, devono essere disponibili sia la chiave sia la versione della chiave utilizzata per criptare il backup.

Replica tra regioni

Poiché le chiavi Cloud KMS sono risorse regionali, un cluster primario e un cluster secondario tra regioni devono utilizzare chiavi Cloud KMS diverse situate nelle rispettive regioni. Le configurazioni di crittografia di un cluster primario e del relativo cluster secondario sono indipendenti l'una dall'altra. Per proteggere entrambi i cluster con CMEK, crea una chiave Cloud KMS nella regione del cluster primario e una chiave Cloud KMS separata nella regione del cluster secondario.

Logging

Se hai abilitato l'audit logging per l'API Cloud KMS nel tuo progetto, puoi controllare le richieste che AlloyDB invia a Cloud KMS per tuo conto in Cloud Logging. Queste voci di log di Cloud KMS sono visibili in Cloud Logging. Per saperne di più, consulta Visualizza gli audit log per una chiave Cloud KMS.

Passaggi successivi