Abilita BigQuery Data Transfer Service
Per utilizzare BigQuery Data Transfer Service, devi completare i seguenti passaggi in qualità di proprietario del progetto:
- Crea un progetto e abilita l'API BigQuery.
- Abilita BigQuery Data Transfer Service.
Per saperne di più sui ruoli di Identity and Access Management (IAM), consulta Ruoli e autorizzazioni nella documentazione IAM.
Crea un progetto e abilita l'API BigQuery
Prima di utilizzare BigQuery Data Transfer Service, devi creare un progetto e, nella maggior parte dei casi, abilitare la fatturazione per il progetto. Puoi utilizzare un progetto esistente con BigQuery Data Transfer Service o crearne uno nuovo. Se utilizzi un progetto esistente, potresti anche dover abilitare l'API BigQuery.
Per creare un progetto e abilitare l'API BigQuery:
-
Nella console Google Cloud , vai alla pagina di selezione del progetto.
-
Seleziona o crea un progetto Google Cloud .
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per cui ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto (
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
Abilita la fatturazione per il tuo progetto per tutti i trasferimenti. Ti vengono addebitati 0 $ per i trasferimenti senza costi.
L'abilitazione della fatturazione è richiesta una sola volta per progetto, anche se trasferisci dati da più origini. La fatturazione deve essere abilitata anche per eseguire query sui dati in BigQuery, dopo il trasferimento dei dati.
Scopri come verificare che la fatturazione sia abilitata per il tuo progetto.
- BigQuery viene abilitato automaticamente nei nuovi progetti.
Per attivare BigQuery in un progetto esistente, abilita l'API BigQuery.
Abilita l'API BigQuery
Abilita BigQuery Data Transfer Service
Prima di poter creare un trasferimento, devi attivare BigQuery Data Transfer Service. Per abilitare BigQuery Data Transfer Service, devi disporre del ruolo Proprietario per il tuo progetto.
Per attivare BigQuery Data Transfer Service:
Apri la pagina API BigQuery Data Transfer nella libreria API.
Dal menu a discesa, seleziona il progetto appropriato.
Fai clic sul pulsante ABILITA.
Service agent
BigQuery Data Transfer Service utilizza un agente di servizio per accedere alle tue risorse e gestirle. Sono incluse, a titolo esemplificativo, le seguenti risorse:
- Recupero di un token di accesso per il account di servizio da utilizzare per autorizzare il trasferimento di dati.
- Pubblicazione delle notifiche nell'argomento Pub/Sub fornito, se abilitato.
- Avvio dei job BigQuery.
- Recupero degli eventi dalla sottoscrizione Pub/Sub fornita per il trasferimento basato su eventi di Cloud Storage
L'agente di servizio viene creato automaticamente per tuo conto dopo aver abilitato BigQuery Data Transfer Service e utilizzato l'API per la prima volta. Al momento della creazione dell'agente di servizio, Google concede automaticamente il ruolo di agente di servizio predefinito.
Autorizzazione dei service account tra progetti
Se autorizzi il trasferimento di dati utilizzando un account di servizio di un progetto diverso da quello in cui è abilitato BigQuery Data Transfer Service, devi concedere il ruolo roles/iam.serviceAccountTokenCreator all'agente di servizio utilizzando il seguente comando di Google Cloud CLI:
gcloud iam service-accounts add-iam-policy-binding service_account \ --member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \ --role roles/iam.serviceAccountTokenCreator
Sostituisci quanto segue:
- service_account è il account di servizio tra progetti utilizzato per autorizzare il trasferimento di dati.
- project_number è il numero del progetto in cui è abilitato BigQuery Data Transfer Service.
Per saperne di più sulla configurazione delle risorse tra progetti, consulta Configurazione per una risorsa in un altro progetto nella documentazione sulla simulazione dell'identità dei account di servizio di Identity and Access Management.
Quando abiliti l'API BigQuery Data Transfer Service tramite la console Google Cloud , Google tenta automaticamente di concedere le autorizzazioni richieste. Tuttavia, se abiliti l'API o crei trasferimenti tramite Terraform, Google Cloud CLI o altri metodi programmatici, devi stabilire manualmente le autorizzazioni richieste. Per autorizzare un trasferimento utilizzando un account di servizio di un altro progetto, tieni presente quanto segue:
Stabilisci le autorizzazioni per i trasferimenti tra progetti: per accedere in modo sicuro alle origini dati tra progetti, concedi all'agente di servizio DTS (residente nel progetto di destinazione) il ruolo
roles/iam.serviceAccountTokenCreatorsull'identità del account di servizio di origine.Applica il principio del privilegio minimo: concedi questo ruolo a livello di risorsa (sul account di servizio specifico in uso) anziché a livello di progetto.
Limitazione
Non puoi utilizzare la console Google Cloud per collegare un account di servizio tra progetti a un trasferimento di dati. In alternativa, puoi collegare il account di servizio tra progetti con il seguente comando Google Cloud CLI:
bq update --transfer_config --update_credentials --service_account_name="SERVICE_ACCOUNT" projects/PROJECT_ID/locations/LOCATION/transferConfigs/CONFIG_ID
Sostituisci quanto segue:
- SERVICE_ACCOUNT: il nome del account di servizio tra progetti.
- PROJECT_ID: il nome del progetto associato al trasferimento di dati.
- LOCATION: la località del trasferimento di dati.
- CONFIG_ID: l'ID della configurazione di trasferimento.
Creazione manuale del service agent
Se vuoi attivare la creazione dell'agente di servizio prima di interagire con l'API, ad esempio se devi concedere ruoli aggiuntivi all'agente di servizio, puoi utilizzare uno dei seguenti approcci:
- API: services.GenerateServiceIdentity
- gcloud CLI: gcloud beta services identity create
- Provider Terraform: google_project_service_identity
Quando attivi manualmente la creazione dell'agente di servizio, Google non concede automaticamente il ruolo di agente di servizio predefinito. Devi concedere manualmente all'agente di servizio il ruolo predefinito utilizzando il seguente comando di Google Cloud CLI:
gcloud projects add-iam-policy-binding project_number \ --member serviceAccount:service-project_number@gcp-sa-bigquerydatatransfer.iam.gserviceaccount.com \ --role roles/bigquerydatatransfer.serviceAgent
Sostituisci quanto segue:
- project_number è il numero del progetto in cui è abilitato BigQuery Data Transfer Service.
Concedi l'accesso a bigquery.admin
Ti consigliamo di concedere il ruolo IAM predefinito bigquery.admin agli utenti che creano trasferimenti di BigQuery Data Transfer Service.
Il ruolo bigquery.admin include le autorizzazioni IAM necessarie per eseguire le attività più comuni. Il ruolo bigquery.admin include le seguenti autorizzazioni di BigQuery Data Transfer Service:
- Autorizzazioni di BigQuery Data Transfer Service:
bigquery.transfers.updatebigquery.transfers.get
- Autorizzazioni BigQuery:
bigquery.datasets.getbigquery.datasets.getIamPolicybigquery.datasets.updatebigquery.datasets.setIamPolicybigquery.jobs.create
In alcuni casi, le autorizzazioni richieste potrebbero variare tra le diverse origini dati. Per informazioni specifiche su IAM, consulta la sezione "Autorizzazioni richieste" nella guida al trasferimento di ogni origine dati. Ad esempio, consulta Autorizzazioni di trasferimento di Amazon S3 o Autorizzazioni di trasferimento di Cloud Storage.
Per concedere il ruolo bigquery.admin:
Console
Apri la pagina IAM nella console Google Cloud
Fai clic su Seleziona un progetto.
Seleziona un progetto e fai clic su Apri.
Fai clic su Aggiungi per aggiungere nuovi membri al progetto e impostare le relative autorizzazioni.
Nella finestra di dialogo Aggiungi membri:
- In Membri, inserisci l'indirizzo email dell'utente o del gruppo.
- Nel menu a discesa Seleziona un ruolo, fai clic su BigQuery > Amministratore BigQuery.
Fai clic su Aggiungi.
gcloud
Puoi utilizzare Google Cloud CLI per concedere a un utente o a un gruppo il ruolo bigquery.admin.
Per aggiungere una singola associazione alla policy IAM del progetto, digita il seguente comando. Per aggiungere un utente, fornisci il flag --member nel formato user:user@example.com. Per aggiungere un gruppo, fornisci il flag --member nel formato group:group@example.com.
gcloud projects add-iam-policy-binding project_id \ --member principal:address \ --role roles/bigquery.admin
Dove:
- project_id è l'ID progetto.
- principal è
groupouser. - address è l'indirizzo email dell'utente o del gruppo.
Ad esempio:
gcloud projects add-iam-policy-binding myproject \
--member group:group@example.com \
--role roles/bigquery.admin
Il comando restituisce l'output comando aggiornato:
bindings:
- members:
- group:group@example.com
role: roles/bigquery.admin
Per saperne di più sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.
Risolvi i problemi relativi alle configurazioni di trasferimento
Per informazioni sulla risoluzione dei problemi relativi a BigQuery Data Transfer Service, consulta Risolvi i problemi relativi alle configurazioni di trasferimento.
Passaggi successivi
Dopo aver attivato BigQuery Data Transfer Service, crea un trasferimento per l'origine dati.
- Piattaforme SaaS:
- Piattaforme di marketing:
- Piattaforme di pagamento:
- Database e data warehouse:
- Amazon Redshift
- Metastore Apache Hive
- Microsoft SQL Server (anteprima)
- MySQL
- Oracle
- PostgreSQL
- Snowflake
- Teradata
- Spazio di archiviazione sul cloud:
- Servizi Google: