Chiavi di crittografia gestite dal cliente (CMEK)

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

Se hai requisiti di conformità o normativi specifici relativi alle chiavi che proteggono i tuoi dati, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) per Cloud Firestore con compatibilità MongoDB. Invece di Google, che gestisce le chiavi di crittografia che proteggono i tuoi dati, il tuo database Cloud Firestore con compatibilità MongoDB è protetto utilizzando una chiave che controlli e gestisci in Cloud Key Management Service (Cloud KMS).

Questa pagina descrive CMEK per Cloud Firestore con compatibilità MongoDB. Per saperne di più su CMEK in generale, incluso quando e perché abilitarla, consulta la seguente documentazione di Cloud KMS:

Per istruzioni su come eseguire attività correlate a CMEK con Cloud Firestore con compatibilità MongoDB, 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 Cloud Firestore con compatibilità MongoDB.
  • Rendimento: CMEK non influisce sull'SLA di Cloud Firestore.
  • Auditabilità: se attivi l'audit logging 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 Cloud Firestore con compatibilità MongoDB nella tua organizzazione.

Prezzi

Cloud KMS addebita il costo della chiave e di tutte le operazioni di crittografia eseguite utilizzando quella chiave. Per maggiori informazioni, consulta la pagina Prezzi di Cloud KMS.

I costi dell'operazione ti vengono addebitati quando Cloud Firestore con compatibilità MongoDB chiede alla chiave Cloud KMS di eseguire un'operazione di crittografia o decrittografia. L'operazione di crittografia o decrittografia tramite la chiave gestita dal cliente viene eseguita ogni 5 minuti e non è sincronizzata con le richieste di database. I costi sono generalmente bassi, dato il numero previsto di operazioni di crittografiche generate da Cloud Firestore con compatibilità MongoDB. I costi per Cloud Audit Logs sono una spesa aggiuntiva, ma si prevede che siano generalmente bassi, dato il numero previsto di operazioni crittografiche.

Non sono previsti costi aggiuntivi per Cloud Firestore con compatibilità MongoDB per l'utilizzo di un database protetto da CMEK e continuano a essere applicati i prezzi di Cloud Firestore con compatibilità MongoDB.

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 per le dimensioni del database fino a quando il database non viene eliminato o la chiave non torna disponibile.

Cosa viene protetto con CMEK

Quando crei un database Cloud Firestore con compatibilità MongoDB protetto da CMEK, la chiave Cloud KMS viene utilizzata per proteggere i dati inattivi. 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 decrittografia non vengono eseguite a ogni richiesta di dati. Il sistema Cloud Firestore con compatibilità MongoDB esegue il polling di Cloud KMS ogni 5 minuti per verificare se la chiave è ancora disponibile, quindi 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 Cloud Firestore con compatibilità MongoDB, incluse letture, scritture e query, restituiscono un errore INVALID_ARGUMENT con il seguente 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 ripristino della chiave. Se nel database sono in corso operazioni di lunga durata, queste saranno interessate come segue:

Le chiavi vengono considerate non disponibili in qualsiasi situazione che impedisca intenzionalmente a Cloud Firestore con compatibilità MongoDB di accedere alla chiave. È incluso quanto segue:

Se la chiave viene reintegrata, l'operazione di polling rileva che la chiave è di nuovo disponibile. L'accesso viene riattivato, di solito entro pochi minuti, ma in rari casi possono essere necessarie fino a qualche ora. Tieni presente che alcune operazioni sulle chiavi Cloud KMS, come la disattivazione o l'eliminazione di una chiave, possono richiedere fino a 3 ore per la propagazione. Cloud Firestore con compatibilità MongoDB non rileva alcuna modifica finché non vengono applicate in Cloud KMS.

Il reintegro di una chiave prevede quanto segue, a seconda della situazione:

  • Riattivazione di una versione della chiave disattivata.
  • Ripristino di una versione della 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 eliminata definitivamente.
  • Riconcessione dell'autorizzazione dell'agente di servizio Cloud Firestore per accedere alla chiave.

Considerazioni sulla rotazione delle chiavi

Quando ruoti la chiave CMEK, Cloud Firestore con compatibilità MongoDB ricripta il database con l'ultima versione principale della chiave CMEK. Durante il processo di ricrittografia, mantieni disponibili sia la versione precedente che quella nuova della chiave. Al termine della ricriptografia, la disattivazione o l'eliminazione delle versioni precedenti della chiave CMEK non disabiliterà l'accesso al database, poiché è criptato con la nuova versione della chiave primaria.

Puoi anche visualizzare le versioni della chiave utilizzate per proteggere un database. Per ulteriori informazioni, consulta Visualizzare la chiave in uso.

Considerazioni sulle chiavi esterne

Quando utilizzi una chiave Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente nel sistema del partner di gestione delle chiavi esterne.

Se una chiave gestita esternamente non è disponibile, Cloud Firestore con compatibilità MongoDB continua a supportare le operazioni complete sul database utilizzando una versione memorizzata nella cache della chiave, per un massimo di un'ora.

Dopo un'ora, se Cloud Firestore con compatibilità MongoDB non riesce ancora a connettersi a Cloud KMS, Cloud Firestore con compatibilità MongoDB inizia a mettere offline il database come misura protettiva. Le chiamate al database non andranno a buon fine e verrà visualizzato un errore INVALID_ARGUMENT che include ulteriori dettagli.

Consulta la documentazione di Cloud External Key Manager per ulteriori considerazioni sull'utilizzo di chiavi esterne.

Backup e ripristino

Un backup utilizza lo stesso meccanismo di crittografia del database da cui è stato creato. Quando un database Cloud Firestore con compatibilità MongoDB protetto da CMEK crea un backup, lo cripta con la versione della chiave primaria utilizzata al momento della creazione del backup.

Cloud Firestore con compatibilità MongoDB crea il primo backup di un database CMEK dopo 24 ore dal momento in cui abiliti le pianificazioni dei backup.

Per ulteriori informazioni sui backup di Cloud Firestore con compatibilità MongoDB, consulta Eseguire il backup e il ripristino dei dati.

Per impostazione predefinita, un database ripristinato da un backup utilizza lo stesso meccanismo di crittografia del backup. Quando ripristini un database, puoi specificare un tipo di crittografia diverso in uno dei seguenti modi:

  • Ripristina in un database CMEK con una chiave appena specificata.
  • Ripristina un database non CMEK che utilizza la crittografia predefinita di Google.
  • Esegui il ripristino in un database che utilizza la stessa crittografia del backup.

Per ulteriori informazioni sul ripristino di un database Cloud Firestore con compatibilità MongoDB da un backup, consulta Ripristinare i dati da un backup del database. Per ulteriori informazioni sul ripristino di un database Cloud Firestore con compatibilità MongoDB protetto da CMEK da un backup, vedi Ripristinare un database protetto da CMEK.

Clona

Per impostazione predefinita, un database clonato da un altro database utilizza lo stesso meccanismo di crittografia del database di origine. Quando cloni un database, puoi specificare un tipo di crittografia diverso in uno dei seguenti modi:

  • Clona in un database CMEK con una chiave appena specificata.
  • Clona in un database non CMEK che utilizza la crittografia predefinita di Google.
  • (Predefinito) Clona in un database che utilizza la stessa crittografia del database di origine.

Per ulteriori informazioni sulla clonazione di un database Cloud Firestore con compatibilità MongoDB, consulta Clonare un database. Per ulteriori informazioni sulla clonazione di un database Cloud Firestore protetto da CMEK con compatibilità MongoDB, consulta Clona un database protetto da CMEK.

Monitoraggio delle chiavi

Puoi utilizzare il monitoraggio delle chiavi per visualizzare le risorse, ad esempio i database Cloud Firestore con compatibilità MongoDB, protette da una chiave. Per saperne di più sul monitoraggio delle chiavi, consulta Visualizzare l'utilizzo delle chiavi.

CMEK e disponibilità delle chiavi

Quando le chiavi non sono disponibili o sono disattivate, tieni presente i seguenti comportamenti che possono verificarsi nei database abilitati per CMEK:

  • Puoi eliminare un database CMEK con chiavi non disponibili.

  • Quando crei un database abilitato a CMEK, le chiavi disattivate non vengono visualizzate nell'elenco delle chiavi disponibili nella console Google Cloud. Se inserisci manualmente una chiave disattivata, il processo di creazione del database non andrà a buon fine e verrà visualizzato un errore 400 INVALID_ARGUMENT.

Limitazioni

  • Non puoi modificare una chiave per un database protetto da CMEK. Puoi ruotare, attivare e disattivare le chiavi.

  • Non puoi abilitare CMEK sui database esistenti. Puoi abilitare CMEK solo sui nuovi database e devi farlo quando crei il database. Per eseguire la migrazione dei dati in un database non CMEK esistente a un database protetto da CMEK, esporta i dati e poi importali in un nuovo database protetto da CMEK. Puoi anche ripristinare o clonare i dati da un database non CMEK a un database CMEK.

  • Cloud Firestore supporta un numero limitato di database protetti da CMEK.

Passaggi successivi