Questa pagina descrive come funzionano le 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. Dopo aver aggiunto le chiavi di crittografia gestite dal cliente, ogni volta che viene effettuata una chiamata API, Memorystore utilizza la tua chiave per accedere ai dati.
Memorystore utilizza chiavi di crittografia dei dati (DEK) e chiavi di crittografia della chiave (KEK) gestite da Google per criptare Memorystore for Redis. Esistono due livelli di crittografia:
- La DEK cripta i dati.
- La KEK cripta la DEK.
L'istanza Memorystore 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. Le chiavi di crittografia gestite dal cliente ti consentono di creare, revocare ed eliminare la KEK.
Le chiavi di crittografia gestite dal cliente vengono gestite tramite l'API Cloud Key Management Service.
I diagrammi seguenti mostrano come funziona la crittografia dei dati at-rest all'interno di un'istanza Memorystore quando si utilizza la crittografia predefinita di Google rispetto alle chiavi di crittografia gestite dal cliente.
Senza CMEK
Con CMEK
Quando decripta i dati sottoposti a wrapping con chiavi di crittografia gestite dal cliente, Memorystore utilizza la KEK per decriptare la DEK e la DEK non criptata per decriptare i dati inattivi.
Quando Memorystore interagisce con le chiavi CMEK?
Operazione | Descrizione |
---|---|
Creazione dell'istanza | Durante la creazione dell'istanza, configuri l'istanza in modo che utilizzi chiavi di crittografia gestite dal cliente. |
Aggiornamento dell'istanza | Memorystore controlla la chiave CMEK durante gli aggiornamenti di un'istanza abilitata per 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 al account di servizio Memorystore 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 account di servizio, vedi Concedere l'accesso del account di servizio alla chiave.
Informazioni sulle chiavi
In Cloud KMS, devi creare un portachiavi con una chiave di crittografia che utilizza un algoritmo di crittografia/decrittografia simmetrica. Quando crei una nuova istanza Memorystore, selezioni questa chiave per crittografare l'istanza. Puoi creare un progetto per le chiavi e le istanze Memorystore oppure progetti diversi per ciascuno.
La chiave di crittografia gestita dal cliente è disponibile in tutte le località delle istanze Memorystore. La regione della chiave e del portachiavi deve essere impostata sulla stessa regione dell'istanza Memorystore for Redis. Una chiave multiregionale o globale non funziona. Una richiesta di creazione di un'istanza Memorystore non va a buon fine se le regioni non corrispondono.
CMEK per Memorystore è compatibile con Cloud External Key Manager (Cloud EKM).
Le chiavi di crittografia gestite dal cliente utilizzano il seguente formato:
projects/[CMEK_ENABLED_PROJECT]/locations/[REGION]/keyRings/[RING_NAME]/cryptoKeys/[KEYNAME]
Se Memorystore non riesce ad accedere a una versione della chiave attualmente in uso (ad esempio se la disabiliti), arresta l'istanza senza indebito ritardo. Nella console Google Cloud , un'istanza sospesa mostra un suggerimento con un punto esclamativo rosso nella pagina Istanze. Quando passi il mouse sopra la descrizione comando, viene visualizzato il messaggio "Nessuno stato". Una volta che la chiave torna accessibile, Memorystore riprende automaticamente l'istanza.
Come faccio a rendere 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 di crittografia gestita dal cliente. Non puoi eliminare il portachiavi o la chiave, ma puoi eliminare le versioni della chiave.
Come faccio a esportare e importare dati da e verso un'istanza abilitata a CMEK?
Se vuoi che i tuoi dati rimangano criptati con una chiave gestita dal cliente durante un'importazione o un'esportazione, devi impostare una chiave di crittografia gestita dal cliente nel bucket Cloud Storage prima di esportare i dati.
Non esistono requisiti o limitazioni speciali per l'importazione di dati in una nuova istanza Memorystore quando i dati sono stati archiviati in precedenza in un'istanza Memorystore abilitata a CMEK.
Comportamento di eliminazione/disabilitazione di una versione della chiave CMEK
Se vuoi assicurarti che non ci sia accesso ai dati della tua istanza, puoi farlo disattivando la versione della chiave primaria della tua chiave di crittografia gestita dal cliente. In questo modo, l'istanza viene chiusa senza ritardi ingiustificati. Inoltre, Memorystore arresta un'istanza senza indebito ritardo se una chiave di crittografia gestita dal cliente in uso viene disattivata/eliminata. Ciò include qualsiasi versione precedente della chiave ancora in uso da un'istanza Memorystore. Puoi utilizzare gcloud o la console Google Cloud per verificare se la tua istanza è sospesa:
Per la console Google Cloud , se la tua istanza è sospesa, vedrai una notifica tooltip rossa accanto all'istanza nella pagina Istanze di Memorystore for Redis. Quando passi il cursore sopra, la descrizione comando mostra "Nessuno stato".
Per gcloud, se esegui gcloud redis instances describe
e non
visualizzi state: READY
, state: REPAIRING
o qualsiasi altro stato nei metadati
dell'istanza, significa che l'istanza è sospesa.
Riattivazione/ripristino di una versione della chiave CMEK in uso
Un'istanza viene visualizzata dopo aver riattivato/ripristinato una versione della chiave CMEK in uso.
Limitazioni
Quando utilizzi le chiavi di crittografia gestite dal cliente con Memorystore, si applicano le seguenti limitazioni:
- Non puoi abilitare le chiavi di crittografia gestite dal cliente su un'istanza Memorystore esistente.
- La regione per la chiave, il keyring e l'istanza Memorystore deve essere la stessa.
- Devi utilizzare l'algoritmo di crittografia/decrittografia 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 possono essere utilizzati per la protezione CMEK.
I criteri possono limitare le chiavi Cloud KMS che possono essere utilizzate per la protezione CMEK.
Quando l'API Memorystore for Redis si trova nell'elenco dei servizi del criterio
Deny
nel vincoloconstraints/gcp.restrictNonCmekServices
, la creazione di Memorystore for Redis non va a buon fine per le istanze non protette da CMEK.Quando
constraints/gcp.restrictCmekCryptoKeyProjects
è configurato, Memorystore for Redis crea istanze protette da CMEK che vengono crittografate 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.