Chiavi di crittografia gestite dal cliente (CMEK)
Per impostazione predefinita, tutti i dati at-rest in Bigtable vengono criptati utilizzando la crittografia predefinita di Google. Bigtable gestisce e gestisce questa crittografia per conto tuo senza alcuna azione aggiuntiva su da parte tua.
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 Bigtable. Invece che da Google, le chiavi di crittografia che proteggono i tuoi dati vengono gestite dall'istanza Bigtable utilizzando una chiave che puoi controllare e gestire in Cloud Key Management Service (Cloud KMS).
Questa pagina descrive CMEK per Bigtable. Per ulteriori informazioni su CMEK in generale, incluso quando e perché attivarlo, consulta la documentazione di Cloud KMS. Per istruzioni sull'esecuzione Attività correlate a CMEK con Bigtable, vedi Utilizzare CMEK.
Funzionalità
Sicurezza: CMEK fornisce lo stesso livello di sicurezza del sistema predefinito di Google ma offre un maggiore controllo amministrativo.
Controllo dell'accesso ai dati: gli amministratori possono ruotare, gestire l'accesso e disattivare o distruggere la chiave utilizzata per proteggere i dati a riposo in Bigtable.
Verificabilità: tutte le azioni sulle chiavi CMEK vengono registrate e sono visibili in Cloud Logging. Le chiavi Cloud EKM supportano la giustificazione dell'accesso alle chiavi, che aggiunge un campo di giustificazione a tutte le richieste di chiavi. Con alcuni partner esterni per la gestione delle chiavi, puoi approvare o rifiutare automaticamente queste richieste in base alla giustificazione.
Prestazioni paragonabili: le istanze Bigtable protette da CMEK offerto da Google Cloud offrono prestazioni paragonabili a quelle delle istanze Bigtable che utilizzano la crittografia predefinita di Google.
Flessibilità: puoi utilizzare la stessa chiave CMEK in più progetti, istanze o cluster oppure puoi utilizzare chiavi separate, a seconda delle esigenze della tua attività.
Protezione tra regioni: puoi abilitare CMEK nelle istanze che hanno in qualsiasi regione in cui è disponibile Bigtable. Ogni cluster è protetto da una chiave CMEK nella regione del cluster.
Prezzi
Cloud KMS addebita i costi della chiave e di eventuali operazioni eseguite utilizzando quella chiave. Per maggiori dettagli, consulta la pagina Prezzi di Cloud KMS.
Ti vengono addebitati i costi dell'operazione quando Bigtable chiede alla chiave Cloud KMS di eseguire un'operazione di crittografia o decrittografia. Ciascuna di crittografia o decriptazione viene inviata da ogni tabella in ogni cluster l'istanza. Poiché Bigtable utilizza la crittografia dell'involucro, questi costi per tabella sono generalmente bassi, dato il numero ridotto di operazioni di crittografia previste. Se memorizzi molte tabelle in un'istanza protetta da CMEK, i costi sono più elevati.
Non sono previsti costi aggiuntivi di Bigtable per l'utilizzo di istanze con CMEK abilitato.
Che cosa viene protetto con CMEK
In un'istanza protetta da CMEK, Bigtable utilizza la chiave CMEK per e proteggere i dati at-rest. Sono inclusi i dati in tutte le tabelle nel cluster. Dati archiviati sia nell'unità di archiviazione HDD che SSD sono protetti.
Alcuni dati sono protetti dalla crittografia at-rest predefinita di Google e non da CMEK chiave:
- Un sottoinsieme di chiavi di riga che contrassegnano i confini dell'intervallo e vengono utilizzati per il routing
- Dati di debug, inclusi dump del core e log operativi
- Dati in transito o in memoria
- Un sottoinsieme di valori timestamp utilizzati per la garbage collection
Bigtable utilizza la crittografia dell'involucro per i dati inattivi. La chiave CMEK viene utilizzata come chiave di crittografia della chiave (KEK) per criptare e le altre chiavi utilizzate da Bigtable. Quando ruoti la chiave CMEK, Bigtable deve solo ricriptare le chiavi intermedie.
Attivazione di CMEK
A grandi linee, per utilizzare CMEK con Bigtable, segui questi passaggi:
- Crea e configura una chiave CMEK in ogni regione in cui dei cluster dell'istanza.
- Crea una nuova istanza Bigtable selezionando una chiave CMEK per ogni cluster dell'istanza. La chiave CMEK di un cluster deve trovarsi nella stessa regione di nel cluster.
- Pianifica una rotazione della chiave per ogni chiave.
Le applicazioni che usano Bigtable non hanno bisogno di specificare una chiave o durante la lettura, la scrittura o l'eliminazione dei dati. Bigtable può accedere alla chiave per tuo conto dopo che avrai concesso il ruolo di criptatore/decriptatore Cloud KMS all'agente di servizio Bigtable.
Per istruzioni dettagliate, vedi Utilizzare CMEK.
Puoi utilizzare quanto segue quando lavori con CMEK per Bigtable.
- Console Google Cloud
- Google Cloud CLI
- Tutte le librerie client di disponibilità generale (GA) che chiamano le API Cloud Bigtable.
Puoi anche accedere direttamente all'API Cloud Bigtable Admin, ma ti consigliamo vivamente di farlo solo se non puoi utilizzare una libreria client Bigtable che effettua chiamate CMEK all'API.
Gestione delle chiavi
Le operazioni di gestione delle chiavi vengono eseguite utilizzando Cloud KMS. Bigtable non può rilevare o agire su eventuali modifiche chiave finché non vengono propagati da Cloud KMS. Alcune operazioni, come la disattivazione l'eliminazione di una chiave, la propagazione può richiedere fino a 4 ore; modifiche al livello di sicurezza di una chiave le autorizzazioni di solito si propagano più rapidamente.
Dopo aver creato almeno una tabella in un'istanza protetta da CMEK, Bigtable convalida la chiave per ogni tabella in ogni cluster ogni 5 minuti.
Se Bigtable rileva una chiave disabilitata, disabilita un cluster alla volta
a cascata fino a quando tutti i cluster dell'istanza non vengono disabilitati.
Dopo che il primo cluster segnala che una chiave è disabilitata o eliminata e fino a quando
è disabilitata, alcune richieste di dati potrebbero riuscire e altre restituiscono un
. Qualsiasi operazione sui dati inviata a un cluster che è stato disabilitato
restituiscono un errore FAILED_PRECONDITION
o NOT_FOUND
.
Inoltre, poiché la replica di Bigtable è eventualmente consistente, è possibile che un cluster abbia confermato una richiesta di scrittura, ma non l'abbia ancora replicata agli altri cluster dell'istanza prima che venisse disattivata.
La procedura Bigtable per la disabilitazione automatica di tutti i cluster un'istanza dopo la disabilitazione di una chiave può richiedere diverse ore. Da evitare questo stato, consigliamo di disabilitare sempre tutte le chiavi di un'istanza contemporaneamente.
Quando un cluster Bigtable è disattivato, le seguenti operazioni di amministrazione sono limitate per l'intera istanza:
- Creazione di un cluster
- Eliminazione di un cluster
- Creazione di una tabella
- Modifica di una famiglia di colonne
- Ripristino di una tabella
Puoi comunque eliminare l'istanza, una tabella e un backup.
Se le chiamate di Bigtable a Cloud KMS rilevano che un'istanza la chiave disabilitata sia stata riattivata, Cloud KMS ripristina l'accesso Cloud Bigtable automaticamente.
Se una chiave Cloud KMS è stata distrutta, qualsiasi istanza Bigtable con un cluster criptato con quella chiave diventa definitivamente inaccessibile.
Come viene gestito uno stato di una chiave non disponibile
In rari casi, ad esempio durante i periodi in cui Cloud KMS non è disponibile, Bigtable potrebbe non essere in grado di recuperare lo stato di una chiave da Cloud KMS.
Se un cluster Bigtable è protetto da una chiave abilitata in momento in cui Bigtable non riesce a comunicare per la prima volta Cloud KMS, Bigtable continua a supportare l'istanza completa delle operazioni sulla base del criterio del "best effort" utilizzando chiavi memorizzate nella cache derivate dai chiave Cloud KMS per un periodo di massimo un'ora, per ridurre al minimo l'impatto incidenti di questo tipo sul carico di lavoro.
Dopo un'ora, se Bigtable non riesce ancora a connettersi Cloud KMS, Bigtable inizia a prendere come misura protettiva. I dati contenuti L'istanza Bigtable rimane inaccessibile finché l'istanza non può riconnettiti con Cloud KMS e Cloud KMS risponde che la chiave è attivo.
Al contrario, se un cluster nella tua istanza Bigtable è protetto una chiave che è stata disabilitata prima del punto in cui Bigtable non riesce a comunicare con Cloud KMS, l'istanza rimane inaccessibile fino a quando non riesce a riconnettersi a Cloud KMS e a riattivare la chiave.
Considerazioni sulle chiavi esterne
Quando utilizzi Cloud EKM, Google non ha alcun controllo sulla disponibilità della chiave gestita esternamente nel sistema del partner di gestione delle chiavi esterne.
Se la chiave gestita esternamente non è disponibile, Bigtable continua a supportare le operazioni del cluster utilizzando una versione memorizzata nella cache della chiave per un massimo di un'ora.
Dopo un'ora, se Bigtable non riesce ancora a connettersi Cloud KMS, inizia a mettere offline l'istanza come protezione misurare. I dati nell'istanza Bigtable rimangono inaccessibili finché l'istanza non riesce a riconnettersi con Cloud KMS e Cloud KMS e risponde che la chiave esterna è attiva.
Se prevedi di utilizzare una chiave esterna per un'istanza Bigtable con cluster in più regioni, assicurati che la chiave sia supportata in quelle regioni. Per maggiori dettagli, consulta Regioni e gestori di chiavi esterni. Inoltre, non devi utilizzare una combinazione di chiavi esterne e non esterne nella stessa istanza.
Per scoprire di più sull'utilizzo delle chiavi esterne con Cloud Key Management Service, consulta Cloud External Key Manager (Cloud EKM).
Criteri dell'organizzazione
Bigtable supporta i vincoli dei criteri dell'organizzazione per garantire Utilizzo di CMEK in un'organizzazione. Per maggiori dettagli su come utilizzare i criteri dell'organizzazione, consulta Criteri dell'organizzazione CMEK.
Backup
Come per altri dati, un backup è protetto dalla chiave CMEK per il cluster che su cui è archiviato il backup. Le nuove tabelle ripristinate da un backup sono protette dalla chiave o dalle chiavi CMEK per il cluster in cui vengono ripristinate. Per ulteriori informazioni per maggiori dettagli su come CMEK influisce sulle operazioni di backup e ripristino, vedi Backup. Per scoprire come creare o ripristinare da un backup, consulta Gestire i backup.
Logging
Puoi controllare le richieste inviate da Bigtable Cloud KMS per tuo conto in Cloud Logging, se hai abilitato gli audit log di Cloud KMS per l'API Cloud KMS nel tuo progetto. Dovresti aspettarti alcune voci di log ogni circa 5 minuti per tabella in ogni cluster.
Limitazioni
CMEK può essere configurato solo a livello di cluster. Non puoi configurare CMEK su backup, tabelle o profili delle app.
La chiave CMEK di un cluster deve trovarsi nella stessa regione del cluster. Quando crei un portachiavi di Cloud KMS, assicurati di selezionare la regione corrispondente alla configurazione zonale di Bigtable pianificata.
La configurazione della crittografia di una risorsa Bigtable (un'istanza, un cluster, una tabella o un backup) è immutabile.
- Impossibile convertire le istanze non CMEK per utilizzare CMEK.
- Le istanze CMEK non possono essere convertite per utilizzare la crittografia predefinita di Google.
- I cluster creati con una chiave CMEK non possono essere riconfigurati per utilizzare una chiave diversa.
Risorse Bigtable protette da CMEK (istanze, cluster, tabelle o backup) legati a una chiave che è stata resa inaccessibile come risultato di un'azione attivata dall'utente (come la disattivazione o l'eliminazione di una chiave, o revocando il ruolo Autore crittografia) per più di 30 volte giorni vengono eliminati automaticamente.
Se riattivi una chiave CMEK disattivata per ripristinare l'accesso alle istanze Bigtable protette da quella chiave, alcune richieste dell'API Data potrebbero scadere durante il ripristino dei dati online.
Fino a cinque minuti dopo la creazione di una tabella in un ambiente protetto da CMEK Ad esempio, la versione e lo stato della chiave potrebbero essere segnalati come sconosciuti. Tuttavia, tutti i dati scritti nella tabella sono comunque protetti con la chiave CMEK durante questo periodo.
La disattivazione o l'eliminazione di una sola versione anziché di tutte le versioni di una chiave utilizzata da Bigtable può comportare un comportamento imprevedibile. Disattiva o elimina sempre tutte le versioni di una chiave CMEK.