Autorizza gli account per il trasferimento di dati

BigQuery Data Transfer Service ti consente di autenticare e autorizzare account utente, service account e agenti di servizio per gestire le configurazioni dei trasferimenti ed eseguire trasferimenti di dati automatizzati. Concedere le autorizzazioni richieste per gli account del progetto ti aiuta a controllare l'accesso ai dati di origine e ai set di dati di destinazione e a risolvere gli errori di autorizzazione comuni. Per informazioni sulle autorizzazioni specifiche dell'origine dati, consulta la documentazione sui trasferimenti per ogni origine dati.

Concetti fondamentali

BigQuery Data Transfer Service automatizza i trasferimenti di dati da varie origini dati a BigQuery. Il modello di autenticazione e autorizzazione opera in due fasi diverse, il control plane e il piano dati, e per due tipi di utenti, un creatore o un proprietario del trasferimento.

Control plane

Il control plane rappresenta la fase del processo di autorizzazione in cui un utente autenticato è in grado di controllare e gestire le configurazioni e le esecuzioni dei trasferimenti. Un utente nel control plane deve disporre delle autorizzazioni Identity and Access Management (IAM) appropriate per controllare e gestire le proprie configurazioni e le proprie esecuzioni dei trasferimenti:

  • L'autorizzazione bigquery.transfers.update, che consente agli utenti di:
    • Configura le configurazioni del trasferimento di dati.
    • Amministrare i trasferimenti esistenti, ad esempio aggiornando, disattivando o eliminando un trasferimento.
  • L'autorizzazione bigquery.transfers.get, che consente agli utenti di monitorare le esecuzioni dei trasferimenti, ad esempio controllando lo stato dell'esecuzione del trasferimento o visualizzando la cronologia e i log dell'esecuzione del trasferimento.

Se utilizzi la console Google Cloud o lo strumento a riga di comando bq per creare un trasferimento, devi disporre anche dell'autorizzazione bigquery.transfers.get.

L'autorizzazione bigquery.transfers.update non è necessaria per configurare una query pianificata. Per saperne di più, consulta le autorizzazioni richieste per le query pianificate.

Piano dati

Il piano dati rappresenta la fase al di fuori del controllo diretto di un utente. Nel piano dati, BigQuery Data Transfer Service è in grado di eseguire i trasferimenti di dati in modalità offline e può attivare automaticamente le esecuzioni dei trasferimenti in base a una pianificazione specificata dall'utente. Nel piano dati, la credenziale del proprietario del trasferimento viene utilizzata per accedere ai dati di origine e (a seconda dell'origine dati) le credenziali del proprietario del trasferimento o l'agente di servizio di BigQuery Data Transfer Service vengono utilizzate per avviare i job BigQuery e scrivere i dati nel set di dati di destinazione.

Per maggiori dettagli sulle autorizzazioni richieste, consulta le seguenti sezioni di questa guida:

Creatore del trasferimento e proprietario del trasferimento

Un creatore del trasferimento è l'identità utente che ha creato e configurato la configurazione del trasferimento. Un utente di BigQuery Data Transfer Service e un creatore di trasferimenti possono essere un account utente o un service account.

Il proprietario del trasferimento è l'identità utente utilizzata da BigQuery Data Transfer Service per autorizzare il trasferimento dei dati, in particolare per l'estrazione dei dati di origine. Per le origini dati che supportano i service account, il proprietario del trasferimento può essere un account utente o un account di servizio. Per altre origini dati, il proprietario del trasferimento deve essere un account utente.

Il proprietario e il creatore del trasferimento possono avere la stessa identità utente, ma non è un requisito. Esistono diversi modi per impostare il proprietario del trasferimento in modo che sia un utente diverso dal creatore del trasferimento:

  • Quando crei un trasferimento, puoi impostare il proprietario su un account di servizio se l'origine dati supporta i service account.
  • Una volta creato un trasferimento, puoi trasferire la proprietà a un nuovo account utente (o a un account di servizio se l'origine dati supporta i service account) con le autorizzazioni bigquery.transfers.update e bigquery.transfers.get. Devi aver eseguito l'accesso al nuovo account quando aggiorni le credenziali.

Autorizzazione di accesso in lettura per le origini dati esterne

Le autorizzazioni necessarie per leggere i dati di origine possono variare da un'origine dati all'altra. Ad esempio, l'accesso a Google Ads richiede le autorizzazioni di accesso in lettura all'ID cliente Google Ads. Analogamente, Google Play richiede l'accesso ai report in Google Play Console. Per ulteriori informazioni sulle autorizzazioni specifiche di un'origine dati, consulta le guide ai trasferimenti per ciascuna origine dati.

A seconda del tipo di identità del proprietario del trasferimento, è richiesto un metodo di autorizzazione diverso per recuperare il token di accesso per accedere ai dati di origine.

Trasferisci la proprietà come account di servizio

Quando un account di servizio viene utilizzato come proprietario del trasferimento, le autorizzazioni necessarie vengono concesse automaticamente quando l'API BigQuery Data Transfer Service viene abilitata per il tuo progetto. BigQuery Data Transfer Service utilizza un agente di servizio per ottenere il token di accesso per l'account di servizio fornito dall'utente (proprietario del trasferimento).

Quando abiliti l'API BigQuery Data Transfer Service, viene creato un agente di servizio per il tuo progetto. Il sistema concede inoltre all'agente di servizio il ruolo Agente BigQuery Data Transfer Service (roles/bigquerydatatransfer.serviceAgent), che include l'autorizzazione iam.serviceAccounts.getAccessToken. Questa autorizzazione consente all'agente di servizio BigQuery Data Transfer Service di impersonare il account di servizio del proprietario del trasferimento per recuperare il token di accesso.

Per saperne di più sull'agente di servizio BigQuery Data Transfer Service, consulta Agente di servizio. Per ulteriori informazioni sull'utilizzo dei service account e l'elenco aggiornato delle origini dati che supportano i account di servizio, consulta Utilizza i service account.

Trasferire la proprietà come account utente

Se il proprietario del trasferimento che crea la configurazione del trasferimento è un account utente (non un account di servizio), devi concedere manualmente l'autorizzazione a BigQuery Data Transfer Service per ottenere il token di accesso per l'account utente e accedere ai dati di origine per conto del proprietario del trasferimento. Puoi concedere l'approvazione manuale con l'interfaccia della finestra di dialogo OAuth.

Devi concedere l'autorizzazione a BigQuery Data Transfer Service solo la prima volta che crei un trasferimento per una determinata origine dati. Devi concedere nuovamente l'autorizzazione quando crei il primo trasferimento per una regione appena utilizzata, anche se utilizzi la stessa origine dati. I trasferimenti di dati dai canali YouTube fanno eccezione: devi concedere manualmente l'approvazione delle autorizzazioni ogni volta che crei un trasferimento di dati del canale YouTube.

Anche la modifica del proprietario del trasferimento tramite l'aggiornamento delle credenziali richiede l'approvazione manuale se il nuovo proprietario non ha mai creato un trasferimento per l'origine dati in quella regione.

Lo screenshot seguente mostra l'interfaccia della finestra di dialogo OAuth durante la creazione di un trasferimento di Google Ads. La finestra di dialogo mostra le autorizzazioni specifiche dell'origine dati da concedere:

Consenti a BigQuery Data Transfer Service di accedere a Google Ads.

Per revocare le autorizzazioni concesse, segui questi passaggi:

  1. Vai alla pagina Account Google.
  2. Fai clic su BigQuery Data Transfer Service.
  3. Per revocare le autorizzazioni, fai clic su Rimuovi accesso. Rimuovi l'accesso che hai concesso a BigQuery Data Transfer Service.

Autorizzazione per avviare job BigQuery

Quando esegui la migrazione dalla maggior parte delle origini dati, ad eccezione della migrazione utilizzando query pianificate o copie di set di dati, BigQuery Data Transfer Service si basa sugli agenti di servizio per avviare i job BigQuery per il tuo progetto. L'autorizzazione richiesta bigquery.job.create viene concessa automaticamente all'agente di servizio quando abiliti l'API BigQuery Data Transfer Service per il tuo progetto. Per saperne di più, consulta Attiva BigQuery Data Transfer Service.

Quando esegui la migrazione utilizzando query pianificate o copie di set di dati, BigQuery Data Transfer Service utilizza le credenziali del proprietario del trasferimento per avviare i job BigQuery.

Autorizzazione per eseguire job BigQuery e scrivere dati nel set di dati di destinazione

Quando esegui la migrazione dalla maggior parte delle origini dati, ad eccezione della migrazione utilizzando query pianificate o copie di set di dati, BigQuery Data Transfer Service si affida all'agente di servizio per scrivere i dati nel set di dati di destinazione BigQuery. L'autorizzazione richiesta, roles/bigquery.dataEditor, viene concessa all'agente di servizio da BigQuery Data Transfer Service quando crei il trasferimento. Per concedere l'autorizzazione, devi disporre dell'autorizzazione bigquery.datasets.update per il set di dati di destinazione.

Quando esegui la migrazione utilizzando query pianificate o copie di set di dati, BigQuery Data Transfer Service utilizza le credenziali del proprietario del trasferimento per eseguire i job BigQuery e scrivere i dati nel set di dati di destinazione BigQuery.

Considerazioni sull'autorizzazione per i trasferimenti da un canale YouTube

In un trasferimento di dati del canale YouTube, il connettore del canale YouTube può trasferire i dati solo dal canale YouTube associato alla credenziale utente che crea il trasferimento di dati. Per trasferire i dati da canali YouTube diversi, devi creare un trasferimento di dati per ogni canale e, per ogni trasferimento di dati creato, devi utilizzare le credenziali utente associate a quel canale YouTube.

Risolvi i problemi relativi agli errori di autorizzazione

Se riscontri problemi relativi all'autorizzazione o alle autorizzazioni per il tuo trasferimento, consulta Problemi di autorizzazione e permessi.