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 :

  1. Crea una tassonomia con almeno un tag di criteri.
  2. (Facoltativo) Concedi il ruolo Lettore granulare Data Catalog a una o più entità per uno o più tag di criteri che hai creato.
  3. 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.
  4. Imposta il tag di criteri su una colonna. che mappa le norme relative ai dati associate altag di criteriy 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 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

  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 potresti doverlo attivare in un progetto preesistente.

    Enable the BigQuery API.

    Enable the API

  9. 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.
  10. Creazione tassonomie

    All'utente o account di servizio che crea una tassonomia deve essere concesso il ruolo Amministratore tag di policy Data Catalog.

    Console

    1. Apri la pagina Tassonomie di tag di criteri nella consoleGoogle 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 posizione elencata in Posizione.
      5. In Tag norma, inserisci un nome e una descrizione per il tag di criteri.
      6. Per aggiungere un tag di criteri figlio a un tag di criteri, fai clic su Aggiungi tag secondario.
      7. Per aggiungere un nuovo tag di criteri allo stesso livello di un altro tag di criteri, fai clic su + Aggiungi tag di policy.
      8. Continua ad aggiungere tag policy e tag policy figlio in base alle esigenze della tua tassonomia.
      9. Al termine della creazione dei 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 seguente procedura.

    1. Chiama taxonomies.create per creare una tassonomia.
    2. Chiama taxonomies.policytag.create per creare un tag di criteri.

    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

    1. Apri la pagina Tassonomie di tag di criteri nella consoleGoogle 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 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.
    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 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.
    8. Fai clic su Invia.

    API

    1. Chiama il metodo create. Trasmetti una risorsa DataPolicy 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 la norma sui dati che è univoco all'interno del progetto in cui si trova la norma sui dati.
    2. Chiama il metodo setIamPolicy e passa un Policy. Policy deve identificare le entità a cui viene concesso l'accesso ai dati mascherati e specificare roles/bigquerydatapolicy.maskedReader per il campo role.

    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 .

    1. Apri la pagina BigQuery nella console Google Cloud .

      Vai alla pagina BigQuery

    2. In BigQuery Explorer, individua e seleziona la tabella da 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 di policy.

    5. Nella schermata Aggiungi un tag di policy, individua e seleziona il tag di criteri che vuoi applicare alla colonna.

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

      Modifica 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 campo names di policyTags, 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"]
         }
       },
       ...
      ]
    3. Aggiorna lo schema.

      bq update \
         project-id:dataset.table schema.json

    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

    1. Apri la pagina Tassonomie di tag di criteri nella consoleGoogle 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. (Facoltativo) Modifica la regola di mascheramento.
    6. (Facoltativo) Aggiungi o rimuovi i principal.
    7. 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 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

    1. Apri la pagina Tassonomie di tag di criteri nella consoleGoogle 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.