Maschera dati colonna
Questo documento mostra come implementare il mascheramento dei dati al fine di oscurare selettivamente i dati sensibili. Con l'implementazione del mascheramento dei dati, puoi fornire diversi livelli di visibilità a diversi gruppi di utenti. Per informazioni generali, consulta Introduzione al mascheramento dei dati.
Puoi implementare il mascheramento dei dati aggiungendo un criterio sui dati a una colonna. Per aggiungere un criterio 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à in uno o più tag di criteri che hai creato.
- Crea fino a tre criteri relativi ai dati per il tag di criteri al fine di mappare le regole e le entità di mascheramento (che rappresentano utenti o gruppi) a quel tag.
- Imposta il tag di criteri su una colonna. In questo modo, i criteri relativi ai dati associati al tag di criteri vengono mappati alla colonna selezionata.
- Assegna il ruolo Lettore mascherato BigQuery agli utenti che devono avere accesso ai dati mascherati. Come best practice, assegna il 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 causati da autorizzazioni in eccesso.
Puoi utilizzare la console Google Cloud o l'API BigQuery Data Policy per lavorare con i criteri sui 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 loro assegnati. Per ulteriori informazioni, consulta Come interagiscono i ruoli Lettore mascherato e Lettore granulare.
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Data Catalog and BigQuery Data Policy.
-
Nella pagina del selettore di progetti della console Google Cloud, seleziona o crea un progetto Google Cloud.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API Data Catalog and BigQuery Data Policy.
- BigQuery viene abilitato automaticamente nei nuovi progetti, ma potrebbe essere necessario attivarlo in un progetto preesistente.
Attiva l'API BigQuery.
- Se stai creando un criterio relativo ai dati che fa riferimento a una routine di mascheramento personalizzata, crea la funzione definita dall'utente di mascheramento associata in modo che sia disponibile nei passaggi seguenti.
Creazione tassonomie
All'account utente o di servizio che crea una tassonomia deve essere concesso il ruolo Amministratore tag di criteri di Data Catalog.
Console
- Apri la pagina Tassonomie di tag di criteri nella console Google 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, cambia la località indicata sotto Località.
- In Tag di criteri, inserisci un nome e una descrizione per il tag di criteri.
- Per aggiungere un tag di criterio secondario per un tag di criteri, fai clic su Aggiungi sottotag.
- Per aggiungere un nuovo tag di criteri allo stesso livello di un altro tag di criteri, fai clic su + Aggiungi tag di criteri.
- Continua ad aggiungere tag di criteri e tag di criteri figlio in base alle esigenze della tua tassonomia.
- Al termine della creazione dei tag di criteri per la gerarchia, fai clic su Crea.
API
Per utilizzare le tassonomie esistenti, chiama
taxonomies.import
al posto dei primi due passaggi della procedura seguente.
- Chiama
taxonomies.create
per creare una tassonomia. - Chiama
taxonomies.policytag.create
per creare un tag di criteri.
Utilizzare i tag di criteri
Per ulteriori informazioni su come utilizzare i tag di criteri, ad esempio su come visualizzarli o aggiornarli, consulta Utilizzare i tag di criteri. Per le best practice, consulta Best practice per l'utilizzo dei tag di criteri in BigQuery.
Crea criteri relativi ai dati
L'account utente o di servizio che crea un criterio relativo ai dati deve avere le autorizzazioni bigquery.dataPolicies.create
, bigquery.dataPolicies.setIamPolicy
e datacatalog.taxonomies.get
.
Se stai creando un criterio relativo ai dati che fa riferimento a una routine di mascheramento personalizzata, devi avere anche le autorizzazioni di routine.
Queste autorizzazioni sono incluse nei ruoli Amministratore BigQuery e Proprietario dati BigQuery.
Puoi creare fino a nove criteri di dati per un tag di criteri. Uno di questi criteri è riservato per le impostazioni di controllo dell'accesso a livello di colonna.
Console
- Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.
- Fai clic sul nome della tassonomia da aprire.
- Seleziona un tag di criteri.
- Fai clic su Gestisci norme relative ai dati.
- In Nome criterio dati, digita un nome per il criterio sui dati. Il nome del criterio relativo ai dati deve essere univoco all'interno del progetto in cui si trova il criterio sui dati.
- 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 di entrambe le 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.
API
Chiama il metodo
create
. Passa 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 il criterio sui dati univoco all'interno del progetto in cui si trova il criterio sui dati.
- Il campo
Chiama il metodo
setIamPolicy
e trasmetti unPolicy
.Policy
deve identificare le entità a cui viene concesso l'accesso ai dati mascherati e specificareroles/bigquerydatapolicy.maskedReader
per il camporole
.
Imposta tag criterio sulle colonne
Imposta un criterio relativo ai dati su una colonna collegando alla colonna il tag di criteri associato al criterio relativo ai dati.
L'account utente o di servizio che imposta un tag di criteri deve avere le autorizzazioni datacatalog.taxonomies.get
e bigquery.tables.setCategory
.
datacatalog.taxonomies.get
è incluso nei ruoli Amministratore tag criterio di Data Catalog e Visualizzatore progetto.
bigquery.tables.setCategory
è incluso nei ruoli
Amministratore BigQuery (roles/bigquery.admin
) e
Proprietario dati BigQuery (roles/bigquery.dataOwner
).
Console
Imposta il tag di criteri modificando uno schema utilizzando la console Google Cloud.
Apri la pagina BigQuery nella console Google Cloud.
In BigQuery Explorer, individua e seleziona la tabella che vuoi aggiornare. Si apre lo schema della tabella in questione.
Fai clic su Modifica schema.
Nella schermata Schema corrente, seleziona la colonna di destinazione e fai clic su Aggiungi tag criterio.
Nella schermata Aggiungi un tag di criteri, individua e seleziona il tag di criterio che vuoi applicare alla colonna.
Fai clic su Seleziona. La schermata dovrebbe essere simile alla seguente:
Fai clic su Salva.
bq
Scrivere 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 della risorsa tag di criteri.[ ... { "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
API
Per le tabelle esistenti, chiama tables.patch
o, per le nuove tabelle, chiama
tables.insert
. Utilizza la
proprietà schema
dell'oggetto Table
che passi
per impostare un tag di criteri nella definizione dello schema. Consulta lo schema di esempio della riga di comando
per vedere come impostare un tag di criteri.
Quando lavori con una tabella esistente, è preferibile il metodo tables.patch
, perché il metodo tables.update
sostituisce l'intera risorsa della tabella.
Applica controllo di accesso
Quando crei un criterio relativo ai dati per un tag di criteri, controllo dell'accesso viene applicato automaticamente. Tutte le colonne in cui è applicato il tag di criteri restituiscono dati mascherati in risposta alle query degli utenti con il ruolo Lettore mascherato.
Per interrompere l'applicazione del controllo dell'accesso, devi prima eliminare tutti i criteri relativi ai dati associati ai tag di criteri nella tassonomia. Per maggiori informazioni, consulta Applicare il controllo dell'accesso.
Controlla le autorizzazioni IAM su un criterio di dati
Per vedere di quali autorizzazioni disponi per un criterio relativo ai dati, chiama il metodo testIamPermissions
.
Aggiorna i criteri relativi ai dati
L'account utente o di servizio che aggiorna un criterio relativo ai dati deve avere l'autorizzazione bigquery.dataPolicies.update
.
Se aggiorni il tag di criteri a cui è associato il criterio relativo ai dati, devi disporre anche dell'autorizzazione datacatalog.taxonomies.get
.
Se stai aggiornando le entità associate al criterio dei dati, devi
richiedere l'autorizzazione bigquery.dataPolicies.setIamPolicy
.
Le autorizzazioni bigquery.dataPolicies.update
e bigquery.dataPolicies.setIamPolicy
sono incluse nei ruoli Amministratore di BigQuery e Proprietario dati BigQuery.
L'autorizzazione datacatalog.taxonomies.get
è inclusa nei ruoli Amministratore Data Catalog e Visualizzatore Data Catalog.
Console
- Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.
- Fai clic sul nome della tassonomia da aprire.
- Seleziona un tag di criteri.
- Fai clic su Gestisci norme relative ai dati.
- Se vuoi, modifica la regola di mascheramento.
- (Facoltativo) Aggiungi o rimuovi entità.
- Fai clic su Invia.
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 un criterio di dati, chiama il metodo
setIamPolicy
e trasmetti un
Policy
che aggiorna
le entità a cui è concesso l'accesso ai dati mascherati.
Elimina criteri relativi ai dati
L'account utente o di servizio che crea un criterio relativo ai dati deve avere l'autorizzazione bigquery.dataPolicies.delete
. Questa autorizzazione è inclusa nei ruoli Amministratore BigQuery e Proprietario dati BigQuery.
Console
- Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.
- Fai clic sul nome della tassonomia da aprire.
- Seleziona un tag di criteri.
- Fai clic su Gestisci norme relative ai dati.
- Fai clic su accanto al criterio relativo ai dati da eliminare.
- Fai clic su Invia.
- Fai clic su Conferma.
API
Per eliminare un criterio relativo ai dati, chiama il metodo delete
.