Chiavi di crittografia gestite dal cliente (CMEK)
Per impostazione predefinita, tutti i dati at-rest in Firestore sono criptati utilizzando la crittografia predefinita di Google. Firestore gestisce gestisce questa crittografia per conto tuo senza che sia necessario alcun intervento aggiuntivo da parte tua.
Se hai requisiti normativi o di conformità specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) Firestore Invece di lasciare che sia Google a gestire le chiavi di crittografia che proteggono dati, il database Firestore è protetto da una chiave controllare e gestire in Cloud Key Management Service (Cloud KMS).
Questa pagina descrive CMEK per Firestore. Per ulteriori informazioni sulle CMEK in generale, incluso quando e perché attivarle, consulta la documentazione di Cloud KMS. Per istruzioni su come eseguire attività relative a CMEK con Firestore, consulta Utilizzare CMEK.
Funzionalità
- Controllo dei dati: CMEK consente di gestire l'accesso alla chiave KMS. Puoi girare, disattivare ed eliminare la chiave utilizzata per criptare i dati at-rest nel tuo database Firestore.
- Rendimento: CMEK non influisce sul contratto di servizio di Firestore.
- Verificabilità: se abilitare l'audit logging per Cloud KMS, tutte le operazioni sulla chiave sono registrate e sono visibili in Cloud Logging.
- Limitazioni dei criteri dell'organizzazione: puoi utilizzare limitazioni dei criteri dell'organizzazione CMEK per specificare i requisiti di conformità alla crittografia per i database Firestore nella tua organizzazione.
Prezzi
Cloud KMS addebita il costo della chiave e di eventuali operazioni di crittografia eseguite utilizzando la chiave. Per i dettagli, consulta la pagina Prezzi di Cloud KMS.
Ti vengono addebitati i costi dell'operazione quando Firestore chiede alla chiave Cloud KMS di eseguire un'operazione di crittografia o decrittografia. La crittografia/decrittografia non è sincronizzata con la tua richiesta. Viene effettuata ogni 5 di minuti eseguendo il polling di Cloud KMS. I costi sono generalmente bassi, dato che numero previsto di operazioni crittografiche generate da Firestore. Costi per Cloud Audit Logs rappresentano una spesa aggiuntiva, ma si prevede che generalmente basso, dato il numero previsto di operazioni crittografiche.
Non sono previsti costi aggiuntivi per l'utilizzo di Firestore per i database protetti da CMEK e continuano a essere applicati i prezzi di Firestore.
Se revochi la chiave di un database, il costo dello spazio di archiviazione verrà addebitato in base alle dimensioni dell'ultimo giorno in cui la chiave era disponibile. Continuerai a incorrere i costi di archiviazione a quelle dimensioni del database fino a quando il database non viene eliminato o torna disponibile.
Che cosa viene protetto con CMEK
Quando crei un database Firestore protetto da CMEK, la chiave Cloud KMS viene utilizzata per proteggere i dati at-rest. Sono inclusi i dati archiviati su disco o flash. Sono previste alcune eccezioni. I seguenti tipi di dati vengono criptati con la crittografia predefinita di Google e non con la chiave CMEK:
- Dati in transito o in memoria
- Metadati del database
Come viene gestito uno stato di una chiave non disponibile
Le operazioni di crittografia e decrittografia non vengono eseguite per ogni richiesta di dati. Al contrario, il sistema Firestore esegue un polling di Cloud Key Management Service ogni 5 minuti per verificare se la chiave è ancora disponibile ed esegue operazioni di crittografia e decrittografia se la chiave è disponibile. Se il sistema rileva che la chiave non è disponibile, entro 10
minuti, per qualsiasi chiamata successiva al database Firestore,
incluse letture, scritture e query, restituisce un errore FAILED_PRECONDITION
con
il messaggio The customer-managed encryption key required by the requested
resource is not accessible
. Se il database ha criteri di durata (TTL) e se i tempi di scadenza vengono superati mentre la chiave non è disponibile, l'eliminazione dei dati in base al TTL verrà ritardata fino al reintegro della chiave. Se nel database sono in corso operazioni di lunga durata, queste saranno interessate nel seguente modo:
- Le operazioni di importazione o esportazione dei dati non faranno più progressi e verranno contrassegnate come
Failed
. Le operazioni non riuscite non verranno rieseguite se la chiave viene reintegrata. - Le operazioni di costruzione dell'indice e le operazioni di attivazione di nuovi criteri TTL non faranno più progressi. Le operazioni interrotte un nuovo tentativo se la chiave viene reintegrata.
Le chiavi sono considerate non disponibili in tutte le situazioni che non consentono intenzionalmente a Firestore di accedere alla chiave. tra cui:
- Disattivando o eliminando la versione della chiave in uso. Fai attenzione quando elimini una versione della chiave, perché questa operazione può causare una perdita di dati non recuperabile.
- Rimuovi l'autorizzazione per accedere alla chiave dall'account di servizio Firestore.
Se la chiave viene reintegrata, l'operazione di polling rileva che la chiave è nuovamente disponibile. L'accesso viene riattivato, in genere entro pochi minuti, ma in rari casi possono essere necessarie fino a alcune ore. Alcune operazioni su Cloud KMS di chiavi, come la disattivazione o l'eliminazione di una chiave, possono richiedere fino a 3 ore per la propagazione. Firestore non rileva alcuna modifica finché non vengono applicate in Cloud KMS.
Il reintegro di una chiave comporta quanto segue, a seconda della situazione:
- Riabilitare una versione della chiave disattivata.
- Ripristinare la versione di una chiave eliminata. Prima di essere eliminata definitivamente, una versione della chiave viene pianificata per l'eliminazione. Puoi ripristinare una chiave solo durante il periodo in cui è pianificata l'eliminazione di una versione della chiave. Non puoi ripristinare una chiave che è già stata distrutte definitivamente.
- Riautorizzare il Autorizzazione dell'agente di servizio Firestore per accedere alla chiave.
Considerazioni chiave esterne
Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulle la disponibilità della chiave gestita esternamente. e il sistema partner di Google.
Se una chiave gestita esternamente non è disponibile, Firestore continua a supportare le operazioni complete del database utilizzando una versione memorizzata nella cache della chiave per un massimo di un'ora.
Dopo un'ora, se Firestore non riesce ancora a connettersi a Cloud KMS, inizia a mettere offline il database come misura di protezione. Le chiamate al database avranno esito negativo con un FAILED_PRECONDITION
che include ulteriori dettagli.
Per ulteriori informazioni, consulta la documentazione di Cloud External Key Manager considerazioni sull'uso di chiavi esterne.
Limitazioni
- La modifica di una chiave per un database protetto da CMEK non è supportata. La rotazione, l'attivazione e la disattivazione delle chiavi sono supportate.
- Le pianificazioni dei backup e le operazioni di ripristino non sono supportate per i database protetti da CMEK. Puoi utilizzare il recupero point-in-time (PITR) per il ripristino di emergenza.
- I database protetti da CMEK supportano Key Visualizer solo per i dati delle entità e per i dati dei documenti, non per i dati dell'indice.
- Non puoi abilitare CMEK sui database esistenti. Puoi attivare CMEK solo su nuovi database e devi farlo quando crei il database. A eseguire la migrazione dei dati da un database non CMEK esistente a un database protetto da CMEK, esporta i dati e importali in un nuovo database protetto da CMEK.
- Il monitoraggio delle chiavi non è supportato per il database protetto da CMEK.
- Durante l'anteprima, Firestore supporterà un numero limitato di database protetti da CMEK.