Controllo dell'accesso con IAM

Questa pagina descrive le opzioni di controllo dell'accesso in Cloud Data Fusion.

Puoi controllare l'accesso alle risorse in Cloud Data Fusion nei seguenti modi:

  • Per controllare l'accesso per le operazioni del piano di controllo, ad esempio la creazione e l'aggiornamento delle istanze tramite la console Google Cloud, Google Cloud CLI e l'API REST, utilizza Identity and Access Management (IAM), come descritto in questa pagina.

  • Utilizza IAM per concedere l'accesso ai servizi dati di Google Cloud come BigQuery o Cloud Storage a un account di servizio in cui sono in esecuzione le pipeline.

  • Per controllare le autorizzazioni granulari per le azioni eseguite nell'istanza, note come operazioni del piano dati, come l'avvio delle pipeline, utilizza controllo dell'accesso basato sui ruoli (RBAC). Per ulteriori informazioni, consulta la panoramica di RBAC.

Per informazioni sull'architettura e sulle risorse utilizzate per controllo dell'accesso di Cloud Data Fusion, consulta Networking. Per informazioni sulla concessione di ruoli e autorizzazioni, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.

Informazioni su IAM in Cloud Data Fusion

Puoi controllare l'accesso alle funzionalità di Cloud Data Fusion concedendo ruoli e autorizzazioni IAM agli account di servizio e ad altre entità nel tuo progetto Google Cloud.

Per concedere un accesso granulare agli account utente in modo che possano utilizzare l'interfaccia web di Cloud Data Fusion, utilizza RBAC.

Per impostazione predefinita, Cloud Data Fusion utilizza i seguenti account di servizio:

Account di servizio Cloud Data Fusion

L'account di servizio Cloud Data Fusion è un agente di servizio gestito da Google che può accedere alle risorse del cliente in fase di progettazione della pipeline. Questo agente di servizio viene aggiunto automaticamente a un progetto quando abiliti l'API Cloud Data Fusion. Viene utilizzato per tutte le istanze del progetto.

L'agente di servizio ha le seguenti responsabilità:

  • Comunicazione con altri servizi, come Cloud Storage, BigQuery o Datastream durante la progettazione della pipeline.

  • Abilitare l'esecuzione eseguendo il provisioning dei cluster Dataproc e inviando job di pipeline.

Ruoli per l'account di servizio Cloud Data Fusion

Per impostazione predefinita, l'account di servizio Cloud Data Fusion dispone solo del ruolo Agente di servizio API Cloud Data Fusion (roles/datafusion.serviceAgent).

Il nome dell'entità per questo agente di servizio è service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Le seguenti risorse predefinite sono associate al ruolo Agente di servizio API Cloud Data Fusion.

Ruolo Risorsa Autorizzazioni
Agente di servizio API Cloud Data Fusion Servizi associati:
  • BigQuery
  • Bigtable
  • Compute Engine
  • Dataproc
  • Cloud DNS
  • Firebase
  • Cloud Monitoring
  • Connettività di rete
  • Gestore dell'integrazione dei servizi della rete
  • API Network Services
  • Organization Policy
  • API Recommender
  • API Cloud Resource Manager
  • Networking di servizi
  • Service Usage
  • Spanner
  • Cloud Storage
  • Traffic Director
Consulta le autorizzazioni per l'agente di servizio dell'API Cloud Data Fusion.

Account di servizio predefinito di Compute Engine o account di servizio personalizzato

L'account di servizio Compute Engine è l'account predefinito che Cloud Data Fusion utilizza per il deployment e l'esecuzione di job che accedono ad altre risorse Google Cloud. Per impostazione predefinita, si collega alla VM di un cluster Dataproc per consentire a Cloud Data Fusion di accedere alle risorse Dataproc durante l'esecuzione di una pipeline.

Puoi scegliere un account di servizio personalizzato da collegare al cluster Dataproc durante la creazione di un'istanza di Cloud Data Fusion o nella creazione di nuovi profili di computing nell'interfaccia web di Cloud Data Fusion.

Per maggiori informazioni, consulta Account di servizio in Cloud Data Fusion.

Ruoli per l'account di servizio Compute Engine

Per impostazione predefinita, per accedere alle risorse (come origini e sink) quando esegui una pipeline, Cloud Data Fusion utilizza l'account di servizio predefinito di Compute Engine.

Puoi configurare un account di servizio personalizzato gestito dall'utente per le istanze Cloud Data Fusion e concedere un ruolo a questo account. Successivamente, puoi scegliere questo account di servizio durante la creazione di nuove istanze.

Ruolo Esecutore Cloud Data Fusion

Nel progetto che contiene l'istanza Cloud Data Fusion, per gli account di servizio personalizzati sia predefiniti sia gestiti dall'utente, concedi il ruolo Esecutore Cloud Data Fusion (datafusion.runner).

Ruolo Descrizione Autorizzazione
Esecutore Data Fusion (datafusion.runner) Consente all'account di servizio Compute Engine di comunicare con i servizi Cloud Data Fusion nel progetto tenant datafusion.instances.runtime

Ruolo Utente account di servizio

Nell'account di servizio predefinito o gestito dall'utente nel progetto in cui vengono avviati i cluster Dataproc quando esegui le pipeline, concedi all'account di servizio Cloud Data Fusion il ruolo Utente account di servizio (roles/iam.serviceAccountUser).

Per ulteriori informazioni, consulta Concedere l'autorizzazione all'account di servizio.

Ruolo worker Dataproc

Per eseguire i job sui cluster Dataproc, concedi il ruolo Worker Dataproc (roles/dataproc.worker) agli account di servizio predefiniti o gestiti dall'utente utilizzati dalle pipeline di Cloud Data Fusion.

Ruoli per gli utenti

Per attivare un'operazione in Cloud Data Fusion, tu (l'entità) devi avere autorizzazioni sufficienti. Le singole autorizzazioni sono raggruppate in ruoli e concedi i ruoli a questa entità.

Se RBAC non è abilitato o se stai utilizzando una versione di Cloud Data Fusion che non supporta RBAC, gli utenti con qualsiasi ruolo IAM di Cloud Data Fusion hanno accesso completo all'interfaccia web di Cloud Data Fusion. Il ruolo Amministratore consente agli utenti solo di gestire l'istanza, ad esempio le operazioni Create, Update, Upgrade e Delete.

Concedi i ruoli seguenti alle entità, a seconda delle autorizzazioni necessarie in Cloud Data Fusion.

Ruolo Descrizione Autorizzazioni
Amministratore Cloud Data Fusion (roles/datafusion.admin) Tutte le autorizzazioni di visualizzazione, più quelle per creare, aggiornare ed eliminare le istanze Cloud Data Fusion.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.instances.create
  • datafusion.instances.delete
  • datafusion.instances.update
  • datafusion.operations.get
  • datafusion.operations.list
  • datafusion.operations.cancel
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Visualizzatore Cloud Data Fusion (roles/datafusion.viewer)
  • Può visualizzare le istanze Cloud Data Fusion del progetto nella console Google Cloud.
  • Impossibile creare, aggiornare o eliminare le istanze Cloud Data Fusion.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.operations.get
  • datafusion.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Accedere alle risorse di un altro progetto in fase di progettazione

Questa sezione descrive controllo dell'accesso alle risorse che si trovano in un progetto Google Cloud diverso da quello nella tua istanza Cloud Data Fusion in fase di progettazione.

Quando progetti le pipeline nell'interfaccia web di Cloud Data Fusion, puoi utilizzare funzioni come Wrangler o Preview che accedono alle risorse di altri progetti.

Le seguenti sezioni descrivono come determinare l'account di servizio nel tuo ambiente e quindi assegnare le autorizzazioni appropriate.

Determina l'account di servizio del tuo ambiente

Il nome dell'account di servizio è l'account di servizio Cloud Data Fusion e l'entità per questo agente di servizio è service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Concedi l'autorizzazione per accedere alle risorse in un altro progetto

Per concedere i ruoli che concedono l'autorizzazione ad accedere a varie risorse, segui questi passaggi:

  1. Nel progetto in cui si trova la risorsa di destinazione, aggiungi l'account di servizio Cloud Data Fusion (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) come entità.
  2. Concedi ruoli all'account di servizio Cloud Data Fusion nella risorsa di destinazione nel progetto in cui si trova la risorsa di destinazione.

Dopo aver concesso i ruoli, puoi accedere alle risorse di un altro progetto in fase di progettazione nello stesso modo in cui accedi alle risorse del progetto in cui si trova l'istanza.

Accedi alle risorse in un altro progetto al momento dell'esecuzione

Questa sezione descrive controllo dell'accesso alle risorse che si trovano in un progetto Google Cloud diverso da quello nella tua istanza Cloud Data Fusion al momento dell'esecuzione.

Al momento dell'esecuzione, esegui la pipeline su un cluster Dataproc, che può accedere alle risorse in altri progetti. Per impostazione predefinita, il cluster Dataproc viene avviato nello stesso progetto dell'istanza di Cloud Data Fusion, ma puoi utilizzare i cluster in un altro progetto.

Per accedere alle risorse in altri progetti Google Cloud, segui questi passaggi:

  1. Determinare l'account di servizio per il progetto.
  2. Nel progetto in cui si trova la risorsa, concedi i ruoli IAM all'account di servizio predefinito di Compute Engine per concedergli l'accesso alle risorse in un altro progetto.

Determina l'account di servizio Compute Engine

Per maggiori informazioni sull'account di servizio Compute Engine, consulta Informazioni su IAM in Cloud Data Fusion.

Concedere l'accesso alle risorse IAM in un altro progetto

L'account di servizio predefinito di Compute Engine richiede le autorizzazioni per accedere alle risorse di un altro progetto. Questi ruoli e autorizzazioni possono essere diversi a seconda della risorsa a cui vuoi accedere.

Per accedere alle risorse:

  1. Concedi ruoli e autorizzazioni, specificando l'account di servizio Compute Engine come entità nel progetto in cui si trova la risorsa di destinazione.
  2. Aggiungi ruoli appropriati per accedere alla risorsa.

Autorizzazioni API Cloud Data Fusion

Per eseguire l'API Cloud Data Fusion sono necessarie le seguenti autorizzazioni.

Chiamata API Autorizzazione
instances.create datafusion.instances.create
instances.delete datafusion.instances.delete
instances.list datafusion.instances.list
instances.get datafusion.instances.get
instances.update datafusion.instances.update
operations.cancel datafusion.operations.cancel
operations.list datafusion.operations.list
operations.get datafusion.operations.get

Autorizzazioni per le attività comuni

Le attività comuni in Cloud Data Fusion richiedono le seguenti autorizzazioni:

Attività Autorizzazioni
Accesso all'interfaccia web di Cloud Data Fusion datafusion.instances.get
Accesso alla pagina Istanze di Cloud Data Fusion nella console Google Cloud datafusion.instances.list
Accesso alla pagina Dettagli di un'istanza datafusion.instances.get
Creazione di una nuova istanza datafusion.instances.create
Aggiornamento di etichette e opzioni avanzate per personalizzare un'istanza datafusion.instances.update
Eliminazione di un'istanza datafusion.instances.delete

Passaggi successivi