Utilizzare gli account di servizio
Alcune origini dati supportano l'autenticazione del trasferimento dei dati utilizzando un account di servizio tramite la console, l'API o la riga di comando bq
di Google Cloud. Un account di servizio è un Account Google associato al tuo progetto Google Cloud. Un account di servizio può eseguire job, ad esempio query pianificate o pipeline di elaborazione collettiva, autenticandosi con le credenziali dell'account di servizio anziché con le credenziali di un utente.
Puoi aggiornare un trasferimento di dati esistente con le credenziali di un account servizio. Per ulteriori informazioni, consulta Aggiornare le credenziali di trasferimento dei dati.
Le seguenti situazioni richiedono l'aggiornamento delle credenziali:
Il trasferimento non è riuscito ad autorizzare l'accesso dell'utente all'origine dati:
Error code 401 : Request is missing required authentication credential. UNAUTHENTICATED
Quando provi a eseguire il trasferimento, ricevi l'errore INVALID_USER:
Error code 5 : Authentication failure: User Id not found. Error code: INVALID_USERID
Per scoprire di più sull'autenticazione con gli account di servizio, consulta Introduzione all'autenticazione.
Origini dati con supporto per gli account di servizio
BigQuery Data Transfer Service può utilizzare le credenziali dell'account di servizio per i trasferimenti con quanto segue:
- Cloud Storage
- Amazon Redshift
- Amazon S3
- Campaign Manager
- Dataset Copy
- Display & Video 360
- Google Ad Manager
- Google Ads
- Google Merchant Center
- Google Play
- Query pianificate
- Search Ads 360
- Teradata
- Proprietario dei contenuti YouTube
Prima di iniziare
- Verifica di aver completato tutte le azioni richieste in Attivare BigQuery Data Transfer Service.
- Concedi i ruoli IAM (Identity and Access Management) che forniscono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento.
Autorizzazioni obbligatorie
Per aggiornare un trasferimento di dati in modo che utilizzi un account di servizio, devi disporre delle seguenti autorizzazioni:
L'autorizzazione
bigquery.transfers.update
per modificare il trasferimento.Il ruolo IAM predefinito
roles/bigquery.admin
include questa autorizzazione.Accesso all'account di servizio. Per ulteriori informazioni sulla concessione agli utenti del ruolo dell'account di servizio, consulta Ruolo Utente account di servizio.
Assicurati che l'account di servizio scelto per eseguire il trasferimento disponga delle seguenti autorizzazioni:
Le autorizzazioni
bigquery.datasets.get
ebigquery.datasets.update
sul set di dati di destinazione. Se la tabella utilizza il controllo dell'accesso a livello di colonna, l'account di servizio deve disporre anche dell'autorizzazionebigquery.tables.setCategory
.Il ruolo IAM predefinito
bigquery.admin
include tutte queste autorizzazioni. Per ulteriori informazioni sui ruoli IAM in BigQuery Data Transfer Service, consulta Introduzione a IAM.Accesso all'origine dati di trasferimento configurata. Per ulteriori informazioni sulle autorizzazioni necessarie per le diverse origini dati, consulta Origini dati con supporto dell'account di servizio.
Per i trasferimenti di Google Ads, all'account di servizio deve essere concessa l'autorità a livello di dominio. Per ulteriori informazioni, consulta la guida all'account di servizio dell'API Google Ads.
Aggiornare le credenziali di trasferimento dei dati
Console
La procedura seguente aggiorna una configurazione di trasferimento dei dati per eseguire l'autenticazione come account di servizio anziché come account utente individuale.
Nella console Google Cloud, vai alla pagina Trasferimenti dati.
Fai clic sul trasferimento nell'elenco dei trasferimenti di dati.
Fai clic su MODIFICA per aggiornare la configurazione del trasferimento.
Nel campo Account di servizio, inserisci il nome dell'account di servizio.
Fai clic su Salva.
bq
Per aggiornare le credenziali di un trasferimento di dati, puoi utilizzare lo strumento a riga di comando bq per aggiornare la configurazione del trasferimento.
Utilizza il comando bq update
con i flag --transfer_config
,
--update_credentials
e --service_account_name
.
Ad esempio, il seguente comando aggiorna una configurazione di trasferimento dati per autenticarsi come account di servizio anziché come account utente individuale:
bq update \
--transfer_config \
--update_credentials \
--service_account_name=abcdef-test-sa@abcdef-test.iam.gserviceaccount.com projects/862514376110/locations/us/transferConfigs/5dd12f26-0000-262f-bc38-089e0820fe38 \
Java
Prima di provare questo esempio, segui le istruzioni di configurazione Java riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Java.
Per autenticarti in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione Python riportate nella guida rapida all'utilizzo di BigQuery con le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API BigQuery Python.
Per autenticarti in BigQuery, configura le Credenziali predefinite dell'applicazione. Per saperne di più, consulta Configurare l'autenticazione per le librerie client.