Controllo dell'accesso con IAM

In questa pagina vengono descritte le opzioni di controllo dell'accesso in Cloud Data Fusion.

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

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

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

  • Per controllare le autorizzazioni granulari per le azioni eseguite in nota come piano dati le operazioni, come l'avvio di pipeline, utilizzano il controllo dell'accesso basato sui ruoli (RBAC).

Per informazioni sull'architettura e sulle risorse coinvolte Controllo dell'accesso a 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 i ruoli e le autorizzazioni IAM per account di servizio e altre entità nel tuo progetto Google Cloud.

Per concedere un accesso granulare agli account utente, in modo che possano utilizzare il 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 possano accedere alle risorse dei clienti al momento della progettazione della pipeline. Questo agente di servizio viene aggiunto automaticamente a un progetto quando si abilita l'API Cloud Data Fusion. Viene utilizzato per tutte le istanze del progetto.

L'agente di servizio ha le seguenti responsabilità:

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

  • Abilitazione dell'esecuzione mediante il provisioning dei cluster Dataproc l'invio di job della pipeline.

Ruoli per l'account di servizio Cloud Data Fusion

Per impostazione predefinita, l'account di servizio Cloud Data Fusion ha solo Ruolo di 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 all'API Cloud Data Fusion Agente di servizio.

Ruolo Risorsa Autorizzazioni
Cloud Data Fusion API Service Agent 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
  • Utilizzo dei servizi
  • Spanner
  • Cloud Storage
  • Cloud Service Mesh
Consulta l'agente di servizio API Cloud Data Fusion autorizzazioni.

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

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

Puoi scegliere un account di servizio personalizzato da collegare a Dataproc quando crei un'istanza Cloud Data Fusion o quando crei nuove Profili di calcolo nell'interfaccia web di Cloud Data Fusion.

Per ulteriori informazioni, vedi 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 un pipeline, Cloud Data Fusion utilizza Account di servizio predefinito 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. In seguito, puoi scegliere questo account di servizio quando crei nuove istanze.

Ruolo Runner di Cloud Data Fusion

Nel progetto contenente l'istanza Cloud Data Fusion, sia per impostazione predefinita e account di servizio personalizzati gestiti dall'utente, concedono Cloud Data Fusion Runner (datafusion.runner).

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

Ruolo Utente account di servizio

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

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

Ruolo Worker Dataproc

Per eseguire i job sui cluster Dataproc, concedi al worker Dataproc (roles/dataproc.worker) al servizio predefinito o gestito dall'utente utilizzati dalle tue pipeline di Cloud Data Fusion.

Ruoli per gli utenti

Per attivare qualsiasi operazione in Cloud Data Fusion, tu (l'entità) devi di avere autorizzazioni sufficienti. Le singole autorizzazioni sono raggruppate in ruoli e concedere ruoli all'entità.

Se RBAC non è abilitato o se utilizzi una versione di Cloud Data Fusion che non supporta RBAC, gli utenti con qualsiasi IAM di Cloud Data Fusion hanno accesso completo ai database web di Cloud Data Fusion a riga di comando. Il ruolo Amministratore consente agli utenti solo di gestire l'istanza, ad esempio Operazioni Create, Update, Upgrade e Delete.

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

Ruolo Descrizione Autorizzazioni
Amministratore Cloud Data Fusion (roles/datafusion.admin) Tutte le autorizzazioni di visualizzazione, più le autorizzazioni per creare, aggiornare ed eliminare di 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 in nella console Google Cloud.
  • Impossibile creare, aggiornare o eliminare Cloud Data Fusion di Compute Engine.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.operations.get
  • datafusion.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Accesso alle risorse di un altro progetto in fase di progettazione

Questa sezione descrive il controllo dell'accesso alle risorse che si trovano in un un progetto Google Cloud diverso rispetto alla tua istanza Cloud Data Fusion in fase di progettazione nel tempo.

Quando progetti pipeline in Cloud Data Fusion web puoi usare funzioni come Wrangler o Preview, che e accedere alle risorse in altri progetti.

Le seguenti sezioni descrivono come determinare l'account di servizio nel tuo e 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 ad 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 esiste la risorsa di destinazione, aggiungi il token 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 destinazione risorsa del progetto in cui è presente la risorsa di destinazione.

Dopo aver concesso i ruoli, puoi accedere alle risorse di un progetto diverso all'indirizzo nello stesso modo in cui accedi alle risorse nel progetto in cui in esecuzione.

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

Questa sezione descrive il controllo dell'accesso alle risorse che si trovano in un un progetto Google Cloud diverso rispetto alla tua istanza Cloud Data Fusion tempo di esecuzione.

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

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

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

Determina l'account di servizio Compute Engine

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

Concedi l'accesso IAM alle risorse in un altro progetto

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

Per accedere alle risorse, segui questi passaggi:

  1. Concedi ruoli e autorizzazioni, specificando il tuo servizio Compute Engine dell'account come entità nel progetto in cui esiste la risorsa di destinazione.
  2. Aggiungi i ruoli appropriati per accedere alla risorsa.

Autorizzazioni dell'API Cloud Data Fusion

Per eseguire API Cloud Data Fusion.

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 in la console Google Cloud datafusion.instances.list
Accesso alla pagina Dettagli per 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