Questa pagina descrive le chiavi di crittografia gestite dal cliente (CMEK) per AlloyDB per PostgreSQL.
Per ulteriori informazioni sulle CMEK in generale, incluso quando e perché attivare questa funzionalità, consulta la documentazione di Cloud KMS.
Per una guida passo passo all'utilizzo di CMEK con AlloyDB, consulta Utilizzare CMEK.
Un'alternativa autogestita alla crittografia gestita da Google
Per impostazione predefinita, tutti i dati at-rest in Google Cloud, inclusi i dati in AlloyDB, sono protetti utilizzando la crittografia predefinita gestita da Google. Google Cloud gestisce questa crittografia predefinita per conto tuo senza che tu debba fare altro.
Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi CMEK. Con CMEK, il tuo cluster AlloyDB è protetto utilizzando una chiave che puoi controllare e gestire in Cloud Key Management Service (KMS). La chiave CMEK può essere una chiave simmetrica o una chiave Cloud HSM.
Funzionalità
- Controllo dell'accesso ai dati:gli amministratori possono ruotare, gestire l'accesso e disattivare o distruggere la chiave utilizzata per proteggere i dati at-rest in AlloyDB.
- Auditabilità: se attivi la registrazione dei log di controllo per l'API Cloud KMS nel tuo progetto, tutte le azioni sulla chiave, incluse quelle eseguite da AlloyDB, vengono registrate e visualizzate in Cloud Logging.
- Prestazioni:l'utilizzo di CMEK non comporta modifiche alle prestazioni di AlloyDB.
Prezzi
AlloyDB addebita un cluster con CMEK abilitata come qualsiasi altro cluster. Non sono previsti costi aggiuntivi per AlloyDB. Per maggiori informazioni, consulta i prezzi di AlloyDB per PostgreSQL.
Cloud KMS ti addebita il costo della chiave e le operazioni di crittografia e decrittografia quando AlloyDB utilizza la chiave. Per ulteriori informazioni, consulta la pagina relativa ai prezzi di Cloud Key Management Service.
Che cosa viene protetto con CMEK
AlloyDB utilizza la chiave Cloud KMS per proteggere i dati at-rest nei seguenti modi:
- Se attivi CMEK su un cluster, AlloyDB utilizza la tua chiave per criptare tutti i dati del cluster archiviati.
- Se specifichi una configurazione CMEK durante la creazione di un backup on demand, AlloyDB utilizza la tua chiave per criptare il backup.
- Se attivi CMEK con la configurazione del backup automatico o continuo del tuo cluster, AlloyDB utilizza la tua chiave per criptare i backup in corso.
Indipendentemente dall'utilizzo di una Google-owned and Google-managed encryption keys o di una CMEK, AlloyDB dispone di tre livelli di crittografia:
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 è chiamata chiave di crittografia dei dati (DEK).
A causa dell'elevato volume di chiavi utilizzate da Google e della necessità di mantenere una bassa latenza e un'alta disponibilità, AlloyDB archivia ogni DEK vicino ai dati che cripta.
AlloyDB cripta ogni DEK con una chiave di crittografia della chiave (KEK) posseduta dal cluster.
Infine, AlloyDB cripta la KEK con la chiave di crittografia basata su Cloud Key Management Service del cluster, che può essere una chiave Google-owned and Google-managed encryption key o una chiave CMEK.
Puoi anche visualizzare le versioni delle chiavi utilizzate per proteggere un cluster.
Attivare CMEK
Per consentire a un cluster AlloyDB di utilizzare la 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 Autore crittografia/decrittografia CryptoKey Cloud KMS (roles/cloudkms.cryptoKeyEncrypterDecrypter
) a un agente di servizio AlloyDB.
Per istruzioni dettagliate, consulta l'articolo Utilizzare CMEK.
Gestisci chiavi
Utilizza Cloud KMS per tutte le operazioni di gestione delle chiavi. AlloyDB non può rilevare o applicare modifiche alle chiavi finché non vengono propagate da Cloud KMS. Per alcune operazioni, come la disattivazione o l'eliminazione di una chiave, la propagazione può richiedere fino a tre ore; le modifiche alle autorizzazioni di solito si propagano molto più rapidamente.
Dopo aver creato il 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 distrutta, viene avviata immediatamente un'operazione per rendere inaccessibili i dati del cluster. Se le chiamate di AlloyDB a Cloud KMS rilevano che una chiave precedentemente disattivata è stata riattivata, l'accesso viene ripristinato automaticamente.
Utilizzare e gestire le chiavi esterne
In alternativa all'utilizzo delle chiavi che si trovano su Cloud KMS, puoi utilizzare le chiavi che si trovano presso un partner di gestione delle chiavi esterne supportato. Per farlo, utilizza Cloud External Key Manager (Cloud EKM) per creare e gestire le chiavi esterne, ovvero i puntatori alle chiavi al di fuori di Google Cloud. Per ulteriori informazioni, 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 al momento della creazione del cluster. Questa procedura è la stessa dell'applicazione di una chiave Cloud KMS a un nuovo cluster.
Puoi utilizzare le giustificazioni di accesso alle chiavi nell'ambito di Cloud EKM. Key Access Justifications consente di 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 la sezione Panoramica.
Google non ha alcun controllo sulla disponibilità delle chiavi in un sistema di gestione delle chiavi di un partner esterno.
Mancata disponibilità della chiave
Se disattivi la chiave Cloud KMS utilizzata per criptare un cluster AlloyDB, le istanze AlloyDB appartenenti a quel cluster subiranno 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 su base best effort per un periodo di massimo 30 minuti per ridurre al minimo l'impatto di eventuali interruzioni temporanee sul caricamento di lavoro.
Dopo 30 minuti, se AlloyDB non riesce ancora a connettersi a Cloud KMS, inizia a mettere il cluster offline come misura di protezione. I dati nel cluster AlloyDB rimangono inaccessibili finché il cluster non riesce a ricollegarsi a Cloud KMS e Cloud KMS risponde che la chiave è attiva.
Backup e ripristino
AlloyDB protegge anche i backup con CMEK o con la crittografia gestita da Google predefinita. Se un backup è abilitato per CMEK, viene criptato utilizzando la versione principale della chiave KMS al momento della creazione del backup. Una volta creato un backup, la chiave e la relativa versione non possono essere modificate, anche se la chiave KMS viene ruotata. Per ulteriori informazioni, consulta Eseguire il backup di un cluster.
Quando ripristina un cluster da un backup, per impostazione predefinita il cluster ripristinato utilizza 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.
Logging
Puoi controllare le richieste inviate da AlloyDB a Cloud KMS per tuo conto in Cloud Logging, se hai abilitato il logging di controllo per l'API Cloud KMS nel tuo progetto. Queste entrate dei log di Cloud KMS sono visibili in Cloud Logging. Per ulteriori informazioni, consulta Visualizzare i log di controllo per una chiave Cloud KMS.