Panoramica
Identity and Access Management (IAM) consente di controllare l'accesso di utenti e gruppi alle risorse di progetto. Questo documento è incentrato sulle autorizzazioni IAM pertinenti per Dataproc e sui ruoli IAM che le concedono.
Autorizzazioni Dataproc
Le autorizzazioni Dataproc consentono agli utenti, inclusi gli account di servizio, di eseguire azioni su cluster, job, operazioni e modelli di flusso di lavoro di Dataproc. Ad esempio, l'autorizzazione dataproc.clusters.create
consente a un utente di creare cluster Dataproc in un progetto.
In genere, non concedi le autorizzazioni, ma concedi i
ruoli, che includono una o più autorizzazioni.
Le seguenti tabelle elencano le autorizzazioni necessarie per chiamare le API Dataproc (metodi). Le tabelle sono organizzate in base alle API associate a ciascuna risorsa Dataproc (cluster, job, operazioni e modelli di flusso di lavoro).
Ambito delle autorizzazioni: l'ambito delle autorizzazioni Dataproc elencato nelle tabelle seguenti è il progetto Google Cloud contenente (ambito cloud-platform
). Vedi Autorizzazioni dell'account di servizio.
Esempi:
dataproc.clusters.create
consente la creazione di cluster Dataproc nel progetto contenitoredataproc.jobs.create
consente l'invio di job Dataproc ai cluster Dataproc nel progettodataproc.clusters.list
permette di elencare i dettagli dei cluster Dataproc nel progetto
Autorizzazioni 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
- Per ricevere aggiornamenti
dello stato da Google Cloud CLI, è necessaria anche l'autorizzazione
dataproc.operations.get
. - È necessaria anche l'autorizzazione
dataproc.clusters.get
per ottenere il risultato dell'operazione da Google Cloud CLI. - È necessaria anche l'autorizzazione
dataproc.autoscalingPolicies.use
per abilitare un criterio di scalabilità automatica su un cluster.
Autorizzazioni per i 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 anche l'autorizzazione
dataproc.jobs.get
per i comandijobs submit
,jobs wait
,jobs update
,jobs delete
ejobs kill
.gcloud CLI richiede anche l'autorizzazione
dataproc.clusters.get
per inviare i job. Per un esempio di impostazione delle autorizzazioni necessarie a un utente per eseguiregcloud dataproc jobs submit
su un cluster utilizzando IAM granulare Dataproc (vedi Invio di job con IAM granulare).
Autorizzazioni per le 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 del modello di flusso di lavoro
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 per cluster e job. Un utente senza le autorizzazioni
create cluster
osubmit job
può creare e fondare un modello di flusso di lavoro.Google Cloud CLI richiede inoltre l'autorizzazione
dataproc.operations.get
per eseguire il polling per il completamento del flusso di lavoro.Per annullare un flusso di lavoro in esecuzione è necessaria l'autorizzazione
dataproc.operations.cancel
.
Autorizzazioni 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
- Per abilitare un criterio di scalabilità automatica su un cluster con una richiesta di metodo
clusters.patch
, è necessaria l'autorizzazionedataproc.autoscalingPolicies.use
.
Autorizzazioni 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 bundle di una o più autorizzazioni.
Puoi concedere 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 dataproc.*.get
e dataproc.*.list
, che consentono a un utente di ottenere ed elencare i cluster, i job e le operazioni Dataproc in un progetto.
La tabella seguente elenca i ruoli IAM Dataproc e le autorizzazioni associate a ciascun ruolo:
ID ruolo | Autorizzazioni |
---|---|
roles/dataproc.admin | dataproc.*.getIamPolicy dataproc.*.setIamPolicy dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.jobs.cancel dataproc.workflowTemplates.instantiate dataproc.workflowTemplates.instantiateInline compute.machineTypes.get compute.machineTypes.list compute.networks.get compute.networks.list compute.projects.get compute.regions.get compute.regions.list compute.zones.get compute.zones.list resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.editor | dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.jobs.cancel dataproc.workflowTemplates.instantiate dataproc.workflowTemplates.instantiateInline compute.machineTypes.get compute.machineTypes.list compute.networks.get compute.networks.list compute.projects.get compute.regions.get compute.regions.list compute.zones.get compute.zones.list resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.viewer | dataproc.*.get dataproc.*.list compute.machineTypes.get compute.regions.get compute.regions.list compute.zones.get resourcemanager.projects.get resourcemanager.projects.list |
ruoli/dataproc.worker (solo per account di servizio) | dataproc.agents.* dataproc.tasks.* logging.logEntries.create monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create storage.buckets.get storage.objects.create storage.objects.get storage.objects.list storage.objects.update storage.objects.delete storage.objects.getIamPolicy storage.objects.setIamPolicy |
Note
- "*" indica "cluster", "jobs" o "operazioni", ma le uniche autorizzazioni associate a
dataproc.operations.
sonoget
,list
edelete
. - Le autorizzazioni
compute
elencate in precedenza sono necessarie o consigliate per creare e visualizzare i cluster Dataproc quando utilizzi la console Google Cloud o Google Cloud CLI con 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.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 master 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 gestione temporanea di Dataproc. A seconda delle funzionalità configurate, potrebbero essere necessari ruoli aggiuntivi. Per ulteriori informazioni, consulta Creare un cluster con un account di servizio per VM personalizzata.
Ruoli di progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli IAM Progetto. La tabella seguente elenca le autorizzazioni associate ai ruoli del progetto IAM:
Ruolo progetto | Autorizzazioni |
---|---|
Visualizzatore progetto | Tutte le autorizzazioni di 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 (creazione, eliminazione, aggiornamento, utilizzo, annullamento, interruzione, avvio) |
Proprietario progetto | Tutte le autorizzazioni dell'editor di 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 di Dataproc
Nella tabella seguente sono elencate le operazioni di Dataproc associate ai ruoli di progetto e Dataproc.
Operazione | Editor progetto | Visualizzatore progetto | Amministratore Dataproc | Editor Dataproc | Visualizzatore Dataproc |
---|---|---|---|---|---|
Ottieni/imposta autorizzazioni IAM Dataproc | No | No | Sì | No | No |
Crea cluster | Sì | No | Sì | Sì | No |
Elenco dei cluster | Sì | Yes | Yes | Yes | Sì |
Recupero dei dettagli del cluster | Sì | Sì | Sì 1, 2 | Sì 1, 2 | Sì 1, 2 |
Aggiornamento cluster | Sì | No | Sì | Sì | No |
Elimina cluster | Sì | No | Sì | Sì | No |
Avvia/Arresta cluster | Sì | No | Sì | Sì | No |
Invia il job | Sì | No | Sì3 | Sì3 | No |
Elenco job | Sì | Yes | Yes | Yes | Sì |
Ottieni 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ì | Yes | Yes | Yes | Sì |
Ottieni dettagli dell'operazione | Sì | Yes | Yes | Yes | Sì |
Eliminazione operazione | Sì | No | Sì | Sì | No |
Note
- Il grafico del 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 master, a meno che l'utente non abbia anche un ruolo con l'autorizzazione
compute.instances.list
. - I job che caricano file richiedono che l'utente abbia il ruolo
Storage Object Creator
o l'accesso in scrittura al bucket di gestione temporanea di Dataproc. - L'output del job non è disponibile a meno che l'utente non disponga anche del ruolo Visualizzatore oggetti Storage o gli sia stato concesso l'accesso in lettura al bucket gestione temporanea 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 che dispone delle autorizzazioni necessarie per eseguire le azioni. Per ulteriori informazioni, consulta Account di servizio Dataproc.
Gestione IAM
Puoi recuperare 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 utilizzando l'API.
- Per Google Cloud CLI, vedi Controllo dell'accesso utilizzando Google Cloud CLI.
Passaggi successivi
- Scopri di più su entità e ruoli di Dataproc
- Scopri di più su IAM granulare di Dataproc
- Scopri di più su IAM.
- Scopri di più sugli account di servizio in Dataproc