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 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 Bigtable. Anziché Google a gestire le chiavi di crittografia che proteggono i tuoi dati, l'istanza Bigtable è protetta da una chiave che puoi controllare e gestire in Cloud Key Management Service (Cloud KMS).

Questa pagina descrive la CMEK per Bigtable. Per ulteriori informazioni su CMEK in generale, inclusi quando e perché abilitarla, consulta la documentazione di Cloud KMS. Per istruzioni su come eseguire le attività relative a CMEK con Bigtable, vedi Utilizzare CMEK.

Funzionalità

  • Sicurezza: la CMEK offre lo stesso livello di sicurezza della crittografia predefinita di Google, ma offre anche un maggiore controllo amministrativo.

  • Controllo dell'accesso ai dati: gli amministratori possono ruotare, gestire l'accesso e disabilitare o eliminare la chiave utilizzata per proteggere i dati at-rest in Bigtable.

  • Auditbilità: tutte le azioni sulle chiavi CMEK vengono registrate e visibili in Cloud Logging. Le chiavi Cloud EKM supportano Key Access Justification, che aggiunge un campo di giustificazione a tutte le richieste delle chiavi. Con partner esterni selezionati la gestione delle chiavi, puoi approvare o rifiutare automaticamente queste richieste, in base alla giustificazione.

  • Prestazioni paragonabili: le istanze Bigtable protette tramite CMEK 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 aziendali.

  • Protezione tra regioni: puoi abilitare 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 le eventuali operazioni crittografiche eseguite utilizzando la chiave in questione. Per i dettagli, consulta Prezzi di Cloud KMS.

I costi dell'operazione ti vengono addebitati quando Bigtable chiede alla chiave Cloud KMS di eseguire un'operazione di crittografia o decriptazione. Ogni richiesta di crittografia o decriptazione viene inviata da ogni tabella su ogni cluster nell'istanza. Poiché Bigtable utilizza la crittografia busta, questi costi per tabella sono generalmente bassi, dato il numero ridotto di operazioni crittografiche previste. Se archivi molte tabelle in un'istanza protetta da CMEK, i costi sono più elevati.

Non sono previsti costi aggiuntivi di Bigtable per l'utilizzo delle istanze abilitate per CMEK.

Cosa è protetto con CMEK

In un'istanza protetta da CMEK, Bigtable utilizza la chiave CMEK per proteggere i dati at-rest. Sono inclusi i dati di tutte le tabelle del cluster. I dati archiviati sia sull'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 limiti dell'intervallo e vengono utilizzate per il routing
  • Dati di debug, inclusi core dump e log operativi
  • Dati in transito o in memoria
  • Un sottoinsieme di valori di timestamp utilizzati per la garbage collection

Bigtable utilizza la crittografia busta per i dati at-rest. 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 criptare nuovamente le chiavi intermedie.

Abilitare CMEK

A livello generale, per utilizzare CMEK con Bigtable:

  1. Crea e configura una chiave CMEK in ogni regione in cui si troveranno i cluster della tua istanza.
  2. 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.
  3. Programma una rotazione della chiave 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 è in grado di accedere alla chiave per tuo conto dopo che hai concesso il ruolo Criptatore/decrittografia Cloud KMS a un agente di servizio Bigtable, che è un tipo di account di servizio gestito da Google.

Per istruzioni dettagliate, vedi Utilizzare CMEK.

Quando lavori con CMEK per Bigtable, puoi utilizzare quanto segue.

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 modifiche alle chiavi finché non vengono propagate da Cloud KMS. La propagazione di alcune operazioni, come la disattivazione o l'eliminazione di una chiave, può richiedere fino a quattro ore. Le modifiche alle autorizzazioni di una chiave in genere 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 finché non vengono disabilitati tutti i cluster nell'istanza. Dopo che il primo cluster ha segnalato che una chiave è stata disabilitata o eliminata e finché l'istanza non viene disabilitata, alcune richieste di dati potrebbero avere esito positivo e altre potrebbero restituire un errore. Per le operazioni sui dati inviate a un cluster disabilitato, viene restituito un errore FAILED_PRECONDITION o NOT_FOUND.

Inoltre, poiché la replica di Bigtable è alla fine coerente, è possibile che un cluster abbia confermato una richiesta di scrittura, ma non l'abbia ancora replicata negli altri cluster dell'istanza prima che venisse disabilitata.

Il processo Bigtable di disattivazione automatica di tutti i cluster in un'istanza dopo la disabilitazione di una chiave può richiedere diverse ore. Per evitare questo stato, ti consigliamo di disabilitare sempre contemporaneamente tutte le chiavi di un'istanza.

Quando un cluster Bigtable è disabilitato, 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 ed eliminare 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 eliminata, ogni istanza Bigtable che dispone di un cluster criptato con quella chiave diventa definitivamente inaccessibile.

Come viene gestito uno stato di una chiave non disponibile

In scenari rari, 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 nel momento in cui Bigtable non è in grado di comunicare per la prima volta con Cloud KMS, Bigtable continua a supportare le operazioni complete dell'istanza secondo il criterio del "best effort", utilizzando chiavi memorizzate nella cache derivate dalla chiave Cloud KMS per un periodo massimo di un'ora, in modo da ridurre al minimo l'impatto di qualsiasi incidente di questo tipo sul carico di lavoro.

Dopo un'ora, se Bigtable ancora non riesce a connettersi con Cloud KMS, Bigtable inizia a mettere l'istanza offline come misura di protezione. I dati nell'istanza Bigtable rimangono inaccessibili fino a quando l'istanza non si connette nuovamente a Cloud KMS e Cloud KMS risponde che la chiave è attiva.

Al contrario, se un cluster nella tua istanza Bigtable è protetto da una chiave disabilitata prima del momento in cui Bigtable non è in grado di comunicare con Cloud KMS, l'istanza rimane inaccessibile fino a quando non riesce a riconnettersi a Cloud KMS e non hai riabilitato la chiave.

Considerazioni sulle chiavi esterne

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

Se la chiave gestita esternamente non è disponibile, Bigtable continua a supportare le operazioni di cluster utilizzando una versione memorizzata nella cache della chiave, per un massimo di un'ora.

Dopo un'ora, se Bigtable non è ancora in grado di connettersi a Cloud KMS, inizia a mettere l'istanza offline come misura protettiva. I dati nell'istanza Bigtable rimangono inaccessibili finché l'istanza non si riconnette con Cloud KMS e Cloud KMS non 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, vedi regioni e gestori delle chiavi esterni. Inoltre, non utilizzare una combinazione di chiavi esterne e non esterne nella stessa istanza.

Per scoprire di più sull'utilizzo di 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 l'utilizzo di CMEK in tutta l'organizzazione. Per maggiori dettagli su come utilizzare i criteri dell'organizzazione, vedi Criteri dell'organizzazione CMEK.

Backup

Come altri dati, un backup è protetto dalla chiave CMEK per il cluster in 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 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 che Bigtable invia per tuo conto a Cloud KMS in Cloud Logging, se hai abilitato gli audit log di Cloud KMS per l'API Cloud KMS nel tuo progetto. Puoi aspettarti alcune voci di log ogni 5 minuti circa per tabella in ogni cluster.

Limitazioni

  • La CMEK può essere configurata solo a livello di cluster. Non puoi configurare CMEK su backup, tabelle o profili di app.

  • La chiave CMEK di un cluster deve trovarsi nella stessa regione del cluster. Quando crei un keyring Cloud KMS, assicurati di selezionare la regione corrispondente alla configurazione a livello di zona di Bigtable pianificata.

  • La configurazione di crittografia di una risorsa Bigtable (istanza, cluster, tabella o backup) è immutabile.

    • Le istanze non CMEK non possono essere convertite per utilizzare CMEK.
    • Impossibile convertire le istanze CMEK 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 che è stata resa inaccessibile dal risultato di un'azione attivata dall'utente (come la disattivazione o l'eliminazione di una chiave o la revoca del ruolo di criptatore/decriptatore) per più di 30 giorni consecutivi vengono eliminate automaticamente.

  • Se riattivi una chiave CMEK disabilitata per ripristinare l'accesso alle istanze Bigtable protette da quella chiave, alcune richieste dell'API di dati potrebbero scadere mentre i tuoi dati vengono ripristinati 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 disabilitazione o l'eliminazione di una sola versione anziché di tutte le versioni di una chiave utilizzata da Bigtable può causare comportamenti imprevedibili. Disabilita o elimina sempre tutte le versioni di una chiave CMEK.

Passaggi successivi