Questa pagina descrive come funzionano le chiavi di crittografia gestite dal cliente (CMEK) Memorystore for Redis. Per utilizzare subito questa funzionalità, consulta Utilizzo delle chiavi di crittografia gestite dal cliente (CMEK).
CMEK è adatto a me?
Le chiavi di crittografia gestite dal cliente sono destinate alle organizzazioni che hanno dati sensibili o regolamentati che richiedono la gestione delle proprie chiavi di crittografia.
Confronto tra crittografia gestita da Google e crittografia gestita dal cliente
La funzionalità CMEK ti consente di utilizzare le tue chiavi di crittografia per i dati at-rest Memorystore for Redis. Dopo aver aggiunto le chiavi di crittografia gestite dal cliente, ogni volta che viene eseguita una chiamata API, Memorystore utilizza la tua chiave per accedere ai dati.
Memorystore utilizza chiavi di crittografia dei dati (DEK) e chiavi gestite da Google (KEK) 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 nel PD e Google gestisce la KEK di Google. Con le chiavi di crittografia gestite dal cliente, crei una chiave che avvolge la KEK di Google. Le chiavi di crittografia gestite dal cliente 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 riportati di seguito mostrano il funzionamento della 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 si decriptano i dati sottoposti a wrapping con chiavi di crittografia gestite dal cliente, Memorystore utilizza la KEK per decriptare la DEK e le chiavi non criptate DEK per decriptare i dati at-rest.
Quando Memorystore interagisce con le chiavi CMEK?
Operazione | Descrizione |
---|---|
Creazione dell'istanza | Durante la creazione dell'istanza, la configuri in modo che utilizzi le chiavi di crittografia gestite dal cliente. |
Aggiornamento dell'istanza | Memorystore controlla la chiave CMEK durante gli aggiornamenti di un'istanza con CMEK abilitato. |
Quali dati vengono criptati utilizzando CMEK?
CMEK cripta i seguenti tipi di dati:
- Dati dei clienti archiviati in uno spazio di archiviazione permanente.
- Metadati relativi a funzionalità di sicurezza come AUTH e la crittografia dei dati in transito.
Informazioni sugli account di servizio
Quando crei un'istanza con CMEK, devi concedere il ruolo cloudkms.cryptoKeyEncrypterDecrypter all'account di servizio Memorystore che ha il seguente formato:
service-[PROJECT_NUMBER]@cloud-redis.iam.gserviceaccount.com
La concessione di questa autorizzazione consente all'account di servizio di richiedere l'accesso alle chiavi da Cloud KMS.
Per istruzioni su come concedere questa autorizzazione all'account di servizio, consulta Concedere all'account di servizio l'accesso alla chiave.
Informazioni sulle chiavi
In Cloud KMS, devi creare un portachiavi con una chiave di crittografia che utilizzi un algoritmo di crittografia/decrittografia simmetrica. Quando crei una nuova istanza Memorystore, seleziona questa chiave per criptarla. Puoi creare un progetto sia per le chiavi di Memorystore o di progetti diversi per ciascuno di essi.
CMEK è 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 al lavoro. 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 è in grado di accedere a nessuna versione della chiave attualmente in uso utilizzata (ad esempio se disabiliti la versione della chiave), Memorystore si arresta l'istanza senza ritardi ingiustificati. Nella console Google Cloud, sospesa mostra una descrizione comando con un punto esclamativo rosso in Istanze . Quando passi il mouse sopra la descrizione comando, viene visualizzato il messaggio "Nessun stato". Una volta che la chiave diventa di nuovo accessibile, Memorystore riprende automaticamente l'istanza.
Come faccio a rendere i dati criptati con CMEK definitivamente inaccessibili?
Potresti voler eliminare definitivamente i dati criptati con CMEK. Per farlo, devi eliminare la versione della chiave di crittografia gestita dal cliente. Non puoi eliminare il keyring o la chiave, ma puoi eliminare le versioni della chiave chiave.
Come faccio a esportare e importare dati da e verso un'istanza con CMEK abilitato?
Se vuoi che i tuoi dati rimangano criptati con una chiave gestita dal cliente durante l'importazione o l'esportazione, devi impostare una chiave di crittografia gestita dal cliente sul bucket Cloud Storage esportando i dati al suo interno.
Non sono previsti requisiti o limitazioni speciali per l'importazione dei dati in una nuova istanza Memorystore se i dati sono stati precedentemente archiviati in un'istanza Memorystore abilitata per CMEK.
Comportamento di distruzione/disattivazione di una versione della chiave CMEK
Se vuoi assicurarti che non sia possibile accedere ai dati dell'istanza, puoi farlo la disabilitazione della versione della chiave primaria della chiave di crittografia gestita dal cliente. Attività quindi arresta l'istanza senza ritardi ingiustificati. Inoltre, Memorystore arresta un'istanza senza ritardi ingiustificati la chiave di crittografia gestita dal cliente in uso è disabilitata/eliminata. Ciò include qualsiasi la versione precedente della chiave è ancora in uso da un'istanza Memorystore. Puoi utilizzare gcloud o la console Google Cloud per verificare se l'istanza è sospesa:
Per la console Google Cloud, se l'istanza è sospesa, viene visualizzata una notifica di tooltip rossa accanto all'istanza nella pagina Istanze di Memorystore for Redis. Quando passi il cursore sopra la descrizione comando, viene visualizzato il messaggio "Nessun stato".
Per gcloud, se esegui gcloud beta redis instances describe
e non vedi 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 de nascosta dopo aver riabilitato/ripristinato una versione della chiave CMEK in uso.
Limitazioni
Quando si utilizzano le chiavi di crittografia gestite dal cliente si applicano le seguenti limitazioni con Memorystore:
- Non puoi abilitare le chiavi di crittografia gestite dal cliente su un modello Istanza Memorystore.
- La regione per la chiave, il portachiavi e l'istanza Memorystore deve essere uguale per tutte.
- 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.
Criteri 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 delle chiavi CMEK.
Se l'API Memorystore for Redis è inclusa nell'elenco dei criteri
Deny
dei servizi nella vincoloconstraints/gcp.restrictNonCmekServices
, Memorystore for Redis per le istanze non protette da CMEK.Quando
constraints/gcp.restrictCmekCryptoKeyProjects
è configurato, Memorystore for Redis crea istanze protette da CMEK che vengono criptate utilizzando una chiave di un progetto, di una cartella o di un'organizzazione consentita.
Per saperne di più sulla configurazione dei criteri dell'organizzazione CMEK, consulta Criteri dell'organizzazione CMEK.