Dataform e BigQuery utilizzano IAM per controllo dell'accesso. Per ulteriori informazioni sui ruoli e sulle autorizzazioni Dataform in IAM, consulta Controllare l'accesso con IAM.
Quando Dataform esegue una tabella o una vista, crea la risorsa in BigQuery. Durante lo sviluppo in Dataform, puoi concedere ruoli BigQuery a singole tabelle e viste per controllarne l'accesso in BigQuery dopo l'esecuzione.
Per saperne di più su come concedere e revocare l'accesso alle risorse, consulta Concedere l'accesso a una risorsa.
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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API BigQuery and Dataform.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
-
Abilita le API BigQuery and Dataform.
Concedi ruoli BigQuery a una tabella o una vista
Puoi concedere ruoli BigQuery a una tabella o una vista in Dataform aggiungendo un blocco post_operations
con l'istruzione DCL di GRANT
al file di definizione .sqlx
della tabella o della vista selezionata.
Per concedere i ruoli BigQuery a una tabella o una vista selezionata:
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona un repository, quindi seleziona un'area di lavoro.
Nel riquadro File, espandi la directory
definitions/
.Seleziona il file di definizione
.sqlx
della tabella o della vista per cui vuoi concedere l'accesso.Nel file, inserisci il seguente snippet di codice:
post_operations { GRANT "ROLE_LIST" ON "RESOURCE_TYPE" ${self()} TO "USER_LIST" }
Sostituisci quanto segue:
ROLE_LIST: il ruolo BigQuery o l'elenco di ruoli BigQuery separati da virgole che vuoi concedere.
RESOURCE_TYPE:
TABLE
oVIEW
.USER_LIST: l'elenco separato da virgole di utenti a cui è concesso il ruolo.
Per un elenco dei formati validi, vedi user_list.
(Facoltativo) Fai clic su Formato.
Esegui la tabella o la vista.
Se hai concesso l'accesso a una tabella incrementale, rimuovi l'istruzione
GRANT
dal file di definizione della tabella dopo la prima esecuzione.
Il seguente esempio di codice mostra il ruolo Visualizzatore BigQuery concesso per una tabella a un utente:
config { type: "table" }
SELECT ...
post_operations {
GRANT `roles/bigquery.dataViewer`
ON TABLE ${self()}
TO "user:222larabrown@gmail.com"
}
Revocare i ruoli BigQuery da una tabella o una vista
Puoi revocare i ruoli BigQuery da una tabella o una vista aggiungendo un blocco post_operations
con l'istruzione DCL REVOKE
al file di definizione .sqlx
della tabella o della vista selezionata.
Per revocare i ruoli BigQuery da una tabella o una vista selezionata:
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona un repository, quindi seleziona un'area di lavoro.
Nel riquadro File, espandi la directory
definitions/
.Seleziona il file di definizione
.sqlx
della tabella o della vista per cui vuoi revocare l'accesso.Nel blocco
post_operations
, inserisci la seguente istruzioneREVOKE
:REVOKE "ROLE_LIST" ON "RESOURCE_TYPE" ${self()} TO "USER_LIST"
Sostituisci quanto segue:
- ROLE_LIST: il ruolo BigQuery o l'elenco di ruoli BigQuery separati da virgole che vuoi revocare.
- RESOURCE_TYPE:
TABLE
oVIEW
. - USER_LIST: l'elenco separato da virgole di utenti da cui è stato revocato il ruolo. Per un elenco dei formati validi, vedi user_list.
Per revocare l'accesso concesso in un'istruzione
GRANT
nel file, sostituisci l'istruzioneGRANT
con un'istruzioneREVOKE
.Removing the `GRANT` statement without adding the `REVOKE` statement does not revoke access.
(Facoltativo) Fai clic su Formato.
Esegui la tabella o la vista.
Se hai revocato l'accesso a una tabella incrementale, rimuovi l'istruzione
REVOKE
dal file di definizione della tabella dopo la prima esecuzione.
Il seguente esempio di codice mostra il ruolo di Visualizzatore BigQuery revocato a un utente in una tabella:
config { type: "table" }
SELECT ...
post_operations {
REVOKE `roles/bigquery.dataViewer`
ON TABLE ${self()}
FROM "user:222larabrown@gmail.com"
}
Gestire collettivamente i ruoli BigQuery per tabelle e viste
Per controllare l'accesso di BigQuery a singole tabelle e viste in un'unica posizione, puoi creare un file type: "operations"
dedicato con istruzioni GRANT
e REVOKE
DCL.
Per gestire l'accesso alla tabella BigQuery in un singolo file type: "operations"
, segui questi passaggi:
Nella console Google Cloud, vai alla pagina Dataform.
Seleziona un repository, quindi seleziona un'area di lavoro.
Nel riquadro File, accanto a
definitions/
, fai clic sul menuAltro.
Fai clic su Crea file.
Nel campo Aggiungi un percorso file, inserisci il nome del file seguito da
.sqlx
dopodefinitions/
. Ad esempio:definitions/table-access.sqlx
.I nomi file possono contenere solo numeri, lettere, trattini e trattini bassi.
Fai clic su Crea file.
Nel riquadro File, espandi la directory
definitions/
e seleziona il file appena creato.Nel file, inserisci il seguente snippet di codice:
config { type: "operations" } GRANT "ROLE_LIST" ON RESOURCE_TYPE RESOURCE_NAME TO "USER_LIST" REVOKE "ROLE_LIST" ON { "<var>" }}RESOURCE_TYPE RESOURCE_NAME TO "USER_LIST"
Sostituisci quanto segue:
- ROLE_LIST: il ruolo BigQuery o l'elenco di ruoli BigQuery separati da virgole che vuoi concedere o revocare.
- RESOURCE_TYPE:
TABLE
oVIEW
. - RESOURCE_NAME: il nome della tabella o della visualizzazione.
- USER_LIST: l'elenco separato da virgole di utenti a cui è stato concesso o revocato il ruolo. Per un elenco dei formati validi, vedi user_list.
Aggiungi istruzioni
GRANT
eREVOKE
in base alle esigenze.Per revocare l'accesso concesso in un'istruzione
GRANT
nel file, sostituisci l'istruzioneGRANT
con un'istruzioneREVOKE
.La rimozione dell'istruzione
GRANT
senza aggiungere l'istruzioneREVOKE
non revoca l'accesso.
(Facoltativo) Fai clic su Formato.
Esegui il file dopo ogni aggiornamento.
- Se hai concesso o revocato l'accesso a una tabella incrementale, rimuovi l'istruzione
GRANT
oREVOKE
dal file dopo la prima esecuzione dell'istruzione.
- Se hai concesso o revocato l'accesso a una tabella incrementale, rimuovi l'istruzione
Passaggi successivi
- Per saperne di più su IAM, consulta la panoramica di IAM.
- Per scoprire di più su ruoli e autorizzazioni, consulta la pagina Informazioni sui ruoli.
- Per scoprire di più sulla gestione dell'accesso alle risorse, vedi Gestire l'accesso a progetti, cartelle e organizzazioni.