Mascherare i dati delle colonne
Questo documento mostra come implementare la maschera dei dati per oscurare selettivamente i dati sensibili. Implementando il mascheramento dei dati, puoi fornire diversi livelli di visibilità a gruppi di utenti diversi. Per informazioni generali, vedi Introduzione al mascheramento dei dati.
Per implementare il mascheramento dei dati, aggiungi una norma relativa ai dati a una colonna. Per aggiungere una policy di mascheramento dei dati a una colonna, devi completare i seguenti passaggi :
- Crea una tassonomia con almeno un tag di criteri.
- (Facoltativo) Concedi il ruolo Lettore granulare Data Catalog a una o più entità per uno o più tag di criteri che hai creato.
- Crea fino a tre policy dei dati per il tag di criteri, per mappare le regole di mascheramento e le entità (che rappresentano utenti o gruppi) a quel tag.
- Imposta il tag di criteri su una colonna. che mappa le norme relative ai dati associate altag di criteriy alla colonna selezionata.
- 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.
Puoi utilizzare la console Google Cloud o l'API BigQuery Data Policy per lavorare con i criteri dei dati.
Una volta completati questi passaggi, gli utenti che eseguono query sulla colonna ricevono dati non mascherati, dati mascherati o un errore di accesso negato, a seconda dei gruppi a cui appartengono e dei ruoli che sono stati loro concessi. Per ulteriori informazioni, consulta Come interagiscono i ruoli Lettore mascherato e Lettore granulare.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Data Catalog and BigQuery Data Policy APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Data Catalog and BigQuery Data Policy APIs.
- BigQuery viene attivato automaticamente nei nuovi progetti, ma potresti doverlo attivare in un progetto preesistente.
Enable the BigQuery API.
- Se stai creando una norma sui dati che fa riferimento a una routine di mascheramento personalizzata, crea la UDF di mascheramento associata in modo che sia disponibile nei passaggi successivi.
- Apri la pagina Tassonomie di tag di criteri nella consoleGoogle Cloud .
- Fai clic su Crea tassonomia.
Nella pagina Nuova tassonomia:
- In Nome tassonomia, inserisci il nome della tassonomia che vuoi creare.
- In Descrizione, inserisci una descrizione.
- Se necessario, modifica il progetto elencato in Progetto.
- Se necessario, modifica la posizione elencata in Posizione.
- In Tag norma, inserisci un nome e una descrizione per il tag di criteri.
- Per aggiungere un tag di criteri figlio a un tag di criteri, fai clic su Aggiungi tag secondario.
- Per aggiungere un nuovo tag di criteri allo stesso livello di un altro tag di criteri, fai clic su + Aggiungi tag di policy.
- Continua ad aggiungere tag policy e tag policy figlio in base alle esigenze della tua tassonomia.
- Al termine della creazione dei tag criterio per la gerarchia, fai clic su Crea.
- Chiama
taxonomies.create
per creare una tassonomia. - Chiama
taxonomies.policytag.create
per creare un tag di criteri. - Apri la pagina Tassonomie di tag di criteri nella consoleGoogle Cloud .
- Fai clic sul nome della tassonomia da aprire.
- Seleziona un tag di criteri.
- Fai clic su Gestisci i criteri relativi ai dati.
- In Nome norma sui dati, digita un nome per la norma sui dati. Il nome della norma deve essere univoco all'interno del progetto in cui si trova.
- Per Regola di mascheramento, scegli una regola di mascheramento predefinita o una routine di mascheramento personalizzata. Se selezioni una routine di mascheramento personalizzata, assicurati
di disporre delle autorizzazioni
bigquery.routines.get
ebigquery.routines.list
a livello di progetto. - In Entità, digita il nome di uno o più utenti o gruppi a cui vuoi concedere l'accesso mascherato alla colonna. Tieni presente che a tutti gli utenti e i gruppi che inserisci qui viene concesso il ruolo Lettore mascherato BigQuery.
- Fai clic su Invia.
Chiama il metodo
create
. Trasmetti una risorsaDataPolicy
che soddisfi i seguenti requisiti:- Il campo
dataPolicyType
è impostato suDATA_MASKING_POLICY
. - Il campo
dataMaskingPolicy
identifica la regola o la routine di mascheramento dei dati da utilizzare. - Il campo
dataPolicyId
fornisce un nome per la norma sui dati che è univoco all'interno del progetto in cui si trova la norma sui dati.
- Il campo
Chiama il metodo
setIamPolicy
e passa unPolicy
.Policy
deve identificare le entità a cui viene concesso l'accesso ai dati mascherati e specificareroles/bigquerydatapolicy.maskedReader
per il camporole
.Apri la pagina BigQuery nella console Google Cloud .
In BigQuery Explorer, individua e seleziona la tabella da aggiornare. Si apre lo schema della tabella.
Fai clic su Modifica schema.
Nella schermata Schema attuale, seleziona la colonna di destinazione e fai clic su Aggiungi tag di policy.
Nella schermata Aggiungi un tag di policy, individua e seleziona il tag di criteri che vuoi applicare alla colonna.
Fai clic su Seleziona. La schermata dovrebbe essere simile a questa:
Fai clic su Salva.
Scrivi lo schema in un file locale.
bq show --schema --format=prettyjson \ project-id:dataset.table > schema.json
dove:
- project-id è l'ID progetto.
- dataset è il nome del set di dati contenente la tabella che stai aggiornando.
- table è il nome della tabella che stai aggiornando.
Modifica schema.json per impostare un tag di criteri su una colonna. Per il valore del campo
names
dipolicyTags
, utilizza il nome risorsa del tag policy.[ ... { "name": "ssn", "type": "STRING", "mode": "REQUIRED", "policyTags": { "names": ["projects/project-id/locations/location/taxonomies/taxonomy-id/policyTags/policytag-id"] } }, ... ]
Aggiorna lo schema.
bq update \ project-id:dataset.table schema.json
- Apri la pagina Tassonomie di tag di criteri nella consoleGoogle Cloud .
- Fai clic sul nome della tassonomia da aprire.
- Seleziona un tag di criteri.
- Fai clic su Gestisci i criteri relativi ai dati.
- (Facoltativo) Modifica la regola di mascheramento.
- (Facoltativo) Aggiungi o rimuovi i principal.
- Fai clic su Invia.
- Apri la pagina Tassonomie di tag di criteri nella consoleGoogle Cloud .
- Fai clic sul nome della tassonomia da aprire.
- Seleziona un tag di criteri.
- Fai clic su Gestisci i criteri relativi ai dati.
- Fai clic su accanto al criterio relativo ai dati da eliminare.
- Fai clic su Invia.
- Fai clic su Conferma.
Creazione tassonomie
All'utente o account di servizio che crea una tassonomia deve essere concesso il ruolo Amministratore tag di policy Data Catalog.
Console
API
Per utilizzare le tassonomie esistenti, chiama
taxonomies.import
al posto dei primi due passaggi della seguente procedura.
Utilizzare i tag di policy
Per saperne di più su come utilizzare i tag delle norme, ad esempio come visualizzarli o aggiornarli, consulta Utilizzare i tag delle norme. Per le best practice, consulta Best practice per l'utilizzo dei tag di criteri in BigQuery.
Creare norme relative ai dati
L'utente o il account di servizio che crea una norma sui dati deve disporre delle autorizzazioni
bigquery.dataPolicies.create
, bigquery.dataPolicies.setIamPolicy
e
datacatalog.taxonomies.get
.
Le autorizzazioni bigquery.dataPolicies.create
e bigquery.dataPolicies.setIamPolicy
sono incluse nei ruoli Amministratore policy dei dati BigQuery, Amministratore BigQuery e Proprietario dati BigQuery.
L'autorizzazione datacatalog.taxonomies.get
è inclusa nei ruoli
Amministratore Data Catalog e Visualizzatore Data Catalog.
Se stai creando una norma sui dati che fa riferimento a una routine di mascheramento personalizzata, devi anche disporre delle autorizzazioni per le routine.
In caso di mascheramento personalizzato, concedi agli utenti i ruoli Amministratore BigQuery o Proprietario dati BigQuery per assicurarti che dispongano delle autorizzazioni necessarie per le routine e le norme sui dati.
Puoi creare fino a nove policy relative ai dati per un tag di criteri. Uno di questi criteri è riservato alle impostazioni di controllo dell'accesso a livello di colonna.
Console
API
Imposta tag di policy sulle colonne
Imposta una policy dei dati su una colonna collegando il tag di criteri associato alla policy dei dati alla colonna.
L'utente o il account di servizio che imposta un tag di criteri deve disporre delle autorizzazioni
datacatalog.taxonomies.get
e bigquery.tables.setCategory
.
datacatalog.taxonomies.get
è incluso nei ruoli
Amministratore tag di policy di Data Catalog e Visualizzatore progetto.
bigquery.tables.setCategory
è incluso nei ruoli
BigQuery Admin (roles/bigquery.admin
) e
BigQuery Data Owner (roles/bigquery.dataOwner
).
Per visualizzare le classificazioni e i tag di policy in tutti i progetti di un'organizzazione nella consoleGoogle Cloud , gli utenti devono disporre dell'autorizzazione resourcemanager.organizations.get
, inclusa nel ruolo Visualizzatore organizzazione.
Console
Imposta il tag di criteri modificando uno schema utilizzando la consoleGoogle Cloud .
bq
API
Per le tabelle esistenti, chiama il numero tables.patch
o, per le nuove tabelle, chiama il numero
tables.insert
. Utilizza la proprietà
schema
dell'oggetto Table
che trasmetti
per impostare un tag di criteri nella definizione dello schema. Consulta lo schema dell'esempio di riga di comando
per scoprire come impostare untag di criteriy.
Quando lavori con una tabella esistente, è preferibile il metodo tables.patch
, perché il metodo tables.update
sostituisce l'intera risorsa tabella.
Applica controllo di accesso
Quando crei una policy relativa ai dati per un tag di criteri, controllo dell'accesso viene applicato automaticamente. Tutte le colonne a cui è applicato questo tag di criteri restituiscono dati mascherati in risposta alle query degli utenti con ruolo Lettore mascherato.
Per interrompere l'applicazione del controllo dell'accesso, devi prima eliminare tutti i criteri dei dati associati ai tag criterio nella tassonomia. Per ulteriori informazioni, vedi Applicare il controllo dell'accesso.
Controllare le autorizzazioni IAM per una norma sui dati
Per visualizzare le autorizzazioni che hai per una norma sui dati, chiama il metodo
testIamPermissions
.
Aggiornare le norme relative ai dati
L'utente o il account di servizio che aggiorna una norma sui dati deve disporre dell'autorizzazione
bigquery.dataPolicies.update
.
Se stai aggiornando il tag di criteri a cui sono associati i criteri relativi ai dati, devi disporre anche dell'autorizzazione datacatalog.taxonomies.get
.
Se stai aggiornando i principal associati alle norme sui dati, devi
disporre dell'autorizzazione bigquery.dataPolicies.setIamPolicy
.
Le autorizzazioni bigquery.dataPolicies.update
e bigquery.dataPolicies.setIamPolicy
sono incluse nei ruoli Amministratore policy dei dati BigQuery, Amministratore BigQuery e Proprietario dati BigQuery.
L'autorizzazione datacatalog.taxonomies.get
è inclusa nei ruoli
Amministratore Data Catalog e Visualizzatore Data Catalog.
Console
API
Per modificare la regola di mascheramento dei dati, chiama il metodo
patch
e trasmetti una risorsa
DataPolicy
con un campo dataMaskingPolicy
aggiornato.
Per modificare le entità associate a una policy dei dati, chiama il metodo
setIamPolicy
e passa un
Policy
che aggiorna
le entità a cui viene concesso l'accesso ai dati mascherati.
Eliminare i criteri relativi ai dati
L'utente o il account di servizio che crea una norma sui dati deve disporre dell'autorizzazione
bigquery.dataPolicies.delete
. Questa autorizzazione è inclusa nei ruoli
Amministratore policy dei dati BigQuery, Amministratore BigQuery e Proprietario dati BigQuery.
Console
API
Per eliminare un criterio relativo ai dati, chiama il metodo
delete
.