Introduzione al mascheramento dei dati

BigQuery supporta mascheramento dei dati a livello di colonna livello. Puoi utilizzare il mascheramento dei dati per oscurare selettivamente i dati delle colonne per gruppi di utenti, pur consentendo loro di accedere alla colonna. Mascheramento dei dati le funzionalità si basano su controllo dell'accesso a livello di colonna, quindi ti consigliamo di acquisire familiarità con questa funzione prima di procedere.

Quando utilizzi il mascheramento dei dati in combinazione con il controllo dell'accesso a livello di colonna, puoi configurare un intervallo di accesso ai dati delle colonne, dall'accesso completo all'accesso nullo, in base alle esigenze di diversi gruppi di utenti. Ad esempio, per i dati dell'ID fiscale, potresti concedere al gruppo di contabilità l'accesso completo, al gruppo di analisti l'accesso mascherato e al gruppo di vendita nessun accesso.

Vantaggi

Il mascheramento dei dati offre i seguenti vantaggi:

  • Semplifica il processo di condivisione dei dati. Puoi mascherare le colonne sensibili per consentire la condivisione delle tabelle con gruppi più grandi.
  • A differenza del controllo dell'accesso a livello di colonna, non è necessario modificare le impostazioni query escludendo le colonne a cui l'utente non può accedere. Quando configurare il mascheramento dei dati, le query esistenti mascherano automaticamente i dati della colonna sui ruoli assegnati all'utente.
  • Puoi applicare i criteri di accesso ai dati su larga scala. Puoi scrivere un criterio di dati, associarlo a un tag di criteri e applicare il tag di criteri a un numero qualsiasi di colonne.
  • Consente il controllo dell'accesso basato su attributi. Un tag di criteri associato a un fornisce l'accesso ai dati contestuali, che è determinato dal criterio dei dati e le entità associate a quel tag di criteri.

Flusso di lavoro di mascheramento dei dati

La figura 1 mostra il flusso di lavoro per la configurazione della mascheratura dei dati:

Per attivare la mascheratura dei dati, devi creare una tassonomia, creare criteri dei dati per i tag di criteri nella tassonomia e poi associare i tag di criteri alle colonne della tabella. Figura 1. Componenti di mascheramento dei dati.

Per configurare il mascheramento dei dati:

  1. Configura una tassonomia e uno o più tag criterio.
  2. Configura i criteri dei dati per i tag dei criteri. Un criterio relativo ai dati mappa al tag di criteri una regola di mascheramento dei dati e uno o più principali, che rappresentano gli utenti o i gruppi.

    Quando creazione di un criterio dei dati utilizzando la console Google Cloud, crei di mascheramento dei dati e specificare le entità in un solo passaggio. Quando crei una norma sui dati utilizzando l'API BigQuery Data Policy, crei la norma sui dati e la regola di mascheramento dei dati in un passaggio e specifichi i principali per la norma sui dati in un secondo passaggio.

  3. Assegna i tag di criteri alle colonne delle tabelle BigQuery a e applicare i criteri relativi ai dati.

  4. Assegna agli utenti che devono avere accesso ai dati mascherati il ruolo Lettore mascherato BigQuery. Come best practice, assegna Ruolo Lettore mascherato BigQuery a livello di criterio dei dati. L'assegnazione del ruolo a livello di progetto o superiore concede agli utenti le autorizzazioni per tutti i criteri relativi ai dati del progetto, il che può causare problemi dovuti a autorizzazioni eccessive.

    Il tag criterio associato a un criterio relativo ai dati può essere utilizzato anche per il controllo dell'accesso a livello di colonna. In questo caso, anche il tag di criteri associati a una o più entità a cui viene concesso Ruolo Lettore granulare Data Catalog. Ciò consente a questi per accedere ai dati della colonna originali, non mascherati.

La figura 2 mostra come funzionano il controllo dell'accesso a livello di colonna e il mascheramento dei dati insieme:

I tag di criteri sono associati ai criteri relativi ai dati per configurare il mascheramento dei dati, quindi vengono associati alle colonne delle tabelle per consentire il mascheramento. Figura 2. Componenti di mascheramento dei dati.

Per ulteriori informazioni sull'interazione dei ruoli, consulta In che modo interagiscono i ruoli Lettore con maschera e Lettore granulare. Per ulteriori informazioni sull'ereditarietà dei tag dei criteri, consulta Ruoli e gerarchia dei tag dei criteri.

Regole di mascheramento dei dati

Quando utilizzi il mascheramento dei dati, a una colonna in fase di query viene applicata una regola di mascheramento dei dati runtime, in base al ruolo dell'utente che esegue la query. Il mascheramento richiede la precedenza a qualsiasi altra operazione relativa alla query. La regola di mascheramento dei dati determina il tipo di mascheramento dei dati applicato ai dati della colonna.

Puoi utilizzare le seguenti regole di mascheramento dei dati:

  • Routine di mascheramento personalizzata. Restituisce il valore della colonna dopo l'applicazione di un funzione definita dall'utente alla colonna. Le autorizzazioni della routine sono necessarie per gestire la regola di mascheramento. Per impostazione predefinita, questa regola supporta tutti i tipi di dati BigQuery tranne il tipo di dati STRUCT. Tuttavia, il supporto per tipi di dati diversi da STRING e BYTES è limitato. L'output dipende dalla funzione definita.

    Per saperne di più sulla creazione di funzioni definite dall'utente per le routine di mascheramento personalizzate, consulta Creare routine di mascheramento personalizzate.

  • Maschera di data e anno. Restituisce il valore della colonna dopo averlo troncato all'anno, impostando tutte le parti del valore diverse dall'anno all'inizio dell'anno. Puoi utilizzare questa regola solo con le colonne che utilizzano i tipi di dati DATE, DATETIME e TIMESTAMP. Ad esempio:

    Tipo Originale Mascherato
    DATE 2030-07-17 2030-01-01
    DATETIME 2030-07-17T01:45:06 2030-01-01T00:00:00
    TIMESTAMP 2030-07-17 01:45:06 01-01-2030 00:00:00
  • Valore di mascheramento predefinito. Restituisce un valore di mascheramento predefinito per la colonna in base al tipo di dati della colonna. Da utilizzare per nascondere il valore ma rivelano il tipo di dati. Quando questa regola di mascheramento dei dati viene applicata a una colonna, la rende meno utile nelle operazioni di query JOIN per gli utenti con accesso Lettore mascherato. Questo perché un valore predefinito non è sufficientemente univoco per essere utile durante l'unione delle tabelle.

    La seguente tabella mostra il valore di mascheramento predefinito per ogni tipo di dati:

    Tipo di dati Valore di mascheramento predefinito
    STRING ""
    BYTES b''
    INTEGER 0
    FLOAT 0.0
    NUMERIC 0
    BOOLEAN FALSE
    TIMESTAMP 01-01-1970 00:00:00 UTC
    DATE 1970-01-01
    TIME 00:00:00
    DATETIME 1970-01-01T00:00:00
    GEOGRAPHY POINT(0 0)
    BIGNUMERIC 0
    ARRAY []
    STRUCT

    NOT_APPLICABLE

    I tag di criteri non possono essere applicati alle colonne che utilizzano il STRUCT tipo di dati, ma possono essere associati ai campi foglia di queste colonne.

    JSON null
  • Maschera email. Restituisce il valore della colonna dopo aver sostituito il nome utente di un'email valida con XXXXX. Se il valore della colonna non è un indirizzo email valido, viene restituito il valore della colonna dopo che è stato eseguito tramite la funzione di hashing SHA-256. Puoi utilizzare questa regola solo con le colonne che usano l'STRING tipo di dati. Ad esempio:

    Originale Mascherato
    abc123@gmail.com XXXXX@gmail.com
    randomtext jQHDyQuj7vJcveEe59ygb3Zcvj0B5FJINBzgM6Bypgw=
    test@gmail@gmail.com Qdje6MO+GLwI0u+KyRyAICDjHbLF1ImxRqaW08tY52k=
  • Primi quattro caratteri. Restituisce i primi 4 caratteri del valore della colonna, sostituendo il resto della stringa con XXXXX. Se il valore della colonna è uguale o inferiore a 4 caratteri, restituisce il valore dopo che è stato eseguito Hash SHA-256 personalizzata. Puoi utilizzare questa regola solo con le colonne che usano i dati STRING di testo.

  • Hash (SHA-256). Restituisce il valore della colonna dopo che è stato eseguito tramite la funzione di hashing SHA-256. Utilizza questa opzione quando vuoi che l'utente finale possa utilizzare questa colonna in un'operazione JOIN per una query. Puoi utilizzare questa regola solo con le colonne che utilizzano i tipi di dati STRING o BYTES.

    La funzione SHA-256 utilizzata nel mascheramento dei dati è che preserva il tipo, quindi l'hash restituisce lo stesso tipo di dati del valore della colonna. Ad esempio, il valore hash per un valore di colonna STRING ha anche un valore di dati STRING di testo.

  • Ultimi quattro caratteri. Restituisce gli ultimi 4 caratteri del valore della colonna, sostituendo il resto della stringa con XXXXX. Se il valore della colonna è uguale o inferiore a 4 caratteri, restituisce il valore della colonna dopo che è stato eseguito tramite la funzione di hashing SHA-256. Puoi utilizzare questa regola solo con le colonne che usano i dati STRING di testo.

  • Annulla. Restituisce NULL anziché il valore della colonna. Usa questa opzione quando vuoi nascondere sia il valore sia il tipo di dati della colonna. Quando questa regola di mascheramento dei dati viene applicata a una colonna, la rende meno utile nelle operazioni di query JOIN per gli utenti con accesso Lettore mascherato. Questo perché un valore NULL non è sufficientemente univoco per essere utile quando unisci le tabelle.

Gerarchia delle regole di mascheramento dei dati

Puoi configurare fino a nove criteri dei dati per un tag di criteri, ciascuno con una distinta regola di mascheramento dei dati associata. Uno di questi criteri è riservato alle impostazioni di controllo dell'accesso a livello di colonna. In questo modo è possibile applicare più criteri dei dati a una colonna nella query di un utente in base ai gruppi di cui fa parte. In questi casi, BigQuery sceglie la regola di mascheramento dei dati da applicare si applicano in base alla seguente gerarchia:

  1. Routine di mascheramento personalizzata
  2. Hash (SHA-256)
  3. Maschera email
  4. Ultimi quattro caratteri
  5. Primi quattro caratteri
  6. Maschera data anno
  7. Valore di mascheramento predefinito
  8. Annulla

Ad esempio, l'utente A fa parte sia dei dipendenti che del reparto contabilità gruppi. L'utente A esegue una query che include il campo sales_total, che ha il tag di criteri confidential applicato. Al tag di criteri confidential sono associati due criteri dei dati: uno con il ruolo dipendenti come entità e che applica la regola di mascheramento dei dati che azzera i dati e uno con il ruolo contabile come entità e che applica la regola di mascheramento dei dati con hash (SHA-256). In questo caso, la regola di mascheramento dei dati con hash (SHA-256) ha la priorità sulla regola di mascheramento dei dati che annulla, pertanto la regola di hash (SHA-256) viene applicata al valore del campo sales_total nella query dell'utente A.

La Figura 3 mostra questo scenario:

In caso di conflitto tra l'applicazione della nullità e dell'hash (SHA-256)
regole di mascheramento dei dati dovute ai gruppi di cui fa parte un utente, i dati hash (SHA-256)
la regola di mascheramento è
prioritario.

Figura 3. Priorità delle regole di mascheramento dei dati.

Ruoli e autorizzazioni

Ruoli per la gestione di tassonomie e tag di criteri

Devi avere il ruolo Amministratore tag criteri di Data Catalog per creare e gestire tassonomie e tag di criteri.

Ruolo/ID Autorizzazioni Descrizione
Amministratore tag di criteri di Data Catalog/datacatalog.categoryAdmin datacatalog.categories.getIamPolicy
datacatalog.categories.setIamPolicy
datacatalog.taxonomies.create
datacatalog.taxonomies.delete
datacatalog.taxonomies.get
datacatalog.taxonomies.getIamPolicy
datacatalog.taxonomies.list
datacatalog.taxonomies.setIamPolicy
datacatalog.taxonomies.update
resourcemanager.projects.get
resourcemanager.projects.list

Si applica a livello di progetto.

Questo ruolo consente di:

  • Crea, leggi, aggiorna ed elimina tassonomie e tag di criteri.
  • Recupera e imposta i criteri IAM sui tag di criterio.

Ruoli per la creazione e la gestione dei criteri dei dati

Per creare e gestire, devi avere uno dei seguenti ruoli BigQuery norme sui dati:

Ruolo/ID Autorizzazioni Descrizione
Amministratore BigQuery/bigquery.admin

Proprietario dati BigQuery/bigquery.dataOwner
bigquery.dataPolicies.create
bigquery.dataPolicies.delete
bigquery.dataPolicies.get
bigquery.dataPolicies.getIamPolicy
bigquery.dataPolicies.list
bigquery.dataPolicies.setIamPolicy
bigquery.dataPolicies.update

Le autorizzazioni bigquery.dataPolicies.create e bigquery.dataPolicies.list si applicano a livello di progetto. Le altre autorizzazioni si applicano a livello di criterio dei dati.

Questo ruolo consente di:

  • Creare, leggere, aggiornare ed eliminare i criteri relativi ai dati.
  • Ottieni e imposta i criteri IAM sui criteri dei dati.
Devi avere anche l'autorizzazione datacatalog.taxonomies.get, che puoi richiedere molti dei Ruoli predefiniti di Data Catalog.

Ruoli per l'associazione di tag di criteri alle colonne

Per associare i tag di criteri alle colonne, sono necessarie le autorizzazioni datacatalog.taxonomies.get e bigquery.tables.setCategory. datacatalog.taxonomies.get è incluso nei ruoli Amministratore e Visualizzatore dei tag delle norme di Data Catalog. bigquery.tables.setCategory è incluso in Amministratore BigQuery (roles/bigquery.admin) e Ruoli Proprietario dati BigQuery (roles/bigquery.dataOwner).

Ruoli per l'esecuzione di query sui dati mascherati

Per eseguire query sui dati di una colonna a cui è stato applicato il mascheramento dei dati, devi disporre del ruolo Lettore mascherato BigQuery.

Ruolo/ID Autorizzazioni Descrizione
Lettore mascherato/bigquerydatapolicy.maskedReader bigquery.dataPolicies.maskedGet

Si applica a livello di criterio dei dati.

Questo ruolo concede la possibilità di visualizzare i dati mascherati di una colonna associata a un criterio di dati.

Inoltre, un utente deve disporre delle autorizzazioni appropriate per eseguire query sulla tabella. Per ulteriori informazioni, vedi Autorizzazioni obbligatorie.

Come interagiscono i ruoli Lettore mascherato e Lettore granulare

Il mascheramento dei dati si basa sul controllo dell'accesso a livello di colonna. Per una determinata colonna, è possibile avere alcuni utenti con il ruolo Lettore mascherato BigQuery che consente loro di leggere i dati mascherati, alcuni utenti con il ruolo Lettore granulare del catalogo di dati che consente loro di leggere i dati non mascherati, alcuni utenti con entrambi i ruoli e altri utenti con nessuno dei due. Questi i ruoli interagiscono nel seguente modo:

  • Utente con i ruoli Lettore granulare e Lettore mascherato: ciò che vede l'utente dipende da dove nella gerarchia dei tag di criteri viene concesso ciascun ruolo. Per ulteriori informazioni, consulta Eredità dell'autorizzazione in una gerarchia di tag dei criteri.
  • Utente con ruolo Lettore granulare: può visualizzare i dati delle colonne non mascherati (senza oscurazioni).
  • L'utente con il ruolo Lettore mascherato: può visualizzare i dati delle colonne mascherati (oscurati).
  • Utente senza alcun ruolo: autorizzazione negata.

Nel caso in cui una tabella abbia colonne protette o protette, mascherato, per eseguire un'istruzione SELECT * FROM su quella tabella, un utente deve essere membro di gruppi appropriati in modo che gli venga concesso Lettore mascherato o Lettore granulare in tutte queste colonne.

Un utente a cui non sono stati concessi questi ruoli deve invece specificare solo le colonne che a cui ha accesso nell'istruzione SELECT o usa SELECT * EXCEPT (restricted_columns) FROM per escludere per le colonne mascherate.

Ereditarietà dell'autorizzazione in una gerarchia di tag di criteri

I ruoli vengono valutati a partire dal tag di criteri associato a una colonna. e successivamente controllato a ogni livello crescente della tassonomia, finché l'utente sia determinato che disponga delle autorizzazioni appropriate o che la parte superiore del tag di criteri viene raggiunta la gerarchia.

Ad esempio, considera il tag di criteri e la configurazione del criterio dei dati mostrati Figura 4:

Valutazione dell'accesso utente quando il lettore mascherato viene concesso a un livello superiore della tassonomia e il lettore granulare viene concesso a un livello inferiore della tassonomia.

Figura 4. Configurazione del tag di criteri e dei criteri relativi ai dati.

Hai una colonna della tabella annotata con il tag di criteri Financial. e un utente membro sia di ftes@example.com che di analyst@example.com gruppi. Quando questo utente esegue una query che include la colonna annotata, il suo l'accesso è determinato dalla gerarchia definita nel tassonomia dei tag di criteri. Poiché all'utente viene concesso il ruolo Lettore granulare Data Catalog da Financial di tag di criteri, la query restituisce i dati della colonna non mascherati.

Se un altro utente che è solo un membro del ruolo ftes@example.com esegue una query che include la colonna annotata, la query restituisce i dati della colonna sottoposti ad hashing utilizzando l'algoritmo SHA-256, perché all'utente è stato assegnato il ruolo Lettore mascherato BigQuery dal tag di criteri Confidential, che è il tag di criteri principale del tag Financial.

Un utente che non è membro di nessuno di questi ruoli riceve un errore di accesso negato se tenta di eseguire query sulla colonna annotata.

A differenza dello scenario precedente, prendi in considerazione il tag criterio e la configurazione del criterio relativo ai dati mostrati nella Figura 5:

Valutazione dell'accesso utente quando il ruolo Lettore granulare viene concesso a un livello superiore della tassonomia e il ruolo Lettore mascherato viene concesso a un livello inferiore della tassonomia.

Figura 5. Configurazione del tag di criteri e dei criteri relativi ai dati.

La situazione è la stessa della Figura 4, ma all'utente viene concesso il il ruolo Lettore granulare a un livello superiore della gerarchia dei tag di criteri. Ruolo Lettore mascherato a un livello inferiore della gerarchia dei tag di criteri. Per questo motivo, la query restituisce i dati delle colonne mascherati per questo utente. Questo si verifica anche se all'utente viene concesso il ruolo ruolo più in alto nella gerarchia dei tag, perché il servizio utilizza il primo il ruolo assegnato che incontra mentre sale nella gerarchia dei tag di criteri per controllare per l'accesso degli utenti.

Se vuoi creare un'unica norma relativa ai dati e applicarla a più livelli di una gerarchia di tag di criteri, puoi impostare i criteri dei dati nel tag di criteri che rappresenta il livello gerarchico più alto a cui deve essere applicata. Ad esempio: prendere una tassonomia con la seguente struttura:

  • Tag criterio 1
    • Tag criterio 1a
      • Tag criterio 1ai
    • Tag criterio 1b
      • Tag di criteri 1bi
      • Tag di criteri 1bii

Se vuoi che un criterio dei dati venga applicato a tutti questi tag di criteri, imposta i dati sul tag di criteri 1. Se vuoi che un criterio relativo ai dati venga applicato al tag criterio 1b e ai suoi figli, impostalo sul tag criterio 1b.

Mascheramento dei dati con funzionalità non compatibili

Quando utilizzi Funzionalità di BigQuery non compatibili con il mascheramento dei dati, il servizio tratta la colonna mascherata come una colonna protetta e concede solo l'accesso agli utenti con il ruolo Lettore granulare Data Catalog.

Ad esempio, considera il tag di criteri e la configurazione del criterio dei dati mostrati nella Figura 6:

Il tag di criteri associato alla colonna viene valutato per determinare se l'utente dispone dell'autorizzazione per accedere ai dati non mascherati.

Figura 6. Tag di criteri e configurazione dei criteri dei dati.

Hai una colonna della tabella annotata con il tag di criteri Financial. un utente membro del gruppo analyst@example.com. Quando questo utente prova per accedere alla colonna annotata attraverso una delle funzioni incompatibili, ricevi un errore di accesso negato. Questo perché viene concesso loro Lettore mascherato BigQuery per tag di criteri Financial, ma in questo nel caso specifico, devono avere il ruolo Lettore granulare Data Catalog. Poiché il servizio ha già determinato un ruolo applicabile per l'utente, non continua a controllare ulteriormente la gerarchia dei tag di criteri per trovare autorizzazioni aggiuntive.

Esempio di mascheramento dei dati con output

Per capire come funzionano insieme tag, entità e ruoli, considera questo esempio.

Su example.com, l'accesso di base viene concesso tramite data-users@example.com gruppo. Tutti i dipendenti che hanno bisogno di accedere regolarmente ai dati BigQuery fanno parte di questo gruppo, a cui sono assegnate tutte le autorizzazioni necessarie per leggere dalle tabelle, nonché il ruolo Lettore mascherato BigQuery.

I dipendenti vengono assegnati a gruppi aggiuntivi che forniscono l'accesso alle colonne protette o nascoste, se necessario per il loro lavoro. Tutti i membri di questi gruppi aggiuntivi sono anche membri di data-users@example.com. Puoi vedere come questi gruppi sono associati ai ruoli appropriati nella Figura 7:

Tag di criteri e norme sui dati per example.com.

Figura 7. Tag criterio e norme relative ai dati per example.com.

I tag dei criteri vengono poi associati alle colonne della tabella, come mostrato nella Figura 8:

Tag dei criteri di Example.com associati alle colonne della tabella.

Figura 8. Tag dei criteri di Example.com associati alle colonne della tabella.

Dati i tag associati alle colonne, SELECT * FROM Accounts; conduce a seguenti risultati per i diversi gruppi:

  • data-users@example.com: a questo gruppo è stato concesso il Ruolo Lettore mascherato BigQuery sia in PII che in Confidential i tag di criteri. Vengono restituiti i seguenti risultati:

    SSN Priorità Lifetime value Data di creazione Email
    NULL "" 0 8 marzo 1983 NULL
    NULL "" 0 29 dicembre 2009 NULL
    NULL "" 0 14 luglio 2021 NULL
    NULL "" 0 5 maggio 1997 NULL
  • accounting@example.com: a questo gruppo è stato concesso il Ruolo Lettore granulare Data Catalog in SSN . Vengono restituiti i seguenti risultati:

    SSN Priorità Lifetime value Data di creazione NULL
    123-45-6789 "" 0 8 marzo 1983 NULL
    234-56-7891 "" 0 29 dicembre 2009 NULL
    345-67-8912 "" 0 14 luglio 2021 NULL
    456-78-9123 "" 0 5 maggio 1997 NULL
  • sales-exec@example.com: a questo gruppo è stato concesso il Ruolo Lettore granulare Data Catalog in Confidential . Vengono restituiti i seguenti risultati:

    SSN Priorità Lifetime value Data di creazione Email
    NULL Alta 90.000 8 marzo 1983 NULL
    NULL Alta 84.875 29 dicembre 2009 NULL
    NULL Medio 38.000 14 luglio 2021 NULL
    NULL Bassa 245 5 maggio 1997 NULL
  • fin-dev@example.com: a questo gruppo è stato assegnato il ruolo Lettore mascherato BigQuery per il tag di criteri Financial. Vengono restituiti i seguenti risultati:

    SSN Priorità Lifetime value Data di creazione Email
    NULL "" Zmy9vydG5q= 8 marzo 1983 NULL
    NULL "" GhwTwq6Ynm= 29 dicembre 2009 NULL
    NULL "" B6y7dsgaT9= 14 luglio 2021 NULL
    NULL "" Uh02hnR1sg= 5 maggio 1997 NULL
  • Tutti gli altri utenti: gli utenti che non appartengono a uno degli elenchi elencati ai gruppi viene visualizzato un errore di accesso negato perché non è stato concesso loro Lettore granulare o Ruoli di lettura mascherati BigQuery. Per eseguire query sulla tabella Accounts, devono invece specificare solo le colonne a cui hanno accesso in SELECT * EXCEPT (restricted_columns) FROM Accounts per escludere le colonne protette o mascherate.

Considerazioni sui costi

La mascheratura dei dati potrebbe influire indirettamente sul numero di byte elaborati e quindi sul costo della query. Se un utente esegue una query su una colonna che è nascosta per lui con le regole Nullify o Valore maschera predefinito, la colonna non viene nemmeno scansionata, con un conseguente calo del numero di byte elaborati.

Restrizioni e limitazioni

Le seguenti sezioni descrivono le categorie di restrizioni e limitazioni a cui è soggetto il mascheramento dei dati.

Gestione dei criteri dei dati

  • Questa funzionalità potrebbe non essere disponibile quando utilizzi le prenotazioni create con alcune versioni di BigQuery. Per ulteriori informazioni quali funzioni sono abilitate in ogni versione, consulta Introduzione alle versioni di BigQuery.
  • Puoi creare fino a nove criteri dei dati per ogni tag di criteri. Uno di questi criteri è riservato alle impostazioni di controllo dell'accesso a livello di colonna.
  • I criteri dei dati, i relativi tag di criteri e le eventuali routine che li utilizzano devono essere nello stesso progetto.

Tag di criteri

  • Il progetto contenente la tassonomia dei tag criterio deve appartenere a un'organizzazione.
  • Una gerarchia di tag delle norme non può avere più di cinque livelli di profondità dal nodo principale al sottotag di livello più basso, come mostrato nello screenshot seguente:

    Profondità del tag di criteri.

Imposta il controllo dell'accesso

Una volta che a una tassonomia è associato un criterio relativo ai dati ad almeno uno dei suoi tag criterio, il controllo dell'accesso viene applicato automaticamente. Se vuoi disattivare il controllo dell'accesso, devi prima eliminare tutti i criteri dei dati associati alla tassonomia.

Viste materializzate e query di mascheramento dei record ripetute

Se esistono già viste materializzate, le query di mascheramento dei record ripetute sulla tabella di base associata non riesce. Per risolvere il problema, elimina la vista materializzata. Se la vista materializzata è necessaria per altri motivi, puoi crearla in un altro set di dati.

Esegui query sulle colonne mascherate nelle tabelle partizionate

Le query che includono il mascheramento dei dati nelle colonne suddivise o raggruppate non sono supportate.

Dialetti SQL

SQL precedente non supportato.

Routine di mascheramento personalizzate

Le routine di mascheramento personalizzate sono soggette alle seguenti limitazioni:

  • Il mascheramento dei dati personalizzato supporta Tipi di dati BigQuery tranne STRUCT, perché il mascheramento dei dati può essere applicato solo ai campi foglia del tipo di dati STRUCT.
  • L'eliminazione di una routine di mascheramento personalizzata non elimina tutti i criteri dei dati che utilizzano li annotino. Tuttavia, i criteri relativi ai dati che utilizzano la routine di mascheramento eliminata vengono lasciati con una regola di mascheramento vuota. Utenti con il ruolo Lettore mascherato per altri dati i criteri con lo stesso tag possono vedere i dati mascherati. Gli altri vedono il messaggio Permission denied. I riferimenti inutilizzati a regole di mascheramento vuote potrebbero essere puliti da processi automatici dopo sette giorni.

Compatibilità con altre funzionalità di BigQuery

API BigQuery

Non compatibile con il metodo tabledata.list. A chiama tabledata.list, devi avere l'accesso completo a tutte le colonne restituite questo metodo. Il ruolo Lettore granulare Data Catalog concede l'accesso appropriato.

Tabelle BigLake

Compatibile. I criteri di mascheramento dei dati vengono applicati su BigLake tabelle.

API BigQuery Storage Read

Compatibile. I criteri di mascheramento dei dati vengono applicati nell'API BigQuery Storage Read.

BigQuery BI Engine

Compatibile. I criteri di mascheramento dei dati vengono applicati in BI Engine. Le query che hanno un mascheramento dei dati attivo non vengono accelerate e BI Engine. L'utilizzo di queste query in Looker Studio potrebbe possono rallentare e rendere più costosi i report o le dashboard correlati.

BigQuery Omni

Compatibile. I criteri di mascheramento dei dati vengono applicati alle tabelle BigQuery Omni.

Regole di confronto

Non compatibile. L'ordinamento non è supportato nelle colonne mascherate.

Job di copia

Non compatibile. Per copiare una tabella dall'origine alla destinazione, devi: per avere accesso completo a tutte le colonne della tabella di origine. Il ruolo Lettore granulare Data Catalog concede l'accesso appropriato.

Esportazione dei dati

Compatibile. Se disponi del ruolo Lettore mascherato BigQuery, i dati esportati vengono mascherati. Se disponi di Data Catalog nel ruolo Lettore granulare, i dati esportati non vengono mascherati.

Sicurezza a livello di riga

Compatibile. Il mascheramento dei dati viene applicato in aggiunta alla sicurezza a livello di riga. Ad esempio, se è presente un criterio di accesso alle righe applicato a location = "US" e location è vengono mascherati, gli utenti possono vedere le righe in cui location = "US" ma il campo della località è mascherato.

Ricerca in BigQuery

Parzialmente compatibile. Puoi chiamare la funzione SEARCH su colonne indicizzate o non indicizzate a cui è stato applicato il mascheramento dei dati.

Quando chiami la funzione SEARCH sulle colonne a cui è applicato il mascheramento dei dati, è necessario utilizzare criteri di ricerca compatibili con il proprio livello di accesso. Ad esempio: Se disponi dell'accesso Masked Reader con una regola di mascheramento dei dati Hash (SHA-256), userebbe il valore hash nella clausola SEARCH, simile al seguente:

SELECT * FROM myDataset.Customers WHERE SEARCH(Email, "sg172y34shw94fujaweu");

Se disponi dell'accesso Lettura dettagliata, devi utilizzare il valore della colonna effettiva nella clausola SEARCH, in modo simile al seguente:

SELECT * FROM myDataset.Customers WHERE SEARCH(Email, "jane.doe@example.com");

La ricerca è meno probabile che sia utile se disponi dell'accesso come Lettore mascherato a una colonna in cui la regola di mascheramento dei dati utilizzata è Annulla o Valore mascheramento predefinito. Questo perché i risultati mascherati che utilizzeresti come criteri di ricerca, ad esempio NULL o "", non sono sufficientemente univoci per essere utili.

Quando esegui una ricerca in una colonna indicizzata a cui è stato applicato il mascheramento dei dati, l'indice di ricerca viene utilizzato solo se disponi dell'accesso come lettore granulare alla colonna.

Snapshot

Non compatibile. Per creare lo snapshot di una tabella, devi disporre dell'accesso completo a tutti nelle colonne della tabella di origine. L'analisi dettagliata di Data Catalog Il ruolo Lettore concede l'accesso appropriato.

Ridenominazione delle tabelle

Compatibile. Il rinominazione delle tabelle non è interessata dal mascheramento dei dati.

Viaggio nel tempo

Compatibile con entrambi decoratori del tempo e FOR SYSTEM_TIME AS OF nelle istruzioni SELECT. I tag di criteri per lo schema del set di dati attuale vengono applicate ai dati recuperati.

Memorizzazione nella cache delle query

Parzialmente compatibile. BigQuery memorizza nella cache i risultati delle query per circa 24 ore, anche se la cache viene invalidata se vengono apportate modifiche ai dati o allo schema della tabella prima di questo periodo di tempo. Nella seguente circostanza, è possibile che un utente a cui non è stato assegnato il ruolo Lettore granulare del catalogo di dati su una colonna possa ancora visualizzare i dati della colonna quando esegue una query:

  1. A un utente è stato concesso il lettore granulare di Data Catalog in una colonna.
  2. L'utente esegue una query che include la colonna con restrizioni e i dati vengono memorizzati nella cache.
  3. Entro 24 ore dal passaggio 2, all'utente viene concesso il ruolo Lettore mascherato di BigQuery e viene revocato il ruolo Lettore granulare del Catalogo di dati.
  4. Entro 24 ore dal passaggio 2, l'utente esegue la stessa query e vengono restituiti i dati.

Query sulle tabelle con caratteri jolly

Non compatibile. Devi disporre dell'accesso completo a tutte le colonne a cui viene fatto riferimento in tutte le tabelle corrispondenti alla query con caratteri jolly. Il ruolo Lettore granulare Data Catalog concede l'accesso appropriato.

Passaggi successivi