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 a Dataproc e sui ruoli IAM che concedono queste autorizzazioni.
Autorizzazioni Dataproc
Le autorizzazioni Dataproc consentono agli utenti, inclusi gli account di servizio, 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 Google Cloud contenente (ambito cloud-platform
). Consulta
Autorizzazioni account di servizio.
Esempi:
dataproc.clusters.create
consente la creazione di cluster Dataproc nel progetto contenentedataproc.jobs.create
consente l'invio di job Dataproc ai cluster Dataproc nel progetto contenentedataproc.clusters.list
consente l'elenco dei dettagli dei cluster Dataproc nel progetto contenente
Autorizzazioni richieste per i metodi di 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 sullo stato da Google Cloud CLI. - L'autorizzazione
dataproc.clusters.get
è necessaria anche per ottenere il risultato dell'operazione da Google Cloud CLI. - Per attivare un criterio di scalabilità automatica su un cluster è necessaria anche l'autorizzazione
dataproc.autoscalingPolicies.use
.
Autorizzazioni richieste dai metodi Job
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 inoltre l'autorizzazione
dataproc.jobs.get
per i comandijobs submit
,jobs wait
,jobs update
,jobs delete
ejobs kill
.Anche la gcloud CLI richiede l'autorizzazione
dataproc.clusters.get
per inviare i job. Per un esempio di impostazione delle autorizzazioni necessarie per consentire a un utente di eseguiregcloud dataproc jobs submit
su un cluster utilizzando IAM granulare di Dataproc (vedi Invio di job con IAM granulare).
Autorizzazioni richieste dai metodi di gestione
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 dei modelli di flusso di lavoro sono indipendenti dalle autorizzazioni di cluster e job. Un utente senza autorizzazioni
create cluster
osubmit job
può creare e istanziare un modello di flusso di lavoro.Inoltre, Google Cloud CLI richiede l'autorizzazione
dataproc.operations.get
per eseguire il polling per il completamento del flusso di lavoro.L'autorizzazione
dataproc.operations.cancel
è necessaria per annullare un flusso di lavoro in esecuzione.
Autorizzazioni richieste dai 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:
- L'autorizzazione
dataproc.autoscalingPolicies.use
è necessaria per attivare un criterio di scalabilità automatica su un cluster con una richiesta del metodoclusters.patch
.
Autorizzazioni richieste dai 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 Dataproc
sono un insieme di una o più autorizzazioni.
Concedi i ruoli a utenti o gruppi per consentire loro di eseguire azioni sulle risorse Dataproc di un progetto. Ad esempio, il ruolo Visualizzatore Dataproc contiene le autorizzazioni get
e list
, che consentono a un utente di recuperare ed elencare i cluster, i job e le operazioni Dataproc in un progetto.
La tabella riportata di seguito elenca i ruoli IAM di Dataproc e le autorizzazioni associate a ciascun ruolo.
Ruoli Dataproc |
Autorizzazioni |
Dataproc Administrator( Controllo completo delle risorse Dataproc. |
|
Dataproc Editor( Fornisce le autorizzazioni necessarie per visualizzare le risorse richieste per gestire Dataproc, inclusi tipi di macchine, reti, progetti e zone. Risorse di livello più basso in cui puoi concedere questo ruolo:
|
|
Dataproc Hub Agent( Consente di gestire le risorse Dataproc. Destinato agli account di servizio che eseguono istanze Dataproc Hub. |
|
Dataproc Viewer( Fornisce l'accesso di sola lettura alle risorse di Dataproc. Risorse di livello più basso in cui puoi concedere questo ruolo:
|
|
Dataproc Worker( Fornisce l'accesso come worker alle risorse Dataproc. Destinato agli account di servizio. |
|
Note:
- Le autorizzazioni
compute
sono necessarie o consigliate per creare e visualizzare i cluster Dataproc quando utilizzi la console Google Cloud o Google Cloud 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.list
per visualizzare i grafici nella scheda Panoramica della console Google Cloud→Dataproc→Dettagli cluster. - Un utente deve disporre dell'autorizzazione
compute.instances.list
per visualizzare lo stato dell'istanza e il menu SSH dell'istanza principale nella scheda Istanze VM della console Google Cloud→Dataproc→Dettagli cluster. 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, l'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. Potrebbero essere necessari ruoli aggiuntivi a seconda delle funzionalità configurate. Per ulteriori informazioni, vedi Creare un cluster con un account di servizio VM personalizzato.
Ruoli del progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli IAM Project. La tabella seguente elenca le autorizzazioni associate ai ruoli del progetto IAM:
Ruolo progetto | Autorizzazioni |
---|---|
Visualizzatore progetto | Tutte le autorizzazioni del progetto per azioni di sola lettura che preservano lo stato (get, list) |
Editor progetto | Tutte le autorizzazioni di Visualizzatore progetto, oltre a tutte le autorizzazioni del progetto per le azioni che modificano lo stato (creazione, eliminazione, aggiornamento, utilizzo, annullamento, interruzione, avvio) |
Proprietario progetto | Tutte le autorizzazioni di Editor del progetto, oltre alle 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 del progetto e di Dataproc.
Operazione | Editor progetto | Visualizzatore progetto | Amministratore Dataproc | Dataproc Editor | Dataproc Viewer |
---|---|---|---|---|---|
Ottenere/impostare 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ì |
Visualizza i dettagli del 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 sul rendimento non è disponibile a meno che l'utente non abbia anche 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 principale, a meno che l'utente non abbia anche un ruolo con l'autorizzazione
compute.instances.list
. - I job che caricano file richiedono all'utente il ruolo
Storage Object Creator
o l'accesso in scrittura al bucket di staging Dataproc. - L'output del job non è disponibile a meno che l'utente non disponga anche del ruolo Visualizzatore oggetti archiviazione o che 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, come la creazione di istanze VM, Dataproc esegue le azioni per tuo conto utilizzando un account di servizio con le autorizzazioni richieste per eseguire le azioni. Per saperne di più, consulta Account di servizio 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 con Google Cloud CLI.
Passaggi successivi
- Scopri di più su entità e ruoli Dataproc
- Scopri di più sull'IAM granulare di Dataproc
- Scopri di più su IAM.
- Scopri di più sugli account di servizio in Dataproc