Visualizzazioni autorizzate
Questo documento descrive come creare visualizzazioni autorizzate e viste materializzate autorizzate in BigQuery.
Panoramica
In qualità di amministratore dei dati, puoi creare una visualizzazione autorizzata per condividere un sottoinsieme di dati in un set di dati con utenti e gruppi (principal) specifici. I principali possono visualizzare i dati che condividi ed eseguire query su di essi, ma non possono accedere direttamente al set di dati di origine.
Tipi di visualizzazione
Una vista logica è il tipo di vista predefinito per BigQuery, mentre una vista materializzata è una vista precalcolata che memorizza nella cache periodicamente i risultati di una query per migliorare le prestazioni e l'efficienza.
Una vista autorizzata per una vista logica è chiamata vista autorizzata, ma una vista autorizzata per una vista materializzata è chiamata vista materializzata autorizzata.
Se una vista logica si basa su una query di grandi dimensioni o con un costo computazionale elevato, puoi creare una vista materializzata. Tuttavia, eseguire query solo su un sottoinsieme di dati o utilizzare altre tecniche può spesso migliorare il rendimento senza dover creare una vista materializzata.
Per maggiori informazioni, consulta le seguenti risorse:
Passaggi di alto livello per la creazione di viste autorizzate
Per creare e condividere una vista, consulta questi passaggi di alto livello, che sono gli stessi per le viste logiche autorizzate e le viste materializzate autorizzate.
- Crea un set di dati contenente i dati di origine.
- Esegui una query per caricare i dati in una tabella di destinazione nel set di dati di origine.
- Crea un set di dati contenente la vista autorizzata.
- Crea una vista autorizzata da una query SQL che limiti le colonne che gli analisti dei dati possono vedere nei risultati della query.
- Concedi agli analisti dei dati l'autorizzazione a eseguire job di query.
- Concedi ai tuoi analisti dei dati l'accesso al set di dati che contiene la visualizzazione autorizzata.
- Concedi alla visualizzazione autorizzata l'accesso al set di dati di origine.
Alternative
Sebbene le visualizzazioni autorizzate siano flessibili e scalabili, uno dei seguenti metodi potrebbe essere più adatto al tuo caso d'uso:
- Imposta i criteri a livello di riga in una tabella.
- Imposta i criteri a livello di colonna in una tabella.
- Archivia i dati in una tabella separata.
- Condividere tutte le visualizzazioni in un set di dati (set di dati autorizzati).
Utilizza la sicurezza a livello di riga o di colonna o tabelle separate
Impostando criteri di accesso a livello di riga in una tabella o creando una tabella distinta per memorizzare i dati sensibili, un amministratore dei dati può limitare la possibilità di un utente di visualizzare questi dati. La memorizzazione dei dati in una tabella separata li isola e rimuove la possibilità di vedere quante righe sono presenti nella tabella.
Inoltre, creando e applicando tag dei criteri, un amministratore dei dati può limitare la capacità dell'utente di visualizzare le colonne di una tabella.
L'archiviazione dei dati in una tabella separata è il metodo più sicuro, ma meno flessibile. L'impostazione di criteri a livello di riga è flessibile e sicura, mentre la condivisione di visualizzazioni autorizzate è flessibile e offre il miglior rendimento.
Per confrontare questi metodi in dettaglio, consulta le seguenti risorse:
- Confronto tra visualizzazioni autorizzate, sicurezza a livello di riga e tabelle separate
- Introduzione alla sicurezza a livello di riga
- Esempi di casi d'uso per la sicurezza a livello di riga
- Introduzione al controllo dell'accesso a livello di colonna
Condividere tutte le visualizzazioni in un set di dati
Se vuoi concedere a una raccolta di visualizzazioni l'accesso a un set di dati senza dover autorizzare ogni singola visualizzazione, puoi raggruppare le visualizzazioni in un set di dati e poi concedere al set di dati contenente le visualizzazioni l'accesso al set di dati contenente i dati.
A questo punto, puoi assegnare ai principali l'accesso al set di dati contenente il gruppo di visualizzazioni o alle singole visualizzazioni del set di dati, in base alle esigenze. Un set di dati che ha accesso a un altro set di dati è chiamato set di dati autorizzato. Il set di dati che autorizza un altro set di dati ad accedere ai suoi dati è chiamato set di dati condiviso.
Per ulteriori informazioni, consulta Set di dati autorizzati e Autorizzare un set di dati.
Limitazioni
- Quando crei una vista autorizzata o una vista materializzata autorizzata in un altro set di dati, il set di dati di origine e il set di dati di visualizzazione autorizzata devono trovarsi nella stessa posizione regionale.
- Quando elimini una visualizzazione autorizzata, possono essere necessarie fino a 24 ore per rimuoverla dall'elenco delle visualizzazioni. Durante questo periodo, non puoi accedere alla visualizzazione autorizzata, ma la visualizzazione autorizzata eliminata può essere visualizzata nell'elenco delle visualizzazioni e viene conteggiata ai fini del limite di visualizzazioni autorizzate. Questo limite può impedire la creazione di altre visualizzazioni autorizzate se la nuova visualizzazione autorizzata dovesse superare il limite.
Prima di iniziare
Concedere i ruoli IAM (Identity and Access Management) che concedono agli utenti le autorizzazioni necessarie per eseguire query sulle visualizzazioni autorizzate o sulle visualizzazioni materializzate autorizzate che condividi.
Ruoli obbligatori
Per creare o aggiornare una visualizzazione autorizzata, devi disporre delle autorizzazioni per il set di dati che contiene la visualizzazione e per il set di dati che fornisce l'accesso alla visualizzazione.
Devi anche concedere agli utenti o ai gruppi l'accesso al progetto e al set di dati che contengono la visualizzazione.
Autorizzazioni di amministratore per il set di dati che contiene la visualizzazione
Le viste vengono trattate come risorse di tabella in BigQuery, pertanto la creazione di una vista richiede le stesse autorizzazioni necessarie per creare una tabella. Devi inoltre disporre delle autorizzazioni per eseguire query su tutte le tabelle a cui fa riferimento la query SQL della vista.
Per creare una vista, devi disporre dell'bigquery.tables.create
autorizzazione IAM. Il ruolo IAM predefinito roles/bigquery.dataEditor
include le autorizzazioni necessarie per creare una visualizzazione.
Inoltre, se disponi dell'autorizzazione bigquery.datasets.create
, puoi creare visualizzazioni nei set di dati che crei. Per creare una vista per i dati che non possiedi, devi disporre dell'autorizzazione bigquery.tables.getData
per la tabella in questione.
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Autorizzazioni di amministratore sul secondo set di dati che consente l'accesso alla visualizzazione
Per aggiornare le proprietà del set di dati, devi disporre delle seguenti autorizzazioni IAM:
bigquery.datasets.update
bigquery.datasets.setIamPolicy
(obbligatorio solo per aggiornare i controlli di accesso ai set di dati nella console Google Cloud)
Il ruolo IAM predefinito roles/bigquery.dataOwner
include le autorizzazioni necessarie per aggiornare le proprietà del set di dati.
Inoltre, se disponi dell'autorizzazione bigquery.datasets.create
, puoi aggiornare le proprietà dei set di dati che crei.
Per ulteriori informazioni sui ruoli e sulle autorizzazioni IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Autorizzazioni utente per il progetto e il set di dati per la visualizzazione
Per condividere una vista autorizzata con utenti o gruppi, devi concedere agli utenti o ai gruppi le seguenti autorizzazioni IAM:
- Il ruolo IAM
roles/bigquery.user
al progetto che contiene la visualizzazione autorizzata. - Il ruolo IAM
roles/bigquery-data-viewer
al set di dati che contiene la vista autorizzata.
Utilizzare le viste autorizzate
Le sezioni seguenti descrivono come utilizzare le visualizzazioni autorizzate e le visualizzazioni materializzate autorizzate.
Creare, condividere ed eliminare una vista autorizzata
Per la procedura completa per autorizzare, condividere ed eliminare una vista autorizzata, consulta il tutorial Creare una vista autorizzata.
Gestire utenti o gruppi per le viste autorizzate
Dopo aver autorizzato una vista, puoi mantenere l'accesso completando le seguenti attività per un set di dati, una tabella o una vista:
- Visualizza il criterio di accesso.
- Concedi l'accesso.
- Revoca l'accesso.
- Rifiuta l'accesso.
Per ulteriori informazioni, consulta Controllare l'accesso alle risorse utilizzando IAM.
Rimuovere l'autorizzazione per una visualizzazione
Per rimuovere l'autorizzazione a una visualizzazione, seleziona una delle seguenti opzioni:
Console
Vai alla pagina BigQuery nella console Google Cloud.
Nel riquadro Spazio di esplorazione, espandi il progetto e seleziona un set di dati.
Fai clic su > Autorizza visualizzazioni.
CondivisioneFai clic su
per rimuovere l'autorizzazione.Fai clic su Chiudi.
bq
Per rimuovere l'autorizzazione da una vista, utilizza il comando bq rm
. Inserisci
table_id
per la visualizzazione da cui vuoi rimuovere l'autorizzazione.
bq rm \ project_id:dataset:table_id
API
Chiama il metodo tables.delete
e utilizza le proprietà projectID
, datasetID
e tableID
per rimuovere la visualizzazione autorizzata per il tuo set di dati. Per ulteriori informazioni, consulta Tables.
Quote e limiti
- Le visualizzazioni autorizzate sono soggette ai limiti del set di dati. Per ulteriori informazioni, consulta Limiti dei set di dati.
- Se rimuovi una visualizzazione autorizzata, potrebbero essere necessarie fino a 24 ore prima che tutti i riferimenti alla visualizzazione vengano rimossi dal sistema. Per evitare errori, attendi 24 ore prima di riutilizzare il nome di una visualizzazione rimossa o crea un nome univoco per la visualizzazione.
Argomenti avanzati
Le sezioni seguenti descrivono metodi avanzati per l'utilizzo delle visualizzazioni autorizzate.
Combinare la sicurezza a livello di riga con le viste autorizzate
I dati visualizzati in una vista logica o in una vista materializzata vengono filtrati in base ai criteri di accesso a livello di riga della tabella di origine sottostante.
Per informazioni dettagliate su come la sicurezza a livello di riga interagisce con le visualizzazioni materializzate, consulta Utilizzare la sicurezza a livello di riga con altre funzionalità di BigQuery.
Combinare la sicurezza a livello di colonna con le viste autorizzate
L'impatto della sicurezza a livello di colonna sulle viste è indipendente dal fatto che la vista sia o meno autorizzata.
Per una descrizione dettagliata di come vengono applicate le autorizzazioni, consulta Visualizzazioni query per la sicurezza a livello di colonna.
Utilizzare Analytics Hub con visualizzazioni autorizzate
Analytics Hub è una piattaforma di scambio di dati con le seguenti funzionalità:
- Ti consente di condividere dati e approfondimenti su larga scala oltre i confini dell'organizzazione.
- Utilizza un solido framework per la sicurezza e la privacy.
- Supporta la pubblicazione di un set di dati BigQuery, chiamato set di dati condiviso, e delle relative visualizzazioni autorizzate e set di dati autorizzati in un insieme di abbonati.
Un set di dati collegato è un set di dati BigQuery di sola lettura che funge da indice o riferimento a un set di dati condiviso. L'abbonamento a una scheda di Analytics Hub crea un set di dati collegato nel progetto, ma non una copia del set di dati, pertanto gli abbonati possono leggere i dati, ma non aggiungere o aggiornare gli oggetti al suo interno.
Le viste materializzate che fanno riferimento alle tabelle nel set di dati collegato non sono supportate.
Per saperne di più, consulta Introduzione ad Analytics Hub.
Passaggi successivi
- Per un tutorial sulla creazione di una vista autorizzata, consulta Creare una vista autorizzata.
- Per creare una vista logica, consulta Creare viste logiche.
- Per creare una vista materializzata, che supporta altri tipi di controllo dell'accesso, consulta Creare viste materializzate.
- Per ottenere i metadati delle visualizzazioni, consulta Recupero delle informazioni sulle viste.
- Per gestire le visualizzazioni, vedi Gestire le visualizzazioni.