Informazioni sulle chiavi di crittografia gestite dal cliente (CMEK)

Questa pagina descrive il funzionamento delle chiavi di crittografia gestite dal cliente (CMEK) con Memorystore for Redis. Per iniziare a utilizzare questa funzionalità, consulta Utilizzare le chiavi di crittografia gestite dal cliente (CMEK).

Per impostazione predefinita, Memorystore for Redis cripta i contenuti inattivi dei clienti. Memorystore for Redis 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 servizi integrati con CMEK, tra cui Memorystore for Redis. 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 chiavi CMEK, l'esperienza di accesso alle risorse Memorystore for Redis è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).

Chi dovrebbe utilizzare CMEK?

Le chiavi CMEK sono destinate alle organizzazioni che dispongono di dati sensibili o regolamentati che devono essere criptati. Per ulteriori informazioni sull'utilizzo di CMEK per criptare questi dati, consulta Decidere se utilizzare CMEK.

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. Per le istanze Memorystore for Redis 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. Esistono due livelli di crittografia:

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

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

Gestisci le chiavi CMEK utilizzando l'API Cloud Key Management Service.

I seguenti diagrammi mostrano come funziona la crittografia dei dati inattivi all'interno di un'istanza Memorystore for Redis 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 sottoposti a wrapping 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 per decriptare la 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 fattura un'istanza abilitata a CMEK come qualsiasi altra istanza, senza costi aggiuntivi. Per ulteriori informazioni, consulta la pagina Prezzi di Memorystore for Redis.

Per gestire le chiavi CMEK, utilizzi l'API Cloud KMS. Quando crei un'istanza Memorystore for Redis con CMEK, Memorystore utilizza la chiave periodicamente per criptare i dati.

Cloud KMS ti addebita il costo della chiave e delle operazioni di crittografia e decrittografia quando Memorystore for Redis utilizza la chiave. Per maggiori informazioni, consulta la pagina Prezzi di Cloud KMS.

Quando Memorystore interagisce con CMEK?

Operazione Descrizione
Creazione dell'istanza Quando crei un'istanza, la configuri in modo che utilizzi CMEK.
Aggiornamento dell'istanza Durante gli aggiornamenti a un'istanza abilitata per CMEK, Memorystore for Redis controlla la CMEK.

Quali dati vengono criptati utilizzando CMEK?

CMEK cripta i seguenti tipi di dati:

  • I dati dei clienti archiviati nello spazio di archiviazione permanente.
  • Metadati relativi a funzionalità di sicurezza come AUTH e crittografia in transito.

Informazioni sugli account di servizio

Quando crei un'istanza con CMEK, devi concedere il ruolo cloudkms.cryptoKeyEncrypterDecrypter all'account di servizio Memorystore for Redis che ha 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 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 Redis, selezioni questa chiave per criptare l'istanza. Puoi creare un progetto per le chiavi e le istanze oppure progetti diversi per ciascuno.

La chiave CMEK è disponibile in tutte le località delle istanze Memorystore for Redis. Devi creare il portachiavi e la chiave nella stessa regione in cui vuoi creare l'istanza. Una chiave per una regione multiregionale o globale non funziona. 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

Se Memorystore for Redis non riesce ad accedere a nessuna versione della chiave in uso (ad esempio, se disattivi tutte le versioni della chiave), Memorystore for Redis arresta l'istanza. Nella console Google Cloud , un'istanza sospesa mostra un tooltip con un punto esclamativo rosso nella pagina Istanze. Se passi il mouse sopra la descrizione comando, viene visualizzato lo stato No state. Una volta che la chiave diventa accessibile, Memorystore for Redis riprende automaticamente l'istanza.

Chiavi esterne

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

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, quest'ultima non viene creata.

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

Come si rendono 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, distruggi la versione della chiave. Per ulteriori informazioni sull'eliminazione delle versioni della chiave, consulta Eliminare e ripristinare le versioni delle chiavi.

Come si importano o esportano i dati per un'istanza abilitata per CMEK?

Se vuoi che i tuoi dati rimangano criptati con una CMEK quando li esporti, devi impostare una CMEK sul bucket Cloud Storage prima di esportarvi i dati.

Se i tuoi dati sono archiviati in un'istanza abilitata per CMEK, non esistono requisiti o limitazioni speciali per l'importazione dei dati in una nuova istanza.

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 vuoi assicurarti che non ci sia accesso ai dati della tua istanza, disattiva la versione della chiave primaria di CMEK. L'istanza viene arrestata. Inoltre, se una chiave CMEK in uso viene disattivata o eliminata, Memorystore for Redis arresta l'istanza. Sono incluse le versioni precedenti della chiave utilizzate dall'istanza.

Per verificare se Memorystore for Redis sospende l'istanza, utilizza una delle seguenti interfacce:

  • ConsoleGoogle Cloud : nella pagina Istanze, viene visualizzata una descrizione comando con un punto esclamativo rosso accanto all'istanza. Se passi il mouse sopra la descrizione comando, viene visualizzato lo stato No state.
  • gcloud CLI: utilizza il comando gcloud redis instances describe. Verifica di non visualizzare state: READY, state: REPAIRING o qualsiasi altro stato nei metadati dell'istanza.

Attivare o ripristinare la versione della chiave CMEK primaria

Se attivi o ripristini la versione della chiave primaria di CMEK, Memorystore for Redis non nasconde più l'istanza.

Limitazioni

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

  • Non puoi abilitare CMEK su un'istanza Memorystore for Redis esistente.
  • La regione della chiave, del keyring e dell'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.

Policy dell'organizzazione CMEK

Memorystore for Redis supporta i vincoli dei criteri dell'organizzazione che puoi utilizzare per la protezione CMEK.

I criteri possono limitare le chiavi Cloud KMS che possono essere utilizzate per la protezione CMEK.

  • Se l'API Memorystore for Redis si trova nell'elenco dei servizi del criterio Deny per il vincolo constraints/gcp.restrictNonCmekServices, non puoi creare istanze non protette da CMEK.

  • Se configuri il vincolo constraints/gcp.restrictCmekCryptoKeyProjects, Memorystore for Redis crea istanze protette da CMEK criptate utilizzando una chiave di un progetto, una cartella o un'organizzazione consentiti.

Per saperne di più sulla configurazione delle policy dell'organizzazione CMEK, consulta la pagina Policy dell'organizzazione CMEK.