Informazioni sulle chiavi di crittografia gestite dal cliente (CMEK)

Per impostazione predefinita, Memorystore for Valkey cripta i contenuti inattivi dei clienti at rest. Memorystore for Valkey gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata crittografia predefinita di Google.

Se vuoi controllare le chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, incluso Memorystore for Valkey. 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 monitorare l'utilizzo delle chiavi, 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 chiavi CMEK, l'esperienza di accesso alle risorse Memorystore for Valkey è simile all'utilizzo della crittografia predefinita di Google. Per ulteriori informazioni sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

Chi dovrebbe utilizzare CMEK?

CMEK è destinato alle organizzazioni che dispongono di dati sensibili o regolamentati che devono essere criptati. Per ulteriori informazioni su se utilizzare CMEK per criptare questi dati, consulta Decidere se utilizzare CMEK.

Crittografia gestita da Google rispetto alla crittografia gestita dal cliente

La funzionalità CMEK ti consente di utilizzare le tue chiavi di crittografia per i dati at rest in Memorystore for Valkey. Per le istanze Memorystore for Valkey abilitate per CMEK, Google utilizza le tue chiavi per accedere a tutti i dati at rest.

Memorystore utilizza chiavi di crittografia dei dati (DEK) e chiavi di crittografia della chiave (KEK) gestite da Google per criptare i dati in Memorystore for Valkey. Esistono due livelli di crittografia:

  • Crittografia DEK:Memorystore utilizza le DEK per criptare i dati in Memorystore for Valkey.
  • Crittografia KEK:Memorystore utilizza le KEK per criptare le DEK.

L'istanza Memorystore for Valkey archivia la DEK criptata insieme ai dati criptati sul disco e Google gestisce la KEK di Google. La CMEK è la KEK che esegue il wrapping della DEK. CMEK ti consente di creare, disabilitare o eliminare, ruotare, e abilitare o ripristinare la KEK.

I seguenti diagrammi mostrano come funziona la crittografia dei dati at rest all'interno di un'istanza Memorystore for Valkey quando si utilizza la crittografia predefinita gestita da Google rispetto a CMEK.

Senza CMEK

I dati vengono caricati su Google, suddivisi in blocchi e ogni blocco viene criptato con una propria chiave di crittografia dei dati. Le chiavi di crittografia dei dati vengono sottoposte a wrapping utilizzando una chiave di crittografia della chiave. Con la crittografia Google predefinita, la chiave di crittografia della chiave viene recuperata dal keystore interno di Google. I blocchi criptati e le chiavi di crittografia con wrapping vengono distribuiti nell'infrastruttura di archiviazione di Google.

Con CMEK

I dati vengono caricati su Google, suddivisi in blocchi e ogni blocco viene criptato con una propria chiave di crittografia dei dati. Le chiavi di crittografia dei dati vengono sottoposte a wrapping utilizzando una chiave di crittografia della chiave. Con CMEK che utilizza Cloud KMS, la chiave di crittografia della chiave viene recuperata da Cloud KMS. I blocchi criptati e le chiavi di crittografia con wrapping vengono distribuiti nell'infrastruttura di archiviazione di Google.

Quando decripta i dati criptati con CMEK, Memorystore utilizza la KEK di Cloud Key Management Service per decriptare la DEK e la DEK non criptata per decriptare i dati at rest.

Blocco di dati criptato con DEK e archiviato con DEK sottoposta a wrapping. A Cloud KMS, che archivia la KEK, viene inviata una richiesta per decriptare la DEK. Cloud KMS restituisce la DEK decriptata.

Prezzi

Memorystore for Valkey fattura un'istanza abilitata per CMEK come qualsiasi altra istanza; non sono previsti costi aggiuntivi. Per ulteriori informazioni, consulta la pagina Prezzi di Memorystore for Valkey.

Utilizzi l'API Cloud KMS per gestire CMEK. Quando crei un'istanza Memorystore for Valkey con CMEK, Memorystore utilizza periodicamente la chiave 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 la pagina Prezzi di Cloud KMS.

Quali dati vengono criptati utilizzando CMEK?

CMEK cripta i seguenti tipi di dati dei clienti archiviati in uno 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:questa funzionalità protegge i dati salvando gli snapshot dei dati in uno spazio di archiviazione durevole.
    • Persistenza AOF:questa funzionalità dà la priorità alla durabilità dei dati. Archivia i dati in modo durevole registrando ogni comando di scrittura in un file di log denominato File di sola aggiunta (AOF). In caso di errore o riavvio del sistema, il server riproduce i comandi del file AOF in sequenza per ripristinare i dati.

Informazioni sugli account di servizio

Quando crei un'istanza con CMEK, devi concedere il ruolo cloudkms.cryptoKeyEncrypterDecrypter al account di servizio Memorystore for Valkey che ha 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 alla chiave da Cloud KMS.

Per istruzioni su come concedere questa autorizzazione al account di servizio, consulta Concedere al account di servizio Memorystore for Valkey l'accesso alla chiave.

Informazioni sulle chiavi

In Cloud KMS, devi creare un portachiavi con una chiave di crittografia che utilizza 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

Chiavi esterne

Puoi utilizzare Cloud External Key Manager (Cloud EKM) per criptare i dati utilizzando chiavi esterne che gestisci.Google Cloud

Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente. Se la chiave non è disponibile quando crei l'istanza, l'istanza non viene creata.

Per ulteriori considerazioni sull'utilizzo delle chiavi esterne, consulta Cloud External Key Manager.

Come rendere inaccessibili in modo permanente i dati criptati con CMEK?

Potresti trovarti in situazioni in cui vuoi rendere inaccessibili in modo permanente i dati criptati con CMEK. Per farlo, elimina la versione della chiave. Per ulteriori informazioni sull'eliminazione delle versioni della chiave, consulta Eliminare e ripristinare le versioni delle chiavi.

Comportamento di una versione della chiave CMEK

Questa sezione fornisce informazioni su cosa succede quando disabiliti, elimini, ruoti, abiliti e ripristini una versione della chiave.

Disabilitare o eliminare una versione della chiave CMEK

Se disabiliti o elimini la versione della chiave primaria di CMEK, per i backup e la persistenza si applicano le seguenti condizioni.

Backup

  • Non puoi creare backup on demand o automatici backups. Tuttavia, se abiliti una versione precedente della chiave, puoi accedere a tutti i backup creati utilizzando questa versione della chiave.
  • Non puoi aggiornare o riabilitare i backup automatici finché non abiliti o ripristini la versione della chiave primaria.

Persistenza

  • Se configuri l'istanza in modo che utilizzi la persistenza, Memorystore for Valkey disattiva la funzionalità di persistenza quando la versione della chiave non è più disponibile. Non ti verrà più addebitato alcun importo per questa funzionalità.
  • 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 riabilitare 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, per i backup e la persistenza si applicano le seguenti condizioni:

  • Puoi creare backup. Tuttavia, se un backup viene criptato con una versione precedente della chiave disabilitata o eliminata, il backup rimane inaccessibile.
  • Se abiliti la persistenza, questa funzionalità rimane abilitata. Se la versione precedente della chiave utilizzata nella persistenza è disabilitata o eliminata, allora Memorystore for Valkey esegue un aggiornamento simile a quello utilizzato nella manutenzione e ricripta i dati con la versione della chiave primaria.

Ruotare la versione della chiave primaria CMEK

Se ruoti la versione della chiave primaria di CMEK e crei una nuova versione della chiave primaria, per i backup e la persistenza si applicano le seguenti condizioni:

  • 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 il wrapping on demand dei dati at rest esistenti. 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, per i backup e la persistenza si applicano le seguenti condizioni:

Backup

Non puoi eseguire il rewrapping dei backup esistenti. Se la conformità richiede che tutti i dati vengano criptati con la chiave più recente, crea un backup che utilizzi questa chiave, quindi 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 KMS, puoi eseguire la manutenzione simulata sull'istanza. Al termine di questa operazione, Memorystore for Valkey può scrivere i dati di persistenza utilizzando la versione della chiave primaria aggiornata.

Sostituire una chiave KMS protetta

Se sostituisci una chiave KMS protetta con una chiave KMS diversa o con una nuova versione della chiave primaria, Memorystore for Valkey applica questa modifica solo alle operazioni future.

La sostituzione di una chiave KMS protetta influisce sulle risorse nei seguenti modi:

  • Backup: tutti i backup successivi vengono criptati utilizzando la nuova chiave KMS. I backup esistenti mantengono le chiavi originali.
  • Persistenza: la prossima volta che l'istanza viene riavviata o si verifica un evento di manutenzione, viene utilizzata la nuova chiave KMS.
  • 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 at rest.

Abilitare o ripristinare la versione della chiave primaria CMEK

Se abiliti o ripristini la versione della chiave primaria di CMEK, per i backup e la persistenza si applicano le seguenti condizioni:

  • Puoi creare di nuovo backup on demand e automatici.
  • Memorystore for Valkey esegue un aggiornamento simile a quello utilizzato nella manutenzione e riabilita la persistenza.

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.

Informazioni sui vincoli dei criteri dell'organizzazione CMEK

Memorystore for Valkey supporta i vincoli dei criteri dell'organizzazione per CMEK. Utilizzando questi vincoli, puoi applicare la protezione CMEK per le tue istanze e limitare le chiavi Cloud KMS che puoi utilizzare per questa protezione.

Puoi configurare i seguenti vincoli dei criteri dell'organizzazione:

  • constraints/gcp.restrictNonCmekServices: utilizza questo vincolo per applicare la protezione CMEK per le tue istanze. Se l'API Memorystore for Valkey si trova nell'elenco dei servizi dei criteri Deny 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.