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 alle operazioni del piano di controllo, come la creazione e l'aggiornamento delle istanze tramite la Google Cloud console, Google Cloud CLI e l'API REST, utilizza Identity and Access Management (IAM), come descritto in questa pagina.
Per concedere l'accesso ai Google Cloud servizi dati, come BigQuery o Cloud Storage, a un account di servizio in cui sono in esecuzione le pipeline, utilizza IAM.
Per controllare le autorizzazioni granulari per le azioni eseguite nell' istanza, note come operazioni del piano dati, ad esempio l'avvio delle pipeline, utilizza il controllo dell'accesso basato sui ruoli (RBAC).
Per informazioni sull'architettura e sulle risorse coinvolte nel controllo dell'accesso a Cloud Data Fusion, consulta Networking. Per informazioni sulla concessione di ruoli e autorizzazioni, consulta Gestisci 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 Google Cloud progetto.
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:
- L'account di servizio Cloud Data Fusion
- Il service account predefinito di Compute Engine
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 dei clienti in fase di progettazione della pipeline. Questo agente di servizio viene aggiunto automaticamente a un progetto quando abiliti l'API Data Fusion. Viene utilizzato per tutte le istanze del progetto.
L'agente di servizio ha le seguenti responsabilità:
Comunicare con altri servizi, come Cloud Storage, BigQuery o Datastream, durante la progettazione della pipeline.
Abilitare l'esecuzione mediante il provisioning dei cluster Managed Service for Apache Spark e l'invio dei job della pipeline.
Ruoli per l'account di servizio Cloud Data Fusion
Per impostazione predefinita, l'account di servizio Cloud Data Fusion ha solo il
ruolo Agente di servizio API Data Fusion
(roles/datafusion.serviceAgent).
Il nome principale per questo service agent è
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 |
|---|---|---|
| Service agent API Data Fusion | Servizi associati:
|
Consulta le autorizzazioni dell'agente di servizio API Data Fusion. |
Account di servizio predefinito di Compute Engine o account di servizio personalizzato
Il account di servizio Compute Engine è l'account predefinito utilizzato da Cloud Data Fusion per eseguire il deployment e l'esecuzione dei job che accedono ad altre Google Cloud risorse. Per impostazione predefinita, viene collegato a una VM del cluster Managed Service for Apache Spark per consentire a Cloud Data Fusion di accedere alle risorse di Managed Service for Apache Spark durante l'esecuzione di una pipeline.
Puoi scegliere un account di servizio personalizzato da collegare al cluster Managed Service for Apache Spark quando crei un'istanza di Cloud Data Fusion o creando nuovi profili di calcolo nell'interfaccia web di Cloud Data Fusion.
Per saperne di più, consulta Service account in Cloud Data Fusion.
Ruoli per il account di servizio Compute Engine
Per impostazione predefinita, per accedere alle risorse (come origini e sink) quando esegui una pipeline, Cloud Data Fusion utilizza il service account predefinito di Compute Engine.
Puoi configurare un service account personalizzato gestito dall'utente per le istanze di Cloud Data Fusion e concedere un ruolo a questo account. In seguito, puoi scegliere questo account di servizio quando crei nuove istanze.
Ruolo Esecutore Cloud Data Fusion
Nel progetto contenente l'istanza di Cloud Data Fusion, sia per i service account predefiniti che per quelli personalizzati gestiti dall'utente, concedi il ruolo Esecutore Cloud Data Fusion (datafusion.runner).
| Ruolo | Descrizione | Autorizzazione |
|---|---|---|
Esecutore Data Fusion (datafusion.runner) |
Consente al account di servizio Compute Engine di comunicare con Cloud Data Fusion services in the progetto tenant | datafusion.instances.runtime |
Ruolo Utente account di servizio
Concedi all'account di servizio Cloud Data Fusion il ruolo Utente account di servizio (roles/iam.serviceAccountUser) nel service account predefinito o gestito dall'utente nel progetto in cui vengono avviati i cluster Managed Service for Apache Spark quando esegui le pipeline.
Per saperne di più, consulta Concedi account di servizio account.
Ruolo Dataproc Worker
Per eseguire i job sui cluster Managed Service for Apache Spark, concedi il ruolo Dataproc Worker (roles/dataproc.worker) ai service account predefiniti o gestiti dall'utente utilizzati dalle pipeline di Cloud Data Fusion.
Ruoli per gli utenti
Per attivare qualsiasi operazione in Cloud Data Fusion, tu (l'entità) devi disporre di autorizzazioni sufficienti. Le singole autorizzazioni sono raggruppate in ruoli e tu concedi i ruoli a questa entità.
Se RBAC non è abilitato o se utilizzi una versione di Cloud Data Fusion che non supporta RBAC, gli utenti con qualsiasi ruolo IAM Cloud Data Fusion hanno accesso completo all'interfaccia web di Cloud Data Fusion. Il ruolo Amministratore consente agli utenti di gestire l'istanza, ad esempio le operazioni Create, Update, Upgrade e Delete.
Concedi i seguenti ruoli alle entità, a seconda delle autorizzazioni di cui hanno bisogno in Cloud Data Fusion.
| Ruolo | Descrizione | Autorizzazioni |
|---|---|---|
Amministratore Cloud Data Fusion (roles/datafusion.admin) |
Tutte le autorizzazioni di Visualizzatore, oltre alle autorizzazioni per creare, aggiornare ed eliminare istanze di Cloud Data Fusion. |
|
Visualizzatore Cloud Data Fusion (roles/datafusion.viewer) |
|
|
Accedi alle risorse in un altro progetto in fase di progettazione
Questa sezione descrive il controllo dell'accesso alle risorse che si trovano in un progetto Google Cloud diverso da quello dell'istanza di Cloud Data Fusion in fase di progettazione.
Quando progetti le pipeline nell'interfaccia web di Cloud Data Fusion, potresti utilizzare funzioni come Wrangler o Anteprima, che accedono alle risorse in altri progetti.
Le sezioni seguenti descrivono come determinare il account di servizio nel tuo ambiente e quindi concedere le autorizzazioni appropriate.
Determina il account di servizio del tuo ambiente
Il nome del service account è 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 consentono l'accesso a varie risorse:
- Nel progetto in cui esiste la risorsa di destinazione, aggiungi l'
account di servizio Cloud Data Fusion (
service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) come entità. - Concedi i ruoli all'account di servizio Cloud Data Fusion sulla risorsa di destinazione nel progetto in cui esiste la risorsa di destinazione.
Dopo aver concesso i ruoli, puoi accedere alle risorse in un progetto diverso in fase di progettazione nello stesso modo in cui accedi alle risorse nel progetto in cui si trova l'istanza.
Accedi alle risorse in un altro progetto in fase di esecuzione
Questa sezione descrive il controllo dell'accesso alle risorse che si trovano in un progetto Google Cloud diverso da quello dell'istanza di Cloud Data Fusion in fase di esecuzione.
In fase di esecuzione, esegui la pipeline su un cluster Managed Service for Apache Spark, che potrebbe accedere alle risorse in altri progetti. Per impostazione predefinita, il cluster Managed Service for Apache Spark 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 Google Cloud progetti:
- Determina il account di servizio per il tuo progetto.
- Nel progetto in cui si trova la risorsa, concedi i ruoli IAM al account di servizio predefinito di Compute Engine per consentirgli di accedere alle risorse in un altro progetto.
Determina il account di servizio Compute Engine
Per saperne di più sul account di servizio Compute Engine, consulta Informazioni su IAM in Cloud Data Fusion.
Concedi l'accesso IAM alle risorse in un altro progetto
Il account di servizio predefinito di Compute Engine richiede le autorizzazioni per accedere alle risorse in un altro progetto. Questi ruoli e autorizzazioni possono variare a seconda della risorsa a cui vuoi accedere.
Per accedere alle risorse:
- Concedi ruoli e autorizzazioni, specificando il service account Compute Engine come entità nel progetto in cui esiste la risorsa di destinazione.
- Aggiungi i ruoli appropriati per accedere alla risorsa.
Autorizzazioni API Data Fusion
Per eseguire l'API Cloud Data Fusion sono necessarie le seguenti autorizzazioni. Cloud Data Fusion API.
| 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 |
|---|---|
| Accedere all'interfaccia web di Cloud Data Fusion | datafusion.instances.get |
| Accessing the Cloud Data Fusion Instances page in the Google Cloud console | datafusion.instances.list |
| Accedere alla pagina Dettagli di un'istanza | datafusion.instances.get |
| Creare una nuova istanza | datafusion.instances.create |
| Aggiornare le etichette e le opzioni avanzate per personalizzare un'istanza | datafusion.instances.update |
| Eliminare un'istanza | datafusion.instances.delete |
Passaggi successivi
- Scopri di più sul controllo dell'accesso tra più progetti.