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 te senza che sia necessario alcun intervento aggiuntivo da parte tua.

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é lasciare che sia Google a gestire le chiavi di crittografia che proteggono i tuoi dati, la tua istanza Bigtable è protetta tramite 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é abilitarla, consulta la documentazione di Cloud KMS. Per istruzioni sull'esecuzione di attività correlate a CMEK con Bigtable, vedi Utilizzare CMEK.

Funzionalità

  • Sicurezza: CMEK offre lo stesso livello di sicurezza della crittografia predefinita di Google, ma fornisce 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.

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

  • Prestazioni paragonabili: le istanze protette da CMEK di Bigtable offrono prestazioni paragonabili alle istanze Bigtable che utilizzano la crittografia predefinita di Google.

  • Flessibilità:puoi utilizzare la stessa chiave CMEK in più progetti, istanze o cluster oppure utilizzare chiavi distinte, a seconda delle esigenze aziendali.

  • Protezione tra regioni: puoi abilitare CMEK nelle istanze che dispongono di cluster 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 crittografiche eseguite utilizzando la chiave. Per i dettagli, consulta i prezzi di Cloud KMS.

I costi delle operazioni 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 in ogni cluster nell'istanza. Dato che 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 saranno più elevati.

Non sono previsti costi aggiuntivi per 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 in tutte le tabelle nel cluster. I dati archiviati sia nello spazio di archiviazione HDD che su quello 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 log operativi e dump principali
  • Dati in transito o in memoria
  • Un sottoinsieme di valori timestamp utilizzati per la garbage collection

Bigtable utilizza la crittografia envelope per i dati at-rest. La chiave CMEK viene utilizzata come chiave di crittografia della chiave (KEK) per criptare le altre chiavi utilizzate da Bigtable. Quando ruoti la chiave CMEK, Bigtable deve ricriptare solo le chiavi intermedie.

Attivazione di CMEK

A livello generale, per utilizzare CMEK con Bigtable, devi seguire questi passaggi:

  1. Creare e configurare una chiave CMEK in ogni regione in cui si troveranno i cluster dell'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. Pianifica 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 aver concesso il ruolo Criptatore/Decrittografia Cloud KMS all'agente di servizio Bigtable.

Per istruzioni dettagliate, vedi Utilizzare CMEK.

Puoi utilizzare quanto segue quando lavori con CMEK per 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 alle chiavi finché non vengono propagate da Cloud KMS. La propagazione di alcune operazioni, come la disabilitazione 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 fino a quando tutti i cluster nell'istanza non vengono disabilitati. Dopo che il primo cluster segnala che una chiave è disabilitata o eliminata e fino a quando l'istanza non viene disabilitata, alcune richieste di dati potrebbero andare a buon fine e altre restituiscono un errore. Qualsiasi operazione sui dati inviata a un cluster che è stato disabilitato restituisce 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 nell'istanza prima di essere disabilitata.

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

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, eliminare 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, tutte le istanze di Bigtable con un cluster criptato con quella chiave diventano definitivamente inaccessibili.

Come viene gestito uno stato di una chiave non disponibile

In rari scenari, ad esempio in 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 delle istanze secondo il criterio del "best effort", utilizzando le chiavi memorizzate nella cache derivate dalla chiave Cloud KMS per un periodo massimo di un'ora, per ridurre al minimo l'impatto di qualsiasi incidente sul tuo carico di lavoro.

Dopo un'ora, se Bigtable non è ancora in grado di connettersi con Cloud KMS, Bigtable inizia a portare l'istanza offline come misura protettiva. I dati dell'istanza Bigtable rimangono inaccessibili finché l'istanza non riesce a riconnettersi con Cloud KMS e Cloud KMS risponde che la chiave è attiva.

Al contrario, se un cluster nell'istanza Bigtable è protetto da una chiave disabilitata prima del punto 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 viene abilitata di nuovo la chiave.

Considerazioni chiave esterne

Quando utilizzi Cloud EKM, Google non ha alcun controllo sulla disponibilità della tua 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 cluster utilizzando una versione della chiave memorizzata nella cache, per un massimo di un'ora.

Dopo un'ora, se Bigtable non è ancora in grado di connettersi con Cloud KMS, inizia a mettere l'istanza offline come misura protettiva. I dati nell'istanza Bigtable rimangono inaccessibili finché l'istanza non riesce a riconnettersi con 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ù regioni, assicurati che la chiave sia supportata in quelle regioni. Per maggiori dettagli, consulta Regioni e gestori di chiavi esterni. Inoltre, non usare una combinazione di chiavi esterne e non esterne nella stessa istanza.

Per saperne 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'uso di CMEK. 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, vedi Gestire i backup.

Logging

Puoi controllare le richieste che Bigtable invia 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. 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 delle app.

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

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

    • Impossibile convertire le istanze non CMEK 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 (istanze, cluster, tabelle o backup) protette da CMEK (istanze, cluster, tabelle o backup) legate a una chiave che è stata resa inaccessibile a seguito di un'azione attivata dall'utente (ad esempio la disattivazione o l'eliminazione di una chiave, ad esempio la revoca del ruolo Autore crittografia/decrittografia) per più di 30 giorni consecutivi vengono eliminate automaticamente.

  • Se riabiliti una chiave CMEK disabilitata per ripristinare l'accesso alle istanze Bigtable protette da quella chiave, alcune richieste dell'API Data potrebbero scadere quando i 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, durante questo periodo tutti i dati scritti nella tabella sono comunque protetti con la chiave CMEK.

  • La disabilitazione o l'eliminazione di una sola versione invece di tutte le versioni di una chiave utilizzata da Bigtable può causare un comportamento imprevedibile. Disabilita sempre o elimina tutte le versioni di una chiave CMEK.

Passaggi successivi