Abilitare BigQuery Data Transfer Service

Per utilizzare BigQuery Data Transfer Service, devi completare i seguenti passaggi come 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 di IAM.

Creare un progetto e abilitare l'API BigQuery

Prima di utilizzare BigQuery Data Transfer Service, devi creare un progetto e, nella maggior parte dei casi, abilitare la fatturazione per questo 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:

  1. Nella Google Cloud console, vai alla pagina di selezione del progetto.

    Vai al selettore di progetti

  2. Seleziona o crea un Google Cloud progetto.

    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 su 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' resourcemanager.projects.create autorizzazione. Scopri come concedere i ruoli.
  3. Abilita la fatturazione per il tuo progetto per tutti i trasferimenti. Ti viene addebitato un importo di 0 $per trasferimenti senza costi.

    L'abilitazione della fatturazione è richiesta una sola volta per progetto, anche se stai trasferendo 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.

  4. BigQuery viene abilitato automaticamente nei nuovi progetti. Per attivare BigQuery in un progetto esistente, abilita l' API BigQuery.

    Abilitare l'API BigQuery

Abilitare BigQuery Data Transfer Service

Prima di poter creare un trasferimento, devi abilitare BigQuery Data Transfer Service. Per abilitare BigQuery Data Transfer Service, devi disporre del ruolo Proprietario per il tuo progetto.

Per abilitare BigQuery Data Transfer Service:

  1. Apri la pagina dell'API Data Transfer di BigQuery nella libreria API.

  2. Dal menu a discesa, seleziona il progetto appropriato.

  3. Fai clic sul pulsante ABILITA.

    Abilita API Data Transfer

Service agent

BigQuery Data Transfer Service utilizza un service agent per accedere alle tue risorse e gestirle. Queste risorse includono, a titolo esemplificativo:

  • Recupero di un token di accesso per il account di servizio da utilizzare per autorizzare il trasferimento di dati.
  • Pubblicazione di notifiche nell'argomento Pub/Sub fornito, se abilitato.
  • Avvio dei job BigQuery.
  • Recupero di eventi dalla sottoscrizione Pub/Sub fornita per il trasferimento basato su eventi di Cloud Storage.

Il service agent viene creato automaticamente per tuo conto dopo che hai abilitato BigQuery Data Transfer Service e utilizzato l'API per la prima volta. Al momento della creazione del service agent, Google concede automaticamente il ruolo predefinito del service agent.

Autorizzazione del 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 al service agent utilizzando il seguente comando 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

Dove:

  • service_account è il account di servizio tra progetti utilizzato per autorizzare il trasferimento di dati.
  • project_number è il numero di progetto del progetto in cui è abilitato il 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 Google Cloud console, 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 al service agent DTS (residente nel progetto di destinazione) il ruolo roles/iam.serviceAccountTokenCreator sull'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 utilizzato) anziché a livello di progetto.

Creazione manuale del service agent

Se vuoi attivare la creazione del service agent prima di interagire con l'API, ad esempio se devi concedere ruoli aggiuntivi al service agent, puoi utilizzare uno dei seguenti approcci:

Quando attivi manualmente la creazione del service agent, Google non concede automaticamente il ruolo service agent predefinito. Devi concedere manualmente al service agent il ruolo predefinito utilizzando il seguente comando 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

Dove:

  • project_number è il numero di progetto del progetto in cui è abilitato il BigQuery Data Transfer Service.

Concedere l'accesso 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.update
    • bigquery.transfers.get
  • Autorizzazioni BigQuery:
    • bigquery.datasets.get
    • bigquery.datasets.getIamPolicy
    • bigquery.datasets.update
    • bigquery.datasets.setIamPolicy
    • bigquery.jobs.create

In alcuni casi, le autorizzazioni richieste potrebbero variare a seconda dell'origine dati. Per informazioni IAM specifiche, consulta la sezione "Autorizzazioni richieste" in ogni guida al trasferimento dell'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

  1. Apri la pagina IAM nella Google Cloud console.

    Apri la pagina IAM

  2. Fai clic su Seleziona un progetto.

  3. Seleziona un progetto e fai clic su Apri.

  4. Fai clic su Aggiungi per aggiungere nuovi membri al progetto e impostare le relative autorizzazioni.

  5. 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.

      Concedi accesso amministrativo

gcloud

Puoi utilizzare Google Cloud CLI per concedere a un utente o a un gruppo il ruolo bigquery.admin.

Per aggiungere un singolo binding 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 è group o user.
  • 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 la policy aggiornata:

    bindings:
    - members:
      - group:group@example.com
        role: roles/bigquery.admin
    

Per saperne di più sui ruoli IAM in BigQuery, consulta Ruoli e autorizzazioni predefiniti.

Passaggi successivi

Dopo aver abilitato BigQuery Data Transfer Service, crea un trasferimento per l'origine dati.