Chiavi di crittografia gestite dal cliente (CMEK)

Per impostazione predefinita, tutti i dati inattivi in Firestore in modalità Datastore sono criptati utilizzando la crittografia predefinita di Google. La modalità Datastore gestisce questa crittografia per conto tuo senza che tu debba fare altro.

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) per la modalità Datastore. Invece di Google, che gestisce le chiavi di crittografia che proteggono i tuoi dati, il tuo database in modalità Datastore è protetto utilizzando una chiave che controlli e gestisci in Cloud Key Management Service (Cloud KMS).

Questa pagina descrive CMEK per la modalità Datastore. Per saperne di più sulle CMEK in generale, incluso quando e perché attivarle, consulta la seguente documentazione di Cloud KMS:

Per istruzioni su come eseguire attività correlate a CMEK con la modalità Datastore, vedi Utilizzare CMEK.

Funzionalità

  • Controllo dei dati: CMEK ti consente di gestire la chiave KMS. Puoi ruotare, disattivare ed eliminare la chiave utilizzata per criptare i dati at-rest nel database in modalità Datastore.
  • Rendimento: CMEK non influisce sul contratto di servizio di Firestore.
  • Auditabilità: se attivi la registrazione degli audit log per Cloud KMS, tutte le operazioni sulla chiave vengono registrate e sono visualizzabili in Cloud Logging.
  • Vincoli dei criteri dell'organizzazione: puoi utilizzare i vincoli dei criteri dell'organizzazione CMEK per specificare i requisiti di conformità della crittografia per i database in modalità Datastore nella tua organizzazione.

Prezzi

Cloud KMS addebita il costo della chiave e di tutte le operazioni di crittografia eseguite utilizzando quella chiave. Per ulteriori informazioni, consulta i prezzi di Cloud KMS.

I costi dell'operazione ti vengono addebitati quando la modalità Datastore chiede alla chiave Cloud KMS di eseguire un'operazione di crittografia o decrittografia. L'operazione di crittografia/decrittografia tramite la chiave gestita dal cliente viene eseguita ogni 5 minuti e non è sincronizzata con le richieste del database. I costi sono generalmente bassi, dato il numero previsto di operazioni di crittografia generate dalla modalità Datastore. I costi di Cloud Audit Logs sono una spesa aggiuntiva, ma dovrebbero essere generalmente bassi, dato il numero previsto di operazioni crittografiche.

Non sono previsti costi aggiuntivi per la modalità Datastore per l'utilizzo del database protetto da CMEK e continuano ad applicarsi i prezzi della modalità Datastore.

Se revochi la chiave di un database, il costo di archiviazione verrà addebitato in base alle dimensioni dell'ultimo giorno in cui la chiave era disponibile. Continuerai a sostenere i costi di archiviazione in base alle dimensioni del database finché il database non viene eliminato o la chiave non torna disponibile.

Cosa viene protetto con CMEK

Quando crei un database protetto da CMEK in modalità Datastore, la chiave Cloud KMS viene utilizzata per proteggere i dati at-rest. Sono inclusi i dati che memorizzi su un disco o un'unità flash, inclusi indici e backup. Sono previste alcune eccezioni. I seguenti tipi di dati sono 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 della chiave non disponibile

Le operazioni di crittografia e decriptazione non vengono eseguite a ogni richiesta di dati. Il sistema Firestore esegue il polling di Cloud KMS ogni 5 minuti per verificare se la chiave è ancora disponibile e poi esegue le operazioni di crittografia e decrittografia se la chiave è disponibile.

Se il sistema rileva che la chiave non è disponibile, entro 10 minuti tutte le chiamate successive al database Firestore, incluse letture, scritture e query, restituiscono 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 a lunga esecuzione, queste verranno interessate come segue:

  • Le operazioni di importazione o esportazione dei dati smetteranno di avanzare e verranno contrassegnate come Failed. Le operazioni non riuscite non verranno riprovate se la chiave viene reintegrata.
  • Le operazioni di creazione dell'indice e le operazioni di attivazione di nuove norme TTL non verranno più eseguite. Le operazioni interrotte verranno riprovate se la chiave viene reintegrata.

Le chiavi sono considerate non disponibili in qualsiasi situazione che impedisca intenzionalmente a Firestore di accedere alla chiave. È incluso quanto segue: