Concedi a Dataform l'accesso richiesto

Questo documento spiega come concedere i ruoli di Identity and Access Management (IAM) richiesti dagli account di servizio Dataform per eseguire i workflow 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. Per impostazione predefinita, all'account di servizio Dataform non vengono concessi ruoli o autorizzazioni BigQuery. Devi concedere l'accesso richiesto all'account di servizio Dataform predefinito.

L'ID account di servizio Dataform predefinito ha il seguente formato:

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

Sostituisci YOUR_PROJECT_NUMBER con l'ID numerico del tuo Google Cloud progetto. Puoi trovare il tuo Google Cloud ID progetto nella dashboard della console Google Cloud. Per scoprire di più, consulta la sezione 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 Dataform o una configurazione del flusso di lavoro, puoi selezionare qualsiasi service account associato al tuo progetto Google Cloud a cui hai accesso. Devi configurare le autorizzazioni richieste 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 i flussi di lavoro da quel repository. Tutte le altre operazioni sul repository vengono comunque eseguite dall'account di servizio Dataform predefinito.

Ruoli richiesti per gli account di servizio Dataform

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

Inoltre, devi concedere all'account di servizio Dataform predefinito Creatore token account di servizio(roles/iam.serviceAccountTokenCreator) accesso a tutti gli account di servizio personalizzati 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 i seguenti aspetti di sicurezza:

  • Qualsiasi account di servizio a cui sono stati concessi i ruoli richiesti potrebbe ottenere l'accesso a BigQuery o Secret Manager nel progetto a cui appartiene l'account di servizio, indipendentemente da 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 codice utilizzando l'account di servizio Dataform predefinito e tutte le autorizzazioni concesse a questo account di servizio.

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

Per limitare i dati che un utente o un account di servizio può leggere o scrivere in BigQuery, puoi concedere autorizzazioni IAM di BigQuery granulari a set di dati o tabelle BigQuery selezionati. Per ulteriori informazioni, consulta Controllare l'accesso ai set di dati e Controllare l'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 al tuo account di servizio Dataform predefinito o a un account di servizio personalizzato che vuoi utilizzare in Dataform:

  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 nell'elenco a discesa Seleziona un ruolo, seleziona il ruolo Visualizzatore dati BigQuery.

  7. Fai clic su Salva.

Concedi l'accesso alla 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 essere in grado di 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:

  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 il tuo account di servizio Dataform personalizzato.

  4. Vai a Autorizzazioni e poi fai clic su Concedi accesso.

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

    L'ID account di servizio Dataform predefinito ha il seguente formato:

    service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  6. Nell'elenco a discesa Seleziona un ruolo, seleziona il ruolo Creatore token account di servizio.

  7. Fai clic su Salva.

Passaggi successivi