Informazioni sulle chiavi di crittografia gestite dal cliente (CMEK)

Questa pagina descrive come funzionano le chiavi di crittografia gestite dal cliente (CMEK) con Memorystore for Redis Cluster. Per utilizzare subito questa funzionalità, consulta Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK).

Chi dovrebbe utilizzare CMEK?

CMEK è destinato alle organizzazioni che dispongono di dati sensibili o regolamentati che richiedono la gestione delle proprie chiavi di crittografia.

Crittografia gestita da Google e crittografia gestita dal cliente

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

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 Redis Cluster. Esistono due livelli di crittografia:

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

L'istanza Memorystore for Redis Cluster archivia la DEK criptata insieme ai dati criptati sul disco e Google gestisce la KEK di Google. Con CMEK, crei una chiave che esegue il wrapping della KEK di Google. CMEK ti consente di creare, disattivare o eliminare, ruotare e attivare o ripristinare la KEK.

I seguenti diagrammi mostrano come funziona la crittografia dei dati inattivi all'interno di un'istanza Memorystore for Redis Cluster quando si utilizza la crittografia predefinita gestita da Google rispetto alla 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. Una richiesta di annullamento del wrapping della DEK viene inviata all'archivio KMS, che memorizza la KEK non esportabile. KMS Storage restituisce la DEK di cui è stato annullato il wrapping.

Prezzi

Memorystore for Redis Cluster fattura un cluster abilitato a CMEK come qualsiasi altro cluster; non sono previsti costi aggiuntivi. Per maggiori informazioni, consulta la pagina Prezzi di Memorystore for Redis Cluster.

Per gestire le chiavi CMEK, utilizzi l'API Cloud KMS. Quando crei un'istanza Memorystore for Redis Cluster con CMEK, Memorystore utilizza la chiave periodicamente per criptare i dati per garantire che le autorizzazioni per la chiave siano corrette e che la chiave sia abilitata.

Cloud KMS ti addebita il costo della chiave e delle operazioni di crittografia e decrittografia quando Memorystore for Redis Cluster utilizza la chiave. Per maggiori 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 determinato momento, nonché di esportarli e analizzarli. I backup sono utili anche per scenari di ripristino di emergenza, migrazione dei dati, condivisione dei dati e conformità.
  • Persistenza: Memorystore for Redis Cluster supporta due tipi di persistenza:
    • Persistenza RDB:la funzionalità del database Redis (RDB) protegge i tuoi dati salvando snapshot dei dati in uno spazio di archiviazione durevole.
    • Persistenza AOF:questa funzionalità dà la priorità alla durabilità dei dati. Memorizza i dati in modo duraturo registrando ogni comando di scrittura in un file di log chiamato Append-Only File (AOF). Se si verifica un errore o un 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 Redis Cluster con il seguente formato:

  • service-[PROJECT_NUMBER]@cloud-redis.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 service account, vedi Concedere all'account di servizio Memorystore for Redis Cluster 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 una nuova istanza di Memorystore for Redis Cluster, seleziona questa chiave per criptare l'istanza. Puoi creare un progetto per entrambe le chiavi e le istanze oppure progetti diversi per ciascuna.

CMEK è disponibile in tutte le località delle istanze Memorystore for Redis Cluster. Devi impostare la regione della chiave e del portachiavi sulla stessa regione dell'istanza. Una chiave multiregionale o globale non funziona. Se le regioni non corrispondono, una richiesta di creazione di un'istanza non va a buon fine.

CMEK utilizza il seguente formato:

projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[KEY_RING_NAME]/cryptoKeys/[KEY_NAME]

Come si rendono inaccessibili in modo permanente i dati criptati con CMEK?

Potresti trovarti in situazioni in cui vuoi eliminare definitivamente i dati criptati con CMEK. Per farlo, distruggi la versione della chiave. Non puoi eliminare il portachiavi o la chiave, ma puoi eliminare le versioni della chiave.

Comportamento di una versione della chiave CMEK

Questa sezione fornisce informazioni su cosa succede quando disattivi, elimini, ruoti, attivi 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, si applicano le seguenti condizioni per i backup e la persistenza.

Backup

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

Persistenza

  • Se attivi la persistenza, Memorystore for Redis Cluster esegue un aggiornamento simile a quello utilizzato nella manutenzione e disattiva la funzionalità di persistenza. Non ti viene più addebitato alcun costo per questa funzionalità.
  • Memorystore for Redis Cluster non scarica i nuovi dati nello spazio di archiviazione permanente utilizzando CMEK.
  • Memorystore for Redis Cluster non può leggere i dati esistenti presenti nello spazio di archiviazione permanente.
  • Non puoi aggiornare o riattivare la persistenza finché non attivi 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 disattivata o eliminata, il backup rimane inaccessibile.
  • Se abiliti la persistenza, questa funzionalità rimane attiva. Se la versione precedente della chiave utilizzata nella persistenza viene disabilitata o eliminata, Memorystore for Redis Cluster esegue un aggiornamento simile a quello utilizzato nella manutenzione e cripta nuovamente i dati con la versione della chiave primaria.

Ruota la versione della chiave CMEK primaria

Se esegui la rotazione della 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:

  • L'ultima versione della chiave primaria di CMEK cripta i nuovi backup.
  • Per i backup esistenti, non viene eseguita alcuna ri-crittografia.
  • Per la persistenza, le VM non intraprendono alcuna azione. Le VM continuano a utilizzare la versione precedente della chiave fino al successivo evento di manutenzione.

Attivare o ripristinare la versione della chiave CMEK primaria

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

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

Limitazioni

Quando utilizzi CMEK con Memorystore for Redis Cluster, si applicano le seguenti limitazioni:

  • Non puoi abilitare CMEK in un deployment Memorystore for Redis Cluster esistente.
  • La regione per la chiave, il keyring e l'istanza deve essere la stessa.
  • Devi utilizzare l'algoritmo di crittografia simmetrica per la chiave.
  • Le tariffe di crittografia e decrittografia di Cloud KMS sono soggette a una quota.