Introduzione al mascheramento dei dati
BigQuery supporta il mascheramento dei dati a livello di colonna. Puoi utilizzare il mascheramento dei dati per oscurare selettivamente i dati della colonna per gruppi di utenti, consentendo loro comunque di accedere alla colonna. La funzionalità di mascheramento dei dati si basa sul controllo dell'accesso a livello di colonna, pertanto ti consigliamo di acquisire familiarità con questa funzionalità prima di procedere.
Quando utilizzi il mascheramento dei dati in combinazione con controllo dell'accesso a livello di colonna, puoi configurare un intervallo di accesso ai dati delle colonne, dall'accesso completo a nessun accesso, in base alle esigenze di diversi gruppi di utenti. Ad esempio, per i dati dell'ID fiscale, potresti voler concedere al tuo gruppo contabilità l'accesso completo, al tuo gruppo di analisti l'accesso mascherato e al tuo 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 condividere le tabelle con gruppi più grandi.
- A differenza del controllo dell'accesso a livello di colonna, non devi modificare le query esistenti escludendo le colonne a cui l'utente non può accedere. Quando configuri il mascheramento dei dati, le query esistenti mascherano automaticamente i dati delle colonne in base ai ruoli concessi all'utente.
- Puoi applicare criteri di accesso ai dati su larga scala. Puoi scrivere una policy di dati, associarla 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 collegato a una colonna fornisce l'accesso ai dati contestuali, che è determinato dal criterio di dati e dalle entità associate a quetag di critericy.
Flusso di lavoro di mascheramento dei dati
Esistono due modi per mascherare i dati. Puoi creare una tassonomia e tag policy, quindi configurare le policy sui dati sui tag policy. In alternativa, puoi impostare una norma sui dati direttamente su una colonna Anteprima. In questo modo, puoi mappare una regola di mascheramento dei dati sui tuoi dati senza gestire i tag di policy o creare tassonomie aggiuntive.
Impostare una policy per i dati direttamente su una colonna
Puoi configurare la maschera dinamica dei dati direttamente su una colonna (Anteprima). Per farlo, segui questi passaggi:
Assegna una norma relativa ai dati a una colonna.
Mascherare i dati con i tag di policy
La figura 1 mostra il flusso di lavoro per la configurazione della maschera dei dati:
Figura 1. Componenti di mascheramento dei dati.
Per configurare la maschera dei dati, segui questi passaggi:
- Configura una tassonomia e uno o più tag criterio.
Configura le policy sui dati per i tag policy. Un criterio per i dati mappa una regola di mascheramento dei dati e uno o più principal, che rappresentano utenti o gruppi, al tag di criteri.
Quando crei una norma sui dati utilizzando la console Trusted Cloud , crei la regola di mascheramento dei dati e specifichi i principal in un unico 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 unico passaggio e specifichi i principal per la norma sui dati in un secondo passaggio.
Assegna i tag di criteri alle colonne delle tabelle BigQuery per applicare le policy dei dati.
Assegna agli utenti che devono avere accesso ai dati mascherati il ruolo Lettore mascherato BigQuery. Come best practice, assegna il ruolo Lettore mascherato BigQuery a livello di criteri dei dati. L'assegnazione del ruolo a livello di progetto o superiore concede agli utenti le autorizzazioni per tutti i criteri dei dati nel progetto, il che può causare problemi dovuti a autorizzazioni eccessive.
Il tag di criteri associato a un criterio relativo ai dati può essere utilizzato anche per controllo dell'accesso a livello di colonna. In questo caso, il tag di criteri è associato anche a una o più entità a cui viene concesso il ruolo Lettore granulare Data Catalog. In questo modo, questi soggetti possono accedere ai dati delle colonne originali non mascherati.
La Figura 2 mostra come funzionano insieme controllo dell'accesso a livello di colonna e la maschera dei dati:
Figura 2. Componenti di mascheramento dei dati.
Per ulteriori informazioni sull'interazione tra i ruoli, consulta Come interagiscono i ruoli Lettore mascherato e Lettore granulare. Per ulteriori informazioni sull'ereditarietà dei tag di criteri, consulta la pagina Gerarchia di ruoli e tag dei criteri.
Regole di mascheramento dei dati
Quando utilizzi il mascheramento dei dati, una regola di mascheramento dei dati viene applicata a una colonna in fase di esecuzione della query, in base al ruolo dell'utente che esegue la query. La mascheratura ha la precedenza su qualsiasi altra operazione coinvolta nella 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 una funzione definita dall'utente (UDF) alla colonna. Per gestire la regola di mascheramento sono necessarie le autorizzazioni di routine. Questa regola, per progettazione, supporta tutti i tipi di dati BigQuery ad eccezione del tipo di dati
STRUCT
. Tuttavia, il supporto per tipi di dati diversi daSTRING
eBYTES
è limitato. L'output dipende dalla funzione definita.Per saperne di più sulla creazione di UDF per routine di mascheramento personalizzate, vedi Creare routine di mascheramento personalizzate.
Maschera anno data. Restituisce il valore della colonna dopo aver troncato il valore al suo anno, impostando tutte le parti non annuali del valore all'inizio dell'anno. Puoi utilizzare questa regola solo con le colonne che utilizzano i tipi di dati
DATE
,DATETIME
eTIMESTAMP
. 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 2030-01-01 00:00:00 Valore di mascheramento predefinito. Restituisce un valore di mascheramento predefinito per la colonna in base al tipo di dati della colonna. Utilizza questa opzione quando vuoi nascondere il valore della colonna, ma rivelare 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 da essere utile per unire le 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
1970-01-01 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 policy non possono essere applicati alle colonne che utilizzano il tipo di dati
STRUCT
, 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, restituisce il valore della colonna dopo l'esecuzione della funzione hash SHA-256. Puoi utilizzare questa regola solo con le colonne che utilizzano il tipo di datiSTRING
. 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, viene restituito il valore della colonna dopo l'esecuzione della funzione hash SHA-256. Puoi utilizzare questa regola solo con le colonne che utilizzano il tipo di datiSTRING
.Hash (SHA-256). Restituisce il valore della colonna dopo l'esecuzione della funzione hash 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 datiSTRING
oBYTES
.La funzione SHA-256 utilizzata per la mascheratura dei dati conserva il tipo, quindi il valore hash restituito ha lo stesso tipo di dati del valore della colonna. Ad esempio, il valore hash per un valore di colonna
STRING
ha anche un tipo di datiSTRING
.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, viene restituito il valore della colonna dopo l'esecuzione della funzione hash SHA-256. Puoi utilizzare questa regola solo con le colonne che utilizzano il tipo di datiSTRING
.Annulla. Restituisce
NULL
anziché il valore della colonna. Utilizza 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 queryJOIN
per gli utenti con accesso Lettore mascherato. Questo perché un valoreNULL
non è sufficientemente univoco da essere utile per unire le tabelle.
Gerarchia delle regole di mascheramento dei dati
Puoi configurare fino a nove criteri dei dati per un tag di criteri, ognuno con una regola di mascheramento dei dati diversa associata. Uno di questi criteri è riservato alle impostazioni di controllo dell'accesso a livello di colonna. In questo modo, è possibile applicare diverse norme sui dati a una colonna nella query di un utente, in base ai gruppi di cui l'utente fa parte. In questo caso, BigQuery sceglie la regola di mascheramento dei dati da applicare in base alla seguente gerarchia:
- Routine di mascheramento personalizzata
- Hash (SHA-256)
- Maschera email
- Ultimi quattro caratteri
- Primi quattro caratteri
- Maschera data anno
- Valore di mascheramento predefinito
- Annulla
Ad esempio, l'utente A è membro dei gruppi dipendenti e contabilità. L'utente A esegue una query che include il campo sales_total
, a cui è applicato il tag di criteri confidential
. Il tag di criteri confidential
ha due policy di dati associate: una che ha il ruolo dei dipendenti come entità e applica la regola di mascheramento dei dati di annullamento e una che ha il ruolo di contabilità come entità e applica la regola di mascheramento dei dati di hashing (SHA-256). In questo caso, la regola di mascheramento dei dati hash (SHA-256) ha la priorità sulla regola di mascheramento dei dati di annullamento, pertanto la regola hash (SHA-256) viene applicata al valore del campo sales_total
nella query dell'utente A.
La figura 3 mostra questo scenario:
Figura 3. Prioritizzazione delle regole di mascheramento dei dati.
Ruoli e autorizzazioni
Ruoli per la gestione di tassonomie e tag di policy
Per creare e gestire tassonomie e tag di criteri, devi disporre del ruolo Amministratore tag di criteri di Data Catalog.
Ruolo/ID | Autorizzazioni | Descrizione |
---|---|---|
Amministratore tag criterio 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 concede la possibilità di:
|
Ruoli per la creazione e la gestione delle norme sui dati
Per creare e gestire le policy dei dati, devi disporre di uno dei seguenti ruoli BigQuery:
Ruolo/ID | Autorizzazioni | Descrizione |
---|---|---|
BigQuery Data Policy Admin/bigquerydatapolicy.admin BigQuery Admin/ bigquery.admin BigQuery Data Owner/ 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 Questo ruolo concede la possibilità di:
|
datacatalog.taxonomies.get
, che puoi ottenere da diversi
dei
ruoli predefiniti di Data Catalog.
Ruoli per collegare i tag di criteri alle colonne
Per allegare tag di policy alle colonne, devi disporre delle autorizzazioni datacatalog.taxonomies.get
e bigquery.tables.setCategory
.
datacatalog.taxonomies.get
è incluso nei ruoli
Amministratore e Visualizzatore dei tag di policy di Data Catalog.
bigquery.tables.setCategory
è incluso nei ruoli
BigQuery Admin (roles/bigquery.admin
) e
BigQuery Data Owner (roles/bigquery.dataOwner
).
Ruoli per l'esecuzione di query sui dati mascherati
Per eseguire query sui dati di una colonna a cui è stata applicata la maschera dei dati, devi disporre del ruolo Lettore mascherato BigQuery.
Ruolo/ID | Autorizzazioni | Descrizione |
---|---|---|
Masked Reader/bigquerydatapolicy.maskedReader
|
bigquery.dataPolicies.maskedGet |
Si applica a livello di norme sui dati. Questo ruolo concede la possibilità di visualizzare i dati mascherati di una colonna associata a una policy di dati. Inoltre, un utente deve disporre delle autorizzazioni appropriate per eseguire query sulla tabella. Per ulteriori informazioni, consulta la sezione Autorizzazioni richieste. |
Interazione tra 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 che alcuni utenti abbiano il ruolo Lettore mascherato BigQuery che consente loro di leggere i dati mascherati, alcuni utenti abbiano il ruolo Lettore granulare Data Catalog che consente loro di leggere i dati non mascherati, alcuni utenti abbiano entrambi i ruoli e alcuni utenti non ne abbiano nessuno. Questi ruoli interagiscono nel seguente modo:
- Utente con i ruoli Lettore granulare e Lettore mascherato: ciò che vede l'utente dipende da dove viene concesso ciascun ruolo nella gerarchia dei tag di criteri. Per ulteriori informazioni, consulta Ereditarietà dell'autorizzazione in una tag di criteri criteri.
- Utente con ruolo Lettore granulare: può visualizzare i dati delle colonne non mascherati (non oscurati).
- Utente con ruolo Lettore mascherato: può visualizzare i dati delle colonne mascherati (oscurati).
- Utente senza nessuno dei due ruoli: autorizzazione negata.
Nel caso in cui una tabella abbia colonne protette o protette e
mascherate, per eseguire un'istruzione SELECT * FROM
su quella tabella,
un utente deve essere membro di gruppi appropriati in modo che gli vengano concessi
i ruoli Lettore mascherato o Lettore granulare per tutte queste colonne.
Un utente a cui non sono concessi questi ruoli deve invece specificare solo le colonne a cui
ha accesso nell'istruzione SELECT
oppure utilizzare SELECT * EXCEPT
(restricted_columns) FROM
per escludere le colonne protette o
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 poi controllati a ogni livello crescente della tassonomia, finché non viene stabilito che l'utente dispone delle autorizzazioni appropriate o non viene raggiunto il livello più alto della gerarchia dtag di criterirme.
Ad esempio, prendi la configurazione del tag di criteri e della policy sui dati mostrata nella Figura 4:
Immagine 4. Configurazione del tag di policy e delle norme relative ai dati.
Hai una colonna della tabella annotata con il tag di criteri Financial
e un utente che è membro dei gruppi ftes@example.com e analysts@example.com. Quando questo utente esegue una query che include la colonna annotata, il suo
accesso è determinato dalla gerarchia definita nella
tassonomia dei tag di criteri. Poiché all'utente viene concesso
il ruolo Lettore granulare Data Catalog dal tag di criteri Financial
, la query restituisce i dati delle colonne non mascherati.
Se un altro utente che è
solo membro del ruolo ftes@example.com esegue una query che include la
colonna annotata, la query restituisce dati della colonna sottoposti ad hashing utilizzando
l'algoritmo SHA-256, perché all'utente viene concesso il ruolo Lettore con maschera BigQuery
dal tag di criteri Confidential
, che è il tag di criteri principale di
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 la configurazione del tag di criteri e della policy dei dati mostrata nella Figura 5:
Figura 5. Configurazione del tag di policy e delle norme relative ai dati.
La situazione è la stessa mostrata nella Figura 4, ma all'utente viene concesso il ruolo Lettore granulare a un livello superiore della gerarchia dei tag di criteri e il ruolo Lettore mascherato a un livello inferiore della gerarchia dei tag di criteri. Per questo motivo, la query restituisce dati delle colonne mascherati per questo utente. Ciò accade anche se all'utente viene concesso il ruolo Lettore granulare più in alto nella gerarchia dei tag, perché il servizio utilizza il primo ruolo assegnato che incontra man mano che sale nella gerarchia dei tag di criteri per verificare l'accesso utente.
Se vuoi creare un unico criterio dei dati e applicarlo a più livelli di una gerarchia di tag di criteri, puoi impostare il criterio dei dati sul tag di criteri che rappresenta il livello gerarchico più alto a cui deve essere applicato. Ad esempio, prendi una tassonomia con la seguente struttura:
- Tag di policy 1
- Tag di policy 1a
- Tag di policy 1ai
- Tag di policy 1b
- Tag di policy 1bi
- Tag di policy 1bii
- Tag di policy 1a
Se vuoi che un criterio per i dati venga applicato a tutti questi tag di policy, imposta il criterio per i dati sul tag di criteri 1. Se vuoi che un criterio per i dati venga applicato al tag di criteri 1b e ai relativi elementi secondari, imposta il criterio per i dati sultag di criterio 1b.
Mascheramento dei dati con funzionalità incompatibili
Quando utilizzi funzionalità BigQuery non compatibili con la maschera dei dati, il servizio considera la colonna mascherata come una colonna protetta e concede l'accesso solo agli utenti che dispongono del ruolo Lettore granulare di Data Catalog.
Ad esempio, prendi la configurazione del tag di criteri e delle norme sui dati mostrata nella Figura 6:
Immagine 6. Configurazione del tag di policy e delle norme relative ai dati.
Hai una colonna della tabella annotata con il tag di criteri Financial
e
un utente membro del gruppo analysts@example.com. Quando questo utente tenta
di accedere alla colonna annotata tramite una delle funzionalità incompatibili, riceve un errore di accesso negato. Questo perché viene concesso il ruolo Lettore mascherato BigQuery dal tag di criteri Financial
, ma in questo caso deve avere il ruolo Lettore granulare Data Catalog.
Poiché il servizio ha già determinato un ruolo applicabile per l'utente, non continua a controllare più in alto nella gerarchia dei tag di criteri per ulteriori autorizzazioni.
Esempio di mascheramento dei dati con output
Per capire come interagiscono tag, entità e ruoli, considera questo esempio.
In example.com, l'accesso di base viene concesso tramite il gruppo data-users@example.com. Tutti i dipendenti che hanno bisogno di accedere regolarmente ai dati BigQuery sono membri 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 a colonne protette o mascherate, 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:
Immagine 7. Tag criterio e criteri relativi ai dati per example.com.
I tag dei criteri vengono quindi associati alle colonne della tabella, come mostrato nella figura 8:
Immagine 8. Tag di policy example.com associati alle colonne della tabella.
Dato che i tag sono associati alle colonne, l'esecuzione di
SELECT * FROM Accounts;
porta ai
seguenti risultati per i diversi gruppi:
data-users@example.com: a questo gruppo è stato concesso il ruolo Lettore mascherato BigQuery per i tag di policy
PII
eConfidential
. 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 per il tag di criteri
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 per il tag di criteri
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 Media 38.000 14 luglio 2021 NULL NULL Bassa 245 5 maggio 1997 NULL fin-dev@example.com: a questo gruppo è stato concesso il ruolo Lettore mascherato BigQuery per iltag di criteriy
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: qualsiasi utente che non appartiene a uno dei gruppi elencati riceve un errore di accesso negato perché non gli sono stati concessi i ruoli Lettore granulare Data Catalog o Lettore mascherato BigQuery. Per eseguire query sulla tabella
Accounts
, devono invece specificare solo le colonne a cui hanno accesso inSELECT * EXCEPT (restricted_columns) FROM Accounts
per escludere le colonne protette o mascherate.
Considerazioni sui costi
La maschera 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 mascherata per lui con le regole di mascheramento Nullify o Default Masking Value, la colonna non viene scansionata, il che comporta l'elaborazione di un numero inferiore di byte.
Limitazioni e restrizioni
Le sezioni seguenti descrivono le categorie di restrizioni e limitazioni a cui è soggetta la maschera dei dati.
Gestione delle norme relative ai dati
- Questa funzionalità potrebbe non essere disponibile quando si utilizzano prenotazioni create con determinate versioni di BigQuery. Per ulteriori informazioni sulle funzionalità abilitate in ogni edizione, vedi Introduzione alle versioni di BigQuery.
- Puoi creare fino a nove policy relative ai dati per ogni tag di criteri. Uno di questi criteri è riservato alle impostazioni di controllo dell'accesso a livello di colonna.
- I criteri per i dati, i tag di policy associati e le routine che li utilizzano devono trovarsi nello stesso progetto.
Tag di criteri
- Il progetto contenente la tassonomia dei tag di criteri deve appartenere a un'organizzazione.
Una gerarchia di tag di criteri non può avere più di cinque livelli di profondità dal nodo radice al tag secondario di livello più basso, come mostrato nello screenshot seguente:
Impostare controllo dell'accesso
Una volta che a una tassonomia è associata una norma sui dati con almeno uno dei suoi tag policy, il controllo dell'accesso viene applicato automaticamente. Se vuoi disattivare controllo dell'accesso, devi prima eliminare tutti i criteri di gestione dei dati associati alla tassonomia.
Viste materializzate e query di mascheramento dei record ripetuti
Se hai viste materializzate esistenti, le query di mascheramento dei record ripetuti sulla tabella di base associata non vanno a buon fine. Per risolvere il problema, elimina la vista materializzata. Se la vista materializzata è necessaria per altri motivi, puoi crearla in un altro set di dati.
Eseguire query sulle colonne mascherate nelle tabelle partizionate
Le query che includono il mascheramento dei dati sulle colonne partizionate o in cluster non sono supportate.
Dialetti SQL
L'SQL precedente non è supportato.
Routine di mascheramento personalizzate
Le routine di mascheramento personalizzate sono soggette alle seguenti limitazioni:
- Il mascheramento dei dati personalizzato supporta tutti i tipi di dati BigQuery, ad eccezione di
STRUCT
, perché il mascheramento dei dati può essere applicato solo ai campi foglia del tipo di datiSTRUCT
. - L'eliminazione di una routine di mascheramento personalizzata non comporta l'eliminazione di tutte le norme relative ai dati che la utilizzano. Tuttavia, i criteri dei dati che utilizzano la routine di mascheramento eliminata
rimangono con una regola di mascheramento vuota. Gli utenti con il ruolo Lettore mascherato in altre norme
dei dati con lo stesso tag possono visualizzare i dati mascherati. Gli altri utenti vedono il messaggio
Permission denied.
I riferimenti sospesi a regole di mascheramento vuote potrebbero essere puliti da processi automatizzati dopo sette giorni.
Compatibilità con altre funzionalità di BigQuery
API BigQuery
Non compatibile con il metodo
tabledata.list
. Per
chiamare tabledata.list
, devi avere accesso completo a tutte le colonne restituite da
questo metodo. Il ruolo Lettore granulare Data Catalog concede
l'accesso appropriato.
Tabelle BigLake
Compatibile. Le policy di mascheramento dei dati vengono applicate alle tabelle BigLake.
API BigQuery Storage Read
Compatibile. I criteri di mascheramento dei dati vengono applicati nell'API BigQuery Storage di lettura.
BigQuery BI Engine
Compatibile. Le policy di mascheramento dei dati vengono applicate in BI Engine. Le query per cui è attivo il mascheramento dei dati non vengono accelerate da BI Engine. L'utilizzo di queste query in Looker Studio potrebbe rendere più lenti e costosi i report o i dashboard correlati.
BigQuery Omni
Compatibile. Le policy di mascheramento dei dati vengono applicate alle tabelle BigQuery Omni.
Regole di confronto
Parzialmente compatibile. Puoi applicare il mascheramento dinamico dei dati alle colonne raggruppate, ma il mascheramento viene applicato prima del raggruppamento. Questo ordine di operazioni può portare a risultati inaspettati, in quanto le regole di confronto potrebbero non influire sui valori mascherati come previsto (ad esempio, la corrispondenza senza distinzione tra maiuscole e minuscole potrebbe non funzionare dopo la mascheratura). Sono possibili soluzioni alternative, ad esempio l'utilizzo di routine di mascheramento personalizzate che normalizzano i dati prima di applicare la funzione di mascheramento.
Job di copia
Non compatibile. Per copiare una tabella dall'origine alla destinazione, devi 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 del ruolo Lettore granulare Data Catalog, i dati esportati non vengono mascherati.
Sicurezza a livello di riga
Compatibile. Il mascheramento dei dati viene applicato sopra la sicurezza a livello di riga. Ad esempio, se
è applicata una policy di accesso alle righe a location = "US"
e location
è
mascherato, gli utenti possono visualizzare le righe in cui location = "US"
, ma il
campo della località è mascherato.
Cerca 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
su colonne a cui è stata applicata la maschera dei dati,
devi utilizzare criteri di ricerca compatibili con il tuo livello di accesso. Ad esempio,
se hai accesso in lettura mascherata con una regola di mascheramento dei dati Hash (SHA-256),
utilizzerai il valore hash nella clausola SEARCH
, in modo simile al seguente:
SELECT * FROM myDataset.Customers WHERE SEARCH(Email, "sg172y34shw94fujaweu");
Se disponi dell'accesso in lettura granulare, utilizzerai il valore effettivo della colonna
nella clausola SEARCH
, in modo simile a quanto segue:
SELECT * FROM myDataset.Customers WHERE SEARCH(Email, "jane.doe@example.com");
La ricerca ha meno probabilità di essere utile se disponi dell'accesso Lettore mascherato a una colonna in cui la regola di mascheramento dei dati utilizzata è Annulla o Valore di mascheramento predefinito. Questo perché i risultati mascherati che utilizzeresti come
criteri di ricerca, ad esempio NULL
o ""
, non sono sufficientemente unici per essere
utili.
Quando esegui una ricerca in una colonna indicizzata a cui è stata applicata la maschera dei dati, l'indice di ricerca viene utilizzato solo se disponi dell'accesso di lettura granulare alla colonna.
Snapshot
Non compatibile. Per creare uno snapshot di una tabella, devi avere accesso completo a tutte le colonne della tabella di origine. Il ruolo Lettore granulare Data Catalog concede l'accesso appropriato.
Ridenominazione della tabella
Compatibile. La ridenominazione delle tabelle non è interessata dalla maschera dei dati.
Viaggio nel tempo
Compatibile sia con i
decoratori temporali sia con l'opzione
FOR SYSTEM_TIME AS OF
nelle istruzioni SELECT
. I tag di criteri per lo schema del set di dati corrente
vengono applicati 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. Nella seguente circostanza, è possibile che un utente a cui non è stato concesso il ruolo Lettore granulare di Data Catalog per una colonna possa comunque visualizzare i dati della colonna quando esegue una query:
- A un utente è stato concesso il ruolo Lettore granulare di Data Catalog su una colonna.
- L'utente esegue una query che include la colonna con limitazioni e i dati vengono memorizzati nella cache.
- Entro 24 ore dal passaggio 2, all'utente viene concesso il ruolo Lettore mascherato BigQuery e viene revocato il ruolo Lettore granulare Data Catalog.
- Entro 24 ore dal passaggio 2, l'utente esegue la stessa query e vengono restituiti i dati memorizzati nella cache.
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
- Ricevi istruzioni passo passo per attivare la mascheratura dei dati.