Panoramica
Identity and Access Management (IAM) ti consente di controllare l'accesso di utenti e gruppi alle risorse del progetto. Questo documento si concentra sulle autorizzazioni IAM pertinenti per Dataproc e sui ruoli IAM che concedono queste autorizzazioni.
Autorizzazioni Dataproc
Le autorizzazioni Dataproc consentono agli utenti, inclusi i
service account,
di eseguire azioni su cluster, job, operazioni e modelli di workflow Dataproc. Ad esempio, l'autorizzazione dataproc.clusters.create
consente a un utente di creare cluster Dataproc in un progetto.
In genere, non concedi autorizzazioni, ma ruoli, che includono una o più autorizzazioni.
Le tabelle seguenti elencano le autorizzazioni necessarie per chiamare le API (metodi) Dataproc. Le tabelle sono organizzate in base alle API associate a ogni risorsa Dataproc (cluster, job, operazioni e modelli di flusso di lavoro).
Ambito delle autorizzazioni:l'ambito delle autorizzazioni Dataproc elencate nelle tabelle seguenti è il progetto contenitore (ambito cloud-platform). Google CloudConsulta
Autorizzazioni account di servizio.
Esempi:
dataproc.clusters.createconsente la creazione di cluster Dataproc nel progetto contenitoredataproc.jobs.createconsente l'invio di job Dataproc ai cluster Dataproc nel progetto contenitoredataproc.clusters.listconsente di elencare i dettagli dei cluster Dataproc nel progetto contenitore
Autorizzazioni richieste per i metodi dei cluster
| Metodo | Autorizzazioni obbligatorie |
|---|---|
| projects.regions.clusters.create 1, 2 | dataproc.clusters.create |
| projects.regions.clusters.get | dataproc.clusters.get |
| projects.regions.clusters.list | dataproc.clusters.list |
| projects.regions.clusters.patch 1, 2, 3 | dataproc.clusters.update |
| projects.regions.clusters.delete 1 | dataproc.clusters.delete |
| projects.regions.clusters.start | dataproc.clusters.start |
| projects.regions.clusters.stop | dataproc.clusters.stop |
| projects.regions.clusters.getIamPolicy | dataproc.clusters.getIamPolicy |
| projects.regions.clusters.setIamPolicy | dataproc.clusters.setIamPolicy |
Note:
- L'autorizzazione
dataproc.operations.getè necessaria anche per ricevere aggiornamenti di stato da Google Cloud CLI. - L'autorizzazione
dataproc.clusters.getè necessaria anche per ottenere il risultato dell'operazione da Google Cloud CLI. - È necessaria anche l'autorizzazione
dataproc.autoscalingPolicies.useper attivare un criterio di scalabilità automatica su un cluster.
Autorizzazioni richieste per i metodi Jobs
| Metodo | Autorizzazioni obbligatorie |
|---|---|
| projects.regions.jobs.submit 1, 2 | dataproc.jobs.create dataproc.clusters.use |
| projects.regions.jobs.get | dataproc.jobs.get |
| projects.regions.jobs.list | dataproc.jobs.list |
| projects.regions.jobs.cancel 1 | dataproc.jobs.cancel |
| projects.regions.jobs.patch 1 | dataproc.jobs.update |
| projects.regions.jobs.delete 1 | dataproc.jobs.delete |
| projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
| projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Note:
Google Cloud CLI richiede anche l'autorizzazione
dataproc.jobs.getper i comandijobs submit,jobs wait,jobs update,jobs deleteejobs kill.gcloud CLI richiede anche l'autorizzazione
dataproc.clusters.getper inviare job. Per un esempio di impostazione delle autorizzazioni necessarie a un utente per eseguiregcloud dataproc jobs submitsu un cluster utilizzando IAM granulare di Dataproc (vedi Invio di job con IAM granulare).
Autorizzazioni richieste per i metodi delle operazioni
| Metodo | Autorizzazioni obbligatorie |
|---|---|
| projects.regions.operations.get | dataproc.operations.get |
| projects.regions.operations.list | dataproc.operations.list |
| projects.regions.operations.cancel | dataproc.operations.cancel |
| projects.regions.operations.delete | dataproc.operations.delete |
| projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
| projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
Autorizzazioni richieste per i metodi dei modelli di workflow
| Metodo | Autorizzazioni obbligatorie |
|---|---|
| projects.regions.workflowTemplates.instantiate | dataproc.workflowTemplates.instantiate |
| projects.regions.workflowTemplates.instantiateInline | dataproc.workflowTemplates.instantiateInline |
| projects.regions.workflowTemplates.create | dataproc.workflowTemplates.create |
| projects.regions.workflowTemplates.get | dataproc.workflowTemplates.get |
| projects.regions.workflowTemplates.list | dataproc.workflowTemplates.list |
| projects.regions.workflowTemplates.update | dataproc.workflowTemplates.update |
| projects.regions.workflowTemplates.delete | dataproc.workflowTemplates.delete |
| projects.regions.workflowTemplates.getIamPolicy | dataproc.workflowTemplates.getIamPolicy |
| projects.regions.workflowTemplates.setIamPolicy | dataproc.workflowTemplates.setIamPolicy |
Note:
Le autorizzazioni del modello di flusso di lavoro sono indipendenti dalle autorizzazioni del cluster e del job. Un utente senza autorizzazioni
create clusterosubmit jobpuò creare e istanziarne un modello di flusso di lavoro.Google Cloud CLI richiede inoltre l'autorizzazione
dataproc.operations.getper eseguire il polling per il completamento del flusso di lavoro.È necessaria l'autorizzazione
dataproc.operations.cancelper annullare un flusso di lavoro in esecuzione.
Autorizzazioni richieste per i metodi dei criteri di scalabilità automatica
| Metodo | Autorizzazioni obbligatorie |
|---|---|
| projects.regions.autoscalingPolicies.create | dataproc.autoscalingPolicies.create |
| projects.regions.autoscalingPolicies.get | dataproc.autoscalingPolicies.get |
| projects.regions.autoscalingPolicies.list | dataproc.autoscalingPolicies.list |
| projects.regions.autoscalingPolicies.update | dataproc.autoscalingPolicies.update |
| projects.regions.autoscalingPolicies.delete | dataproc.autoscalingPolicies.delete |
| projects.regions.autoscalingPolicies.getIamPolicy | dataproc.autoscalingPolicies.getIamPolicy |
| projects.regions.autoscalingPolicies.setIamPolicy | dataproc.autoscalingPolicies.setIamPolicy |
Note:
- È necessaria l'autorizzazione
dataproc.autoscalingPolicies.useper abilitare una policy di scalabilità automatica su un cluster con una richiesta del metodoclusters.patch.
Autorizzazioni richieste per i metodi dei gruppi di nodi
| Metodo | Autorizzazioni obbligatorie |
|---|---|
| projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
| projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
| projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Ruoli Dataproc
I ruoli IAM di Dataproc
sono un insieme di una o più autorizzazioni.
Assegni ruoli a utenti o gruppi per consentire loro di eseguire azioni sulle risorse Dataproc in un progetto. Ad esempio, il ruolo Visualizzatore Dataproc contiene le autorizzazioni get e list, che consentono a un utente di ottenere ed elencare cluster, job e operazioni Dataproc in un progetto.
La tabella seguente elenca i ruoli IAM Dataproc e le autorizzazioni associate a ciascun ruolo.
| Role | Permissions |
|---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Dataproc, including machine types, networks, projects, and zones. Lowest-level resources where you can grant this role:
|
|
Dataproc Hub Agent( Allows management of Dataproc resources. Intended for service accounts running Dataproc Hub instances. |
|
Dataproc Serverless Editor( Permissions needed to run serverless sessions and batches as a user |
|
Dataproc Serverless Node.( Node access to Dataproc Serverless sessions and batches. Intended for service accounts. |
|
Dataproc Serverless Viewer( Permissions needed to view serverless sessions and batches |
|
Dataproc Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Dataproc Viewer( Provides read-only access to Dataproc resources. Lowest-level resources where you can grant this role:
|
|
Dataproc Worker( Provides worker access to Dataproc resources. Intended for service accounts. |
|
Note:
- Le autorizzazioni
computesono necessarie o consigliate per creare e visualizzare i cluster Dataproc quando utilizzi la console Google Cloud o Google Cloud CLI gcloud CLI. - Per consentire a un utente di caricare file, concedi il ruolo
Storage Object Creator. Per consentire a un utente di visualizzare l'output del job, concedi il ruoloStorage Object Viewer. - Un utente deve disporre dell'autorizzazione
monitoring.timeSeries.listper visualizzare i grafici nella scheda Panoramica della console Google Cloud →Dataproc→Dettagli cluster. - Un utente deve disporre dell'autorizzazione
compute.instances.listper visualizzare lo stato dell'istanza e il menu SSH dell'istanza master nella consoleGoogle Cloud →Dataproc→scheda Dettagli cluster→Istanze VM. Per informazioni sui ruoli di Compute Engine, consulta Compute Engine→Ruoli IAM disponibili). - Per creare un cluster con un account di servizio specificato dall'utente, il account di servizio specificato
deve disporre di tutte le autorizzazioni concesse dal ruolo
Dataproc Worker, che includono l'accesso ai bucket temporanei e di staging di Dataproc. A seconda delle funzionalità configurate, potrebbero essere necessari ruoli aggiuntivi. Per saperne di più, consulta Crea un cluster con un service account VM personalizzato.
Ruoli di progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli Progetto IAM. La tabella seguente elenca le autorizzazioni associate ai ruoli IAM del progetto:
| Ruolo progetto | Autorizzazioni |
|---|---|
| Visualizzatore progetto | Tutte le autorizzazioni del progetto per le azioni di sola lettura che conservano lo stato (get, list) |
| Editor progetto | Tutte le autorizzazioni di Visualizzatore progetto più tutte le autorizzazioni di progetto per le azioni che modificano lo stato (crea, elimina, aggiorna, utilizza, annulla, arresta, avvia) |
| Proprietario progetto | Tutte le autorizzazioni di Editor progetto più le autorizzazioni per gestire il controllo dell'accesso per il progetto (get/set IamPolicy) e per configurare la fatturazione del progetto |
Riepilogo dei ruoli IAM e delle operazioni Dataproc
La tabella seguente elenca le operazioni Dataproc associate ai ruoli di progetto e Dataproc.
| Operazione | Editor progetto | Visualizzatore progetto | Amministratore Dataproc | Dataproc Editor | Dataproc Viewer |
|---|---|---|---|---|---|
| Recupera/imposta le autorizzazioni IAM di Dataproc | No | No | Sì | No | No |
| Crea cluster | Sì | No | Sì | Sì | No |
| Elenca cluster | Sì | Sì | Sì | Sì | Sì |
| Recupero dei dettagli del cluster | Sì | Sì | Sì 1, 2 | Sì 1, 2 | Sì 1, 2 |
| Aggiorna cluster | Sì | No | Sì | Sì | No |
| Elimina cluster | Sì | No | Sì | Sì | No |
| Avvia/Interrompi cluster | Sì | No | Sì | Sì | No |
| Invia il job | Sì | No | Sì 3 | Sì 3 | No |
| Elenca job | Sì | Sì | Sì | Sì | Sì |
| Recupero dettagli job | Sì | Sì | Sì 4 | Sì 4 | Sì 4 |
| Annulla job | Sì | No | Sì | Sì | No |
| Elimina job | Sì | No | Sì | Sì | No |
| Elenca operazioni | Sì | Sì | Sì | Sì | Sì |
| Visualizzare i dettagli dell'operazione | Sì | Sì | Sì | Sì | Sì |
| Elimina operazione | Sì | No | Sì | Sì | No |
Note:
- Il grafico del rendimento non è disponibile a meno che l'utente non disponga anche di un ruolo con l'autorizzazione
monitoring.timeSeries.list. - L'elenco delle VM nel cluster non includerà informazioni sullo stato
o un link SSH per l'istanza master, a meno che l'utente non disponga anche di un ruolo con
l'autorizzazione
compute.instances.list. - I job che caricano file richiedono che l'utente disponga del ruolo
Storage Object Creatoro dell'accesso in scrittura al bucket di staging di Dataproc. - L'output del job non è disponibile a meno che l'utente non disponga anche del ruolo Storage Object Visualizzatore o non gli sia stato concesso l'accesso in lettura al bucket di staging per il progetto.
Account di servizio
Quando chiami le API Dataproc per eseguire azioni in un progetto, ad esempio la creazione di istanze VM, Dataproc esegue le azioni per tuo conto utilizzando un account di servizio con le autorizzazioni necessarie per eseguire le azioni. Per saperne di più, vedi Service account Dataproc.
Gestione IAM
Puoi ottenere e impostare i criteri IAM utilizzando la console Google Cloud , l'API IAM o Google Cloud CLI.
- Per la console Google Cloud , consulta Controllo dell'accesso tramite la console Google Cloud .
- Per l'API, vedi Controllo dell'accesso tramite l'API.
- Per Google Cloud CLI, consulta Controllo dell'accesso utilizzando Google Cloud CLI.
Passaggi successivi
- Scopri di più su entità e ruoli Dataproc
- Scopri di più su IAM granulare di Dataproc
- Scopri di più su IAM.
- Scopri di più sui service account in Dataproc