Mascherare i dati delle colonne

Questo documento mostra come implementare il mascheramento dei dati per nascondere in modo selettivo i dati sensibili. Implementando la mascheratura dei dati, puoi fornire diversi livelli di visibilità a diversi gruppi di utenti. Per informazioni generali, consulta la sezione Introduzione al mascheramento dei dati.

Puoi implementare la mascheratura dei dati aggiungendo un criterio dei dati a una colonna. Per aggiungere un criterio di mascheramento dei dati a una colonna, devi completare i seguenti passaggi :

  1. Crea una tassonomia con almeno un tag di criteri.
  2. (Facoltativo) Concedi il ruolo Lettore granulare Data Catalog a uno o più entità in uno o più dei tag di criteri che hai creato.
  3. Crea fino a tre criteri dei dati per il tag di criteri, per mappare le regole di mascheramento e le entità (che rappresentano utenti o gruppi) a quel tag.
  4. 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.
  5. 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 relativi ai dati del 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 concessi. Per ulteriori informazioni, consulta Come interagiscono i ruoli Lettore mascherato e Lettore granulare.

Prima di iniziare

  1. 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.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Data Catalog and BigQuery Data Policy APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Data Catalog and BigQuery Data Policy APIs.

    Enable the APIs

  8. BigQuery viene attivato automaticamente nei nuovi progetti, ma potrebbe essere necessario attivarlo in un progetto esistente.

    Enable the BigQuery API.

    Enable the API

  9. Se stai creando un criterio relativo ai dati che fa riferimento a una routine di mascheramento personalizzata, crea la UDF di mascheramento associata in modo che sia disponibile nei seguenti passaggi.

Creazione tassonomie

All'account utente o di servizio che crea una tassonomia deve essere concesso il ruolo Amministratore dei tag dei criteri del catalogo di dati.

Console

  1. Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.

    Apri la pagina Tassonomie di tag di criteri

  2. Fai clic su Crea tassonomia.
  3. Nella pagina Nuova tassonomia:

    1. In Nome tassonomia, inserisci il nome della tassonomia che vuoi creare.
    2. In Descrizione, inserisci una descrizione.
    3. Se necessario, modifica il progetto elencato in Progetto.
    4. Se necessario, modifica la località indicata in Posizione.
    5. In Tag delle norme, inserisci un nome e una descrizione per tag di criteri.
    6. Per aggiungere un tag di criteri figlio per un tag di criteri, fai clic su Aggiungi sottotag.
    7. Per aggiungere un nuovo tag di criteri allo stesso livello di un altro tag di criteri, fai clic su + Aggiungi tag di criteri.
    8. Continua ad aggiungere tag di criteri e tag di criteri figlio in base alle esigenze della tua tassonomia.
    9. Quando hai finito di creare i tag criterio per la gerarchia, fai clic su Crea.

API

Per utilizzare le tassonomie esistenti, chiama taxonomies.import al posto dei primi due passaggi della procedura che segue.

  1. Chiama taxonomies.create per creare una tassonomia.
  2. 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 actualizarli, consulta Utilizzare i tag di criteri. Per le best practice, consulta Best practice per l'utilizzo dei tag di criteri in BigQuery.

Crea criteri per i dati

L'account utente o di servizio che crea un criterio relativo ai 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 BigQuery Data Policy Admin, BigQuery Admin e BigQuery Data Owner. L'autorizzazione datacatalog.taxonomies.get è inclusa nei ruoli Amministratore di Data Catalog e Visualizzatore di Data Catalog.

Se stai creando un criterio relativo ai dati che fa riferimento a una routine di mascheramento personalizzata, devi disporre anche delle autorizzazioni di routine.

In caso di mascheramento personalizzato, concedi agli utenti i ruoli Amministratore BigQuery o Proprietario dati BigQuery per assicurarti che dispongano delle autorizzazioni necessarie sia per le routine sia per i criteri dei dati.

Puoi creare fino a nove criteri relativi ai dati per un tag di criteri. Uno di questi criteri è riservato alle impostazioni di controllo dell'accesso a livello di colonna.

Console

  1. Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.

    Apri la pagina Tassonomie di tag di criteri

  2. Fai clic sul nome della tassonomia da aprire.
  3. Seleziona un tag di criteri.
  4. Fai clic su Gestisci i criteri relativi ai dati.
  5. In Nome criterio dati, digita un nome per il criterio dati. Il nome della policy relativa ai dati deve essere univoco all'interno del progetto in cui si trova.
  6. 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 e bigquery.routines.list a livello di progetto.
  7. In Principale, 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 ai gruppi inseriti qui viene concesso il ruolo Lettore mascherato BigQuery.
  8. Fai clic su Invia.

API

  1. Chiama il metodo create. Passa una DataPolicy risorsa che soddisfi i seguenti requisiti:

    • Il campo dataPolicyType è impostato su DATA_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 relativo ai dati che è univoco all'interno del progetto in cui si trova.
  2. Chiama il metodo setIamPolicy e passa un Policy. Policy deve identificare le entità a cui è concesso l'accesso ai dati mascherati e specificare roles/bigquerydatapolicy.maskedReader per il campo role.

Impostare i tag di policy sulle colonne

Imposta un criterio dei dati su una colonna collegando il tag di criteri associato al criterio dei dati alla colonna.

L'account utente o 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 dei tag delle norme e Visualizzatore progetto di Data Catalog. bigquery.tables.setCategory è incluso nei ruoli BigQuery Admin (roles/bigquery.admin) e BigQuery Data Owner (roles/bigquery.dataOwner).

Per visualizzare le tassonomie e i tag delle norme in tutti i progetti di un'organizzazione nella console Google 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 console Google Cloud.

  1. Apri la pagina BigQuery nella console Google Cloud.

    Vai alla pagina BigQuery

  2. In BigQuery Explorer, individua e seleziona la tabella che vuoi aggiornare. Si apre lo schema della tabella.

  3. Fai clic su Modifica schema.

  4. Nella schermata Schema attuale, seleziona la colonna di destinazione e fai clic su Aggiungi tag delle norme.

  5. Nella schermata Aggiungi un tag delle norme, individua e seleziona il tag di criteri da applicare alla colonna.

  6. Fai clic su Seleziona. La schermata dovrebbe essere simile a questa:

    Modifica lo schema.

  7. Fai clic su Salva.

bq

  1. 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.
  2. Modifica schema.json per impostare un tag di criteri su una colonna. Per il valore del names campo di policyTags, utilizza il nome della risorsa tag policy.

    [
     ...
     {
       "name": "ssn",
       "type": "STRING",
       "mode": "REQUIRED",
       "policyTags": {
         "names": ["projects/project-id/locations/location/taxonomies/taxonomy-id/policyTags/policytag-id"]
       }
     },
     ...
    ]
  3. 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 esempio della riga di comando per scoprire come impostare un tag di criteri.

Quando si lavora con una tabella esistente, è preferibile utilizzare il metodo tables.patch, poiché il metodo tables.update sostituisce l'intera risorsa tabella.

Applica controllo di accesso

Quando crei una norma relativa ai dati per un tag di criteri, controllo dell'accesso viene applicato automaticamente. Tutte le colonne a cui è stato applicato il tag di criteri restituiscono dati mascherati in risposta alle query degli utenti che dispongono del 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, consulta Applicare il controllo dell'accesso.

Controllare le autorizzazioni IAM per un criterio relativo ai dati

Per vedere quali autorizzazioni hai per un criterio relativo ai dati, chiama il metodo testIamPermissions.

Aggiornare i criteri dei dati

L'account utente o di servizio che aggiorna un criterio relativo ai dati deve disporre dell'autorizzazionebigquery.dataPolicies.update. Se stai aggiornando il tag di criteri a cui è associato il criterio relativo ai dati, devi disporre anche dell'autorizzazione datacatalog.taxonomies.get.

Se stai aggiornando i principali associati alle norme relative ai dati, devi avere l'autorizzazione bigquery.dataPolicies.setIamPolicy.

Le autorizzazioni bigquery.dataPolicies.update e bigquery.dataPolicies.setIamPolicy sono incluse nei ruoli BigQuery Data Policy Admin, BigQuery Admin e BigQuery Data Owner. L'autorizzazione datacatalog.taxonomies.get è inclusa nei ruoli Amministratore di Data Catalog e Visualizzatore di Data Catalog.

Console

  1. Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.

    Apri la pagina Tassonomie di tag di criteri

  2. Fai clic sul nome della tassonomia da aprire.
  3. Seleziona un tag di criteri.
  4. Fai clic su Gestisci i criteri relativi ai dati.
  5. Se vuoi, modifica la regola di mascheramento.
  6. (Facoltativo) Aggiungi o rimuovi i principali.
  7. Fai clic su Invia.

API

Per modificare la regola di mascheramento dei dati, chiama il metodo patch e passa una DataPolicy risorsa con un campo dataMaskingPolicy aggiornato.

Per modificare le entità associate a un criterio dei dati, chiama il metodo setIamPolicy e passa un Policy che aggiorna le entità a cui è concesso l'accesso ai dati mascherati.

Eliminare i criteri relativi ai dati

L'account utente o di servizio che crea un criterio relativo ai dati deve disporre dell'autorizzazionebigquery.dataPolicies.delete. Questa autorizzazione è inclusa nei ruoli BigQuery Data Policy Admin, BigQuery Admin e BigQuery Data Owner.

Console

  1. Apri la pagina Tassonomie di tag di criteri nella console Google Cloud.

    Apri la pagina Tassonomie di tag di criteri

  2. Fai clic sul nome della tassonomia da aprire.
  3. Seleziona un tag di criteri.
  4. Fai clic su Gestisci i criteri relativi ai dati.
  5. Fai clic su accanto al criterio relativo ai dati da eliminare.
  6. Fai clic su Invia.
  7. Fai clic su Conferma.

API

Per eliminare un criterio relativo ai dati, chiama il metodo delete.