Concedi a Dataform l'accesso richiesto

Questo documento mostra come concedere i ruoli IAM (Identity and Access Management) richiesti dagli account di servizio Dataform per eseguire flussi di lavoro in BigQuery.

Informazioni sugli account di servizio in Dataform

Quando crei il tuo primo repository Dataform, Dataform genera automaticamente un account di servizio predefinito. Dataform utilizza l'account di servizio predefinito per interagire con BigQuery per tuo conto. All'account di servizio Dataform predefinito non vengono concessi ruoli o autorizzazioni BigQuery per impostazione predefinita. Devi concedere l'accesso richiesto all'account di servizio Dataform predefinito.

Il tuo ID account di servizio Dataform predefinito è nel seguente formato:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Sostituisci YOUR_PROJECT_NUMBER con l'ID numerico del tuo progetto Google Cloud. Puoi trovare il tuo ID progetto Google Cloud nella dashboard della console Google Cloud. Per maggiori informazioni, consulta Identificazione dei progetti.

Oltre all'account di servizio Dataform predefinito, puoi utilizzare altri account di servizio per eseguire flussi di lavoro per tuo conto. Puoi configurare account di servizio personalizzati:

Quando crei un repository o una configurazione di flusso di lavoro Dataform, puoi selezionare qualsiasi account di servizio associato al progetto Google Cloud a cui hai accesso. Devi configurare le autorizzazioni necessarie per tutti gli account di servizio associati alle risorse Dataform.

Un account di servizio personalizzato associato a un repository Dataform viene utilizzato solo per eseguire flussi di lavoro da quel repository. Tutte le altre operazioni sul repository vengono comunque eseguite dall'account di servizio Dataform predefinito.

Ruoli obbligatori per gli account di servizio Dataform

Gli account di servizio predefiniti e personalizzati utilizzati in Dataform richiedono i seguenti ruoli IAM di BigQuery per poter eseguire i flussi di lavoro in BigQuery:

Inoltre, devi concedere all'account di servizio Dataform predefinito l'accesso Creatore token account di servizio(roles/iam.serviceAccountTokenCreator) a qualsiasi account di servizio personalizzato che vuoi utilizzare in Dataform.

Considerazioni sulla sicurezza per gli account di servizio Dataform

La concessione dei ruoli richiesti da Dataform a un account di servizio comporta le seguenti considerazioni sulla sicurezza:

  • Qualsiasi account di servizio a cui sono stati concessi i ruoli richiesti potrebbe accedere a BigQuery o Secret Manager indipendentemente dai Controlli di servizio VPC.

    Per ulteriori informazioni, consulta Configurare i Controlli di servizio VPC per Dataform.

  • Qualsiasi utente che dispone dell'autorizzazione IAM dataform.repositories.create può eseguire il codice utilizzando l'account di servizio Dataform predefinito e tutte le autorizzazioni concesse a quell'account di servizio.

    Per maggiori informazioni, consulta Considerazioni sulla sicurezza per le autorizzazioni Dataform.

Per limitare i dati che un utente o un account di servizio può leggere o scrivere in BigQuery, puoi concedere autorizzazioni IAM granulari di BigQuery a determinati set di dati o tabelle BigQuery. Per maggiori informazioni, consulta Controllo dell'accesso ai set di dati e Controllo dell'accesso a tabelle e viste.

Prima di iniziare

  1. Nella console Google Cloud, vai alla pagina Dataform.

    Vai alla pagina Dataform

  2. Seleziona o crea un repository.

Concedi i ruoli BigQuery richiesti a un account di servizio utilizzato in Dataform

Per concedere i ruoli IAM BigQuery richiesti all'account di servizio Dataform predefinito o a un account di servizio personalizzato che vuoi utilizzare in Dataform, segui questi passaggi:

  1. Nella console Google Cloud, vai alla pagina IAM.

    Vai alla pagina IAM

  2. Fai clic su Concedi l'accesso.

  3. Nel campo Nuove entità, inserisci l'ID account di servizio.

  4. Nell'elenco a discesa Seleziona un ruolo, seleziona il ruolo Utente job BigQuery.

  5. Fai clic su Aggiungi un altro ruolo e nell'elenco a discesa Seleziona un ruolo seleziona il ruolo Editor dati BigQuery.

  6. Fai clic su Aggiungi un altro ruolo e seleziona Visualizzatore dati BigQuery nell'elenco a discesa Seleziona un ruolo.

  7. Fai clic su Salva.

Concedere l'accesso per la creazione di token a un account di servizio personalizzato

Per utilizzare un account di servizio personalizzato in Dataform, l'account di servizio Dataform predefinito deve poter accedere all'account di servizio personalizzato. Per concedere questo accesso, devi aggiungere l'account di servizio Dataform predefinito come entità all'account di servizio personalizzato con il ruolo Creatore token account di servizio.

Per concedere all'account di servizio Dataform predefinito l'accesso a un account di servizio personalizzato, segui questi passaggi:

  1. Nella console Google Cloud, vai a IAM > Account di servizio.

    Vai alla pagina Account di servizio

  2. Seleziona un progetto.

  3. Nella pagina Account di servizio per il progetto "YOUR_PROJECT_NAME", seleziona un account di servizio.

  4. Vai ad Autorizzazioni e fai clic su Concedi l'accesso.

  5. Nel campo Nuove entità, inserisci l'ID account di servizio Dataform predefinito.

  6. Nell'elenco a discesa Seleziona un ruolo, seleziona il ruolo Creatore token account di servizio.

  7. Fai clic su Salva.

Passaggi successivi