Panoramica
Identity and Access Management (IAM) consente di controllare l'accesso degli utenti e dei gruppi alle risorse del progetto. Questo documento è incentrato sulle autorizzazioni IAM pertinenti a Dataproc e sui ruoli IAM che concedono tali autorizzazioni.
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 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 devi concedere 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 ogni risorsa Dataproc (cluster, job, operazioni e modelli di flusso di lavoro).
Autorizzazioni cluster
Metodo | Autorizzazioni richieste |
---|---|
projects.regions.clusters.create1, 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.delete1 | 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 ottenere gli aggiornamenti sullo stato dall'interfaccia a riga di comando di Google Cloud, è necessaria anche l'autorizzazione
dataproc.operations.get
. - Per ottenere il risultato dell'operazione dall'interfaccia a riga di comando di Google Cloud, è necessaria anche l'autorizzazione
dataproc.clusters.get
. - Per abilitare un criterio di scalabilità automatica su un cluster è necessaria anche l'autorizzazione
dataproc.autoscalingPolicies.use
.
Autorizzazioni job
Metodo | Autorizzazioni richieste |
---|---|
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.patch1 | dataproc.jobs.update |
projects.regions.jobs.delete1 | dataproc.jobs.delete |
projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Note:
L'interfaccia a riga di comando di Google Cloud richiede inoltre l'autorizzazione
dataproc.jobs.get
per i comandijobs submit
,jobs wait
,jobs update
,jobs delete
ejobs kill
.L'interfaccia a riga di comando gcloud richiede anche l'autorizzazione
dataproc.clusters.get
per inviare job. Per un esempio di impostazione delle autorizzazioni necessarie a un utente per eseguiregcloud dataproc jobs submit
su un cluster utilizzando IAM granulare di Dataproc, consulta la sezione Invio di job con IAM granulare.
Autorizzazioni operative
Metodo | Autorizzazioni richieste |
---|---|
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 relative ai modelli di flusso di lavoro
Metodo | Autorizzazioni richieste |
---|---|
projects.regions.workflowTemplates.ins passare | dataproc.workflowTemplates.insogniate |
projects.regions.workflowTemplates.insstatiateInline | dataproc.workflowTemplates.insstatiateInline |
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 relative a cluster e job. Un utente senza autorizzazioni
create cluster
osubmit job
può creare e determinare un modello di flusso di lavoro.L'interfaccia a riga di comando di Google Cloud 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 richieste |
---|---|
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
.
Ruoli Dataproc
I ruoli IAM Dataproc sono un pacchetto 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 cluster, job e operazioni di Dataproc in un progetto.
La tabella seguente elenca i ruoli IAM di Dataproc e le autorizzazioni associate a ogni ruolo:
ID ruolo | Autorizzazioni |
---|---|
ruoli/dataproc.admin | dataproc.*.getIamPolicy dataproc.*.setIamPolicy dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.cluster.rapporti. . ... |
role/dataproc.editor | dati.proc.* |
role/dataproc.viewer | dataproc.*.get dataproc.*.list compute.machineTypes.get compute.regions.get compute.regions.list compute.zones.get resourcemanager.projects.get resourcemanager.projects.list |
role/dataproc.worker (solo per account di servizio) | dataproc.agents.* dataproc.tasks.* logging.logEntries.create monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResource.script.object .storage.object.. |
Note:
- "*" significa "cluster," "jobs" o "quot;operazioni"" eccetto 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 Google Cloud Console o l'interfaccia a riga di comando di Google Cloud gcloud. - 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
. La concessione di uno di questi ruoli Cloud Storage offre all'utente la possibilità di accedere a qualsiasi bucket nel progetto. - Un utente deve disporre dell'autorizzazione
monitoring.timeSeries.list
per visualizzare i grafici nella scheda Google Cloud Console→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 Google Cloud Console→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
. A seconda delle funzionalità configurate, potrebbero essere necessari ruoli aggiuntivi. Per ulteriori informazioni, consulta la sezione Account di servizio.
Ruoli progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli IAM Progetto. La tabella riportata di seguito elenca le autorizzazioni associate ai ruoli del progetto IAM:
Ruolo progetto | Autorizzazioni |
---|---|
Visualizzatore progetto | Tutte le autorizzazioni del progetto per le azioni di sola lettura che mantengono lo stato (get, list) |
Editor progetto | Tutte le autorizzazioni Visualizzatore progetto più tutte le autorizzazioni progetto per azioni che modificano lo stato (creazione, eliminazione, aggiornamento, utilizzo, annullamento, interruzione, avvio) |
Proprietario progetto | Tutte le autorizzazioni dell'Editor di progetto e le autorizzazioni per gestire il controllo dell'accesso al progetto (get/set IamPolicy) e per configurare la fatturazione |
Ruoli IAM e riepilogo operazioni Dataproc
La tabella seguente elenca le operazioni di Dataproc associate ai ruoli di progetto e Dataproc.
Operazione | Editor progetto | Visualizzatore progetto | Amministratore Dataproc | Editor Dataproc | Visualizzatore Dataproc |
---|---|---|---|---|---|
Recupero/Impostazione delle autorizzazioni IAM di Dataproc | No | No | Sì | No | No |
Crea cluster | Sì | No | Sì | Sì | No |
Elenco dei cluster | Sì | Sì | Sì | Sì | 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 |
Avviare/interrompere il cluster | Sì | No | Sì | Sì | No |
Invio di un 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ì |
Recupera dettagli operazione | Sì | Sì | Sì | Sì | Sì |
Eliminazione operazione | Sì | No | Sì | Sì | No |
Note:
- Il grafico del rendimento è disponibile solo se l'utente ha 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 autorizzazione
compute.instances.list
. - I job che caricano file richiedono all'utente di disporre del ruolo
Storage Object Creator
o dell'accesso in scrittura al bucket di gestione temporanea di Dataproc. - L'output del job non è disponibile a meno che l'utente non abbia anche il ruolo Visualizzatore oggetti Storage o non abbia ricevuto l'accesso in lettura al bucket temporaneo per il progetto.
Account di servizio
Quando chiami le API Dataproc per eseguire azioni in un progetto, ad esempio per creare istanze VM, Dataproc esegue le azioni per tuo conto utilizzando un account di servizio con le autorizzazioni necessarie per eseguire le azioni. Per ulteriori informazioni, consulta la pagina Account di servizio Dataproc.
Gestione IAM
Puoi ottenere e impostare i criteri IAM utilizzando Google Cloud Console, l'API IAM o l'interfaccia a riga di comando di Google Cloud.
- Per Google Cloud Console, consulta l'articolo Controllo dell'accesso tramite Google Cloud Console.
- Per l'API, consulta la pagina relativa al controllo dell'accesso tramite l'API.
- Per l'interfaccia a riga di comando di Google Cloud, vedi Controllo dell'accesso tramite l'interfaccia a riga di comando di Google Cloud.
Passaggi successivi
- Scopri di più sulle entità e sui ruoli Dataproc
- Informazioni su Dataproc Granular IAM
- Scopri di più su IAM.
- Informazioni sugli account di servizio in Dataproc