Chiavi di crittografia gestite dal cliente (CMEK)
Per impostazione predefinita, Bigtable cripta i contenuti inattivi dei clienti. Bigtable gestisce la crittografia per conto tuo senza che tu debba fare altro. Questa opzione è denominata Crittografia predefinita di Google.
Se vuoi controllare le tue chiavi di crittografia, puoi utilizzare le chiavi di crittografia gestite dal cliente (CMEK) in Cloud KMS con i servizi integrati con CMEK, tra cui Bigtable. L'utilizzo delle chiavi Cloud KMS ti consente di controllare il loro livello di protezione, la posizione, la pianificazione della rotazione, le autorizzazioni di utilizzo e di accesso e i confini di crittografia. L'utilizzo di Cloud KMS ti consente inoltre di visualizzare gli audit log e controllare i cicli di vita delle chiavi. Invece che essere di proprietà e gestite da Google, le chiavi di crittografia della chiave (KEK) simmetriche che proteggono i tuoi dati sono sotto il tuo controllo e vengono gestite in Cloud KMS.
Dopo aver configurato le risorse con le chiavi CMEK, l'esperienza di accesso alle risorse Bigtable è simile all'utilizzo della crittografia predefinita di Google. Per saperne di più sulle opzioni di crittografia, consulta Chiavi di crittografia gestite dal cliente (CMEK).
Questa pagina descrive le CMEK per Bigtable. Per istruzioni su come eseguire attività correlate a CMEK con Bigtable, consulta Utilizzare CMEK.
Funzionalità
Sicurezza: le chiavi di crittografia gestite dal cliente (CMEK) offrono lo stesso livello di sicurezza della crittografia predefinita di Google, ma offrono 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.
Auditabilità: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 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 tue esigenze aziendali.
Protezione tra regioni:puoi attivare CMEK nelle istanze che hanno cluster in qualsiasi regione in cui è disponibile Bigtable. Ogni cluster è protetto da una chiave CMEK nella regione del cluster.
Prezzi
Cloud KMS addebita il costo della chiave e di eventuali operazioni di crittografia eseguite utilizzandola. 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. Ogni richiesta di crittografia o decrittografia viene inviata da ogni tabella su ogni cluster nell'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 tua chiave CMEK per proteggere i tuoi dati at-rest. Sono inclusi i dati di tutte le tabelle del cluster. I dati memorizzati sia su unità di archiviazione HDD che SSD sono protetti.
Alcuni dati sono protetti dalla crittografia at-rest predefinita di Google e non dalla chiave CMEK:
- 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 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 altre chiavi utilizzate da Bigtable. Quando ruoti la chiave CMEK, Bigtable deve solo criptare di nuovo 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 verranno ospitati i cluster dell'istanza.
- Crea una nuova istanza Bigtable selezionando una chiave CMEK per ogni cluster nell'istanza. La chiave CMEK di un cluster deve trovarsi nella stessa regione del cluster.
- Pianifica una rotazione delle chiavi per ogni chiave.
Le applicazioni che utilizzano Bigtable non devono specificare una chiave o una configurazione di crittografia 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, consulta l'articolo Utilizzare CMEK.
Quando utilizzi CMEK per Bigtable, puoi utilizzare quanto segue.
- 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 applicare modifiche alle chiavi finché non vengono propagate da Cloud KMS. Per alcune operazioni, come la disattivazione o la distruzione di una chiave, la propagazione può richiedere fino a 4 ore. Le modifiche alle autorizzazioni di una chiave 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 disattivata, disattiva un cluster alla volta in modo ricorsivo fino a quando non vengono disattivati tutti i cluster dell'istanza.
Dopo che il primo cluster segnala che una chiave è disattivata o eliminata e fino a quando l'istanza non viene disattivata, alcune richieste di dati potrebbero andare a buon fine e altre restituire un errore. Eventuali operazioni sui dati inviate a un cluster disattivato
restituiranno 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 di essere disattivato.
Il processo Bigtable di disattivazione automatica di tutti i cluster in un'istanza dopo la disattivazione di una chiave può richiedere fino a diverse ore. Per evitare questo stato, ti consigliamo di disattivare sempre contemporaneamente tutte le chiavi di un'istanza.
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
- Modificare 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 una chiave precedentemente disabilitata è stata riattivata, Cloud KMS ripristina automaticamente l'accesso al cluster Bigtable.
Se una chiave Cloud KMS è stata distrutta, qualsiasi istanza Bigtable con un cluster criptato con quella chiave diventa definitivamente inaccessibile.
Come viene gestito lo 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 al momento in cui Bigtable non è in grado di comunicare per la prima volta con Cloud KMS, Bigtable continua a supportare le operazioni complete delle istanze su base best effort utilizzando le chiavi memorizzate nella cache derivate dalla chiave Cloud KMS per un periodo massimo di 1 ora, per ridurre al minimo l'impatto di questo tipo di incidente sul tuo workload.
Dopo un'ora, se Bigtable non riesce ancora a connettersi a Cloud KMS, inizia a mettere offline l'istanza come misura di protezione. I dati dell'istanza Bigtable rimangono inaccessibili finché l'istanza non riesce a ricollegarsi a Cloud KMS e Cloud KMS risponde che la chiave è attiva.
Al contrario, se un cluster nell'istanza Bigtable è protetto da una chiave disattivata prima del momento in cui Bigtable non è più in grado di comunicare con Cloud KMS, l'istanza rimane inaccessibile finché non riesce a ricollegarsi a Cloud KMS e non hai riattivato 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 a Cloud KMS, inizia a mettere l'istanza offline come misura di protezione. I dati nell'istanza Bigtable rimangono inaccessibili fino a quando l'istanza non riesce a ricollegarsi a Cloud KMS e Cloud KMS risponde che la chiave esterna è attiva.
Se prevedi di utilizzare una chiave esterna per un'istanza Bigtable con cluster in più di una regione, assicurati che la chiave sia supportata in queste regioni. Per maggiori dettagli, vedi Regioni e gestori delle 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 contribuire a garantire l'utilizzo di CMEK in un'organizzazione. Per maggiori dettagli su come utilizzare i criteri dell'organizzazione, consulta Criteri dell'organizzazione CMEK.
Backup
Come altri dati, un backup è protetto dalla chiave CMEK per il cluster su cui è archiviato. Le nuove tabelle ripristinate da un backup sono protette dalla chiave o dalle chiavi CMEK per il cluster in cui vengono ripristinate. Per ulteriori dettagli su come CMEK influisce sui backup e sulle operazioni di ripristino, consulta Backup. Per scoprire come creare o ripristinare da un backup, consulta Gestire i backup.
Logging
Puoi eseguire il controllo delle richieste inviate da Bigtable a 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 5 circa 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 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.
- Le istanze non CMEK non possono essere convertite per l'utilizzo di 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.
Le risorse Bigtable protette da CMEK (istanze, cluster, tabelle o backup) associate a una chiave resa inaccessibile a seguito di un'azione attivata dall'utente (ad esempio la disattivazione o la distruzione di una chiave o la revoca del ruolo di crittografia/decrittografia) per più di 30 giorni consecutivi vengono eliminate 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.
Per un massimo di cinque minuti dopo la creazione di una tabella in un'istanza protetta da CMEK, 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.