Questo documento descrive come utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud Key Management Service (Cloud KMS) per le istanze Memorystore for Valkey, anziché affidarsi alla crittografia predefinita di Google. Il documento illustra anche quali dati vengono criptati nello spazio di archiviazione permanente e il comportamento delle istanze durante gli eventi del ciclo di vita delle chiavi.
CMEK consente di controllare le chiavi di crittografia che proteggono i dati archiviati. Gestendo le tue chiavi in Cloud KMS, ottieni un maggiore controllo sull'accesso, sulla rotazione e sull'utilizzo delle chiavi, il che ti aiuta a soddisfare requisiti di conformità e normativi rigorosi.
L'implementazione di CMEK fornisce un ulteriore livello di sicurezza e controllo sui dati permanenti, come backup e file di persistenza. Puoi abilitare CMEK solo sulle nuove istanze. Non puoi applicare CMEK alle istanze esistenti.
Chi dovrebbe utilizzare CMEK?
CMEK è destinato alle organizzazioni che dispongono di dati sensibili o regolamentati e che richiedono il controllo delle proprie chiavi di crittografia. Per ulteriori informazioni su se utilizzare CMEK per criptare questi dati, consulta Decidere se utilizzare CMEK.
Crittografia gestita dal cliente
CMEK consente di utilizzare le chiavi di crittografia per proteggere i dati archiviati nelle istanze Memorystore for Valkey. Per criptare questi dati, Memorystore for Valkey utilizza chiavi di crittografia dei dati (DEK) gestite da Google e chiavi di crittografia delle chiavi (KEK) gestite dal cliente.
Puoi avere i seguenti livelli di crittografia:
- Crittografia DEK: le DEK criptano i dati in Memorystore for Valkey.
- Crittografia KEK: le KEK criptano le DEK.
Memorystore for Valkey utilizza le KEK per criptare le DEK e le DEK per criptare i dati archiviati. Se utilizzi CMEK, puoi gestire le KEK che criptano le DEK nella tua istanza.
Il seguente diagramma mostra come un'istanza utilizza CMEK per criptare i dati. I dati caricati nell'infrastruttura di archiviazione di Google vengono suddivisi in blocchi e ogni blocco viene criptato con la propria DEK. Cloud KMS fornisce la KEK per criptare le DEK e l'infrastruttura di archiviazione di Google distribuisce sia i blocchi di dati criptati sia le DEK criptate nel sistema.
Il seguente diagramma mostra come Memorystore for Valkey decripta i dati criptati con CMEK. Per accedere a questi dati criptati, Memorystore for Valkey invia una richiesta a Cloud KMS, che gestisce la KEK, per decriptare la DEK. Cloud KMS restituisce quindi la DEK decriptata, che l'istanza utilizza per decriptare i dati archiviati.

Quali dati vengono criptati utilizzando CMEK?
CMEK cripta i seguenti tipi di dati dei clienti archiviati nello spazio di archiviazione permanente:
- Backup: i backup consentono di recuperare i dati a un momento specifico, nonché di esportare e analizzare i dati. I backup sono utili anche per gli scenari di ripristino di emergenza, migrazione dei dati, condivisione dei dati e conformità.
- Persistenza:
Memorystore for Valkey supporta due tipi di persistenza:
- Persistenza RDB: salva gli snapshot dei dati nello spazio di archiviazione durevole.
- Persistenza AOF: archivia i dati in modo permanente registrando ogni comando di scrittura in un file di log denominato Append-Only File (AOF). In caso di errore o riavvio del sistema, il server riproduce i comandi del file AOF in sequenza per ripristinare i dati.
Componenti CMEK
Le sezioni seguenti descrivono i requisiti e i comportamenti dei service account, delle chiavi di crittografia, delle versioni delle chiavi e delle policy dell'organizzazione che compongono l'architettura CMEK.
Service account
Per creare un'istanza abilitata per CMEK, devi concedere il ruolo roles/cloudkms.cryptoKeyEncrypterDecrypter al account di servizio Memorystore for Valkey che utilizza il seguente formato:
service-PROJECT_NUMBER@gcp-sa-memorystore.iam.gserviceaccount.com
La concessione di questa autorizzazione consente al account di servizio di richiedere l'accesso alle chiavi da Cloud KMS.
Chiavi
In Cloud KMS, devi creare un portachiavi e poi una chiave di crittografia che utilizzi un algoritmo di crittografia simmetrica. Quando crei un'istanza Memorystore for Valkey, seleziona questa chiave per criptare l'istanza. Puoi creare un progetto per le chiavi e le istanze oppure progetti diversi per ciascuna di esse.
CMEK è disponibile in tutte le località delle istanze Memorystore for Valkey. Devi creare il portachiavi e la chiave nella stessa regione in cui vuoi creare l'istanza. Per un'istanza multiregionale, devi impostare il portachiavi e la chiave nella stessa località dell'istanza. Se le regioni o le località non corrispondono, la richiesta di creazione dell'istanza non va a buon fine.
Per l'ID risorsa della chiave, CMEK utilizza il seguente formato:
projects/CMEK_ENABLED_PROJECT/locations/REGION/keyRings/KEY_RING_NAME/cryptoKeys/KEY_NAME
Per ulteriori informazioni su come trovare gli ID risorsa delle chiavi esistenti, consulta Recuperare un ID risorsa di Cloud KMS.
Chiavi esterne
Nell'ambito della strategia CMEK, puoi utilizzare chiavi esterne. Per farlo, utilizza Cloud External Key Manager (Cloud EKM) per criptare i dati utilizzando le chiavi esterne che gestisci. Google Cloud
Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità delle chiavi gestite esternamente. Se una chiave non è disponibile quando crei l'istanza, Memorystore for Valkey non crea l'istanza.
Versioni delle chiavi
Cloud KMS archivia il materiale delle chiavi di crittografia che utilizzi per criptare e decriptare i dati in una versione della chiave. Una singola chiave può contenere più versioni della chiave. Ogni volta che ruoti una chiave, crei una versione della chiave.
Le sezioni seguenti descrivono il comportamento delle istanze e dei relativi dati protetti durante gli eventi del ciclo di vita delle chiavi, come la disabilitazione, l'eliminazione, la rotazione, l'abilitazione o il ripristino delle versioni delle chiavi. Le sezioni spiegano anche l'impatto della revoca dell'accesso a una chiave Cloud KMS o della sua sostituzione e forniscono indicazioni sulla ricrittografia manuale dei dati.
Disabilitazione o eliminazione della versione di una chiave CMEK
Potresti trovarti in situazioni in cui vuoi rendere i dati criptati con CMEK inaccessibili in modo permanente, ad esempio quando stai correggendo una perdita di dati. Per ottenere questa distruzione dei dati ad alta affidabilità (nota anche come crypto-shredding), devi eliminare la versione della chiave. Per ulteriori informazioni sull'eliminazione delle versioni delle chiavi, consulta Eliminare e ripristinare le versioni delle chiavi.
Se disabiliti o elimini la versione della chiave primaria di CMEK, si applicano le seguenti condizioni per i backup e la persistenza.
Backup
Quando elimini la versione della chiave primaria di CMEK, si applicano le seguenti limitazioni ai backup dell'istanza:
- Non puoi creare backup on demand o automatici. Tuttavia, se abiliti una versione precedente della chiave, puoi accedere a tutti i backup creati utilizzando questa versione della chiave.
- Non puoi aggiornare o riattivare i backup automatici finché non abiliti o ripristini la versione della chiave primaria. Per ulteriori informazioni, consulta Abilitare o ripristinare la versione della chiave CMEK primaria.
Persistenza
Quando elimini la versione della chiave primaria di CMEK, si applicano le seguenti limitazioni alla persistenza per l'istanza:
- Se configuri l'istanza in modo che utilizzi la persistenza, Memorystore for Valkey disattiva la persistenza quando la versione della chiave non è più disponibile. Non ti viene più addebitato l'utilizzo della persistenza.
- Memorystore for Valkey non esegue il flush dei nuovi dati nello spazio di archiviazione permanente utilizzando CMEK.
- Memorystore for Valkey non può leggere i dati esistenti presenti nello spazio di archiviazione permanente.
- Non puoi aggiornare o riattivare la persistenza finché non abiliti o ripristini la versione della chiave primaria.
Se abiliti la versione della chiave primaria di CMEK, ma disabiliti o elimini una versione precedente della chiave, si applicano le seguenti condizioni per i backup e la persistenza:
- Puoi creare backup. Tuttavia, se un backup è criptato con una versione precedente della chiave disabilitata o eliminata, il backup rimane inaccessibile.
- Se abiliti la persistenza, questa rimane abilitata. Se la versione precedente della chiave utilizzata nella persistenza è disabilitata o eliminata, Memorystore for Valkey esegue un aggiornamento simile a quello utilizzato nella manutenzione e ricripta i dati con la versione della chiave primaria.
Revocare l'accesso a una chiave Cloud KMS
Se revochi l'accesso a una chiave Cloud KMS attiva disabilitando la chiave o rimuovendo le autorizzazioni IAM per la chiave, Memorystore for Valkey assegna la priorità alla disponibilità della cache primaria. Le normali operazioni di caching in memoria continuano a gestire il traffico.
Tuttavia, i backup e la persistenza vengono disattivati. Memorystore for Valkey interrompe immediatamente la scrittura di nuovi dati sul disco e non legge i dati dal disco criptato dal cliente in memoria.
Ruotare la versione della chiave CMEK primaria
Se ruoti la versione della chiave primaria di CMEK e crei una nuova versione della chiave primaria, si applicano le seguenti condizioni per i backup e la persistenza:
- La versione della chiave primaria più recente di CMEK cripta i nuovi backup.
- Per i backup esistenti, non viene eseguita alcuna ricrittografia.
- Per la persistenza, i nodi non eseguono alcuna azione. I nodi continuano a utilizzare la versione precedente della chiave fino al successivo evento di manutenzione.
Ricriptare manualmente i dati protetti da CMEK
Memorystore for Valkey non supporta la ricrittografia on demand dei dati archiviati. Non puoi attivare manualmente un processo per utilizzare una nuova versione della chiave per ricriptare i backup esistenti o i file di persistenza attivi. Tuttavia, puoi utilizzare la nuova versione della chiave per criptare i dati appena scritti.
Se ruoti una chiave e devi forzare un'istanza a utilizzare la nuova versione della chiave, si applicano le seguenti condizioni per i backup e la persistenza:
Backup
Non puoi ricriptare i backup esistenti. Se la conformità richiede che tutti i dati vengano criptati con la chiave più recente, crea un backup che utilizzi questa chiave e poi elimina manualmente i backup esistenti. Puoi anche esportare questo backup in un bucket Cloud Storage in modo che venga utilizzata la chiave di crittografia di Cloud Storage.
Persistenza
Per forzare l'istanza a utilizzare una nuova chiave Cloud KMS, puoi eseguire la manutenzione simulata sull'istanza. Al termine dell'operazione, Memorystore for Valkey può scrivere i dati di persistenza utilizzando la versione della chiave primaria aggiornata.
Sostituire una chiave Cloud KMS protetta
Se sostituisci una chiave Cloud KMS protetta con una chiave diversa o con una nuova versione della chiave primaria, Memorystore for Valkey applica questa modifica solo alle operazioni future.
La sostituzione di una chiave protetta influisce sulle risorse nei seguenti modi:
- Backup: tutti i backup successivi vengono criptati utilizzando la nuova chiave. I backup esistenti mantengono le chiavi originali.
- Persistenza: la volta successiva che l'istanza viene riavviata o si verifica un evento di manutenzione, viene utilizzata la nuova chiave.
- Cache primaria: la sostituzione di questa chiave non ha alcun impatto. CMEK non cripta i dati in memoria perché questi dati non sono considerati dati archiviati.
Abilitare o ripristinare la versione della chiave CMEK primaria
Se abiliti o ripristini la versione della chiave primaria di CMEK, si applicano le seguenti condizioni per i backup e la persistenza:
- Puoi creare di nuovo backup on demand e automatici.
- Memorystore for Valkey esegue un aggiornamento simile a quello utilizzato nella manutenzione e riattiva la persistenza.
Vincoli delle policy dell'organizzazione
Memorystore for Valkey supporta i vincoli delle policy dell'organizzazione per CMEK. Utilizzando questi vincoli, puoi applicare la protezione CMEK alle tue istanze e limitare le chiavi Cloud KMS che puoi utilizzare per questa protezione.
Puoi configurare i seguenti vincoli delle policy dell'organizzazione:
constraints/gcp.restrictNonCmekServices: utilizza questo vincolo per applicare la protezione CMEK alle tue istanze. Se l'API Memorystore for Valkey si trova nell'elenco delle policyDenydei servizi per questo vincolo, non puoi creare istanze non protette da CMEK.constraints/gcp.restrictCmekCryptoKeyProjects: utilizza questo vincolo per limitare le chiavi Cloud KMS che puoi utilizzare per la protezione CMEK. Se configuri questo vincolo, le istanze che utilizzano la crittografia CMEK devono utilizzare una chiave di un progetto, una cartella o un'organizzazione consentiti.
Per ulteriori informazioni sui vincoli delle policy dell'organizzazione relativi a CMEK gestiti da Google per Memorystore for Valkey, consulta Vincoli delle policy dell'organizzazione.
Prezzi
Memorystore for Valkey fattura un'istanza abilitata per CMEK come qualsiasi altra istanza; non sono previsti costi aggiuntivi. Per ulteriori informazioni, consulta Prezzi di Memorystore for Valkey.
Utilizzi l'API Cloud KMS per gestire CMEK. Quando crei un'istanza Memorystore for Valkey con CMEK, Memorystore utilizza la chiave periodicamente per criptare i dati.
Cloud KMS ti addebita il costo della chiave e le operazioni di crittografia e decrittografia quando Memorystore for Valkey utilizza la chiave. Per ulteriori informazioni, consulta Prezzi di Cloud KMS.
Limitazioni
Quando utilizzi CMEK con Memorystore for Valkey, si applicano le seguenti limitazioni:
- Non puoi abilitare CMEK su un'istanza Memorystore for Valkey esistente.
- La chiave, il portachiavi e l'istanza devono trovarsi nella stessa regione.
- Devi utilizzare l'algoritmo di crittografia simmetrica per la chiave.
- Le tariffe di crittografia e decrittografia di Cloud KMS sono soggette a una quota.
Passaggi successivi
- Scopri di più su CMEK.
- Scopri come migliorare la sicurezza dei dati utilizzando CMEK.
- Scopri di più sui backup.
- Scopri di più sulla persistenza.