Identity and Access Management (IAM) ti consente di controllare l'accesso alle risorse del tuo progetto. Questo documento si concentra sulle autorizzazioni IAM pertinenti a Serverless per Apache Spark e sui ruoli IAM che concedono queste autorizzazioni.
Autorizzazioni Dataproc per Serverless per Apache Spark
Le autorizzazioni Dataproc consentono a utenti e
service account
di eseguire azioni sulle risorse Serverless per Apache Spark. Ad esempio, l'autorizzazione dataproc.batches.create
ti consente di creare carichi di lavoro batch in un progetto.
Non concedi direttamente le autorizzazioni agli utenti, ma assegni loro ruoli IAM, che includono una o più autorizzazioni. Puoi concedere ruoli predefiniti che contengono un elenco di autorizzazioni oppure puoi creare e concedere ruoli personalizzati che contengono una o più autorizzazioni che includi nel ruolo personalizzato.
Le tabelle seguenti elencano le autorizzazioni di base necessarie per chiamare
le API (metodi) Dataproc che creano o accedono alle risorse Serverless per Apache Spark. Le tabelle sono organizzate in base alle API associate a ogni risorsa
Serverless per Apache Spark, tra cui batches
, sessions
,
sessionTemplates
e operations
.
Esempi:
dataproc.batches.create
consente la creazione di batch nel progetto contenitore.dataproc.sessions.create
consente la creazione di sessioni interattive nel progetto contenitore.
Autorizzazioni batch
Metodo | Autorizzazioni richieste |
---|---|
projects.locations.batches.create | dataproc.batches.create 1 |
projects.locations.batches.delete | dataproc.batches.delete |
projects.locations.batches.get | dataproc.batches.get |
projects.locations.batches.list | dataproc.batches.list |
1 dataproc.batches.create
richiede anche le autorizzazioni dataproc.batches.get
e
dataproc.operations.get
per consentire di ricevere aggiornamenti di stato
dallo strumento a riga di comando gcloud
.
Autorizzazioni di sessione
Metodo | Autorizzazioni richieste |
---|---|
projects.locations.sessions.create | dataproc.sessions.create 1 |
projects.locations.sessions.delete | dataproc.sessions.delete |
projects.locations.sessions.get | dataproc.sessions.get |
projects.locations.sessions.list | dataproc.sessions.list |
projects.locations.sessions.terminate | dataproc.sessions.terminate |
1 dataproc.sessions.create
richiede anche le autorizzazioni dataproc.sessions.get
e
dataproc.operations.get
per consentire di ricevere aggiornamenti di stato
dallo strumento a riga di comando gcloud
.
Autorizzazioni per i modelli di sessione
Metodo | Autorizzazioni richieste |
---|---|
projects.locations.sessionTemplates.create | dataproc.sessionTemplates.create 1 |
projects.locations.sessionTemplates.delete | dataproc.sessionTemplates.delete |
projects.locations.sessionTemplates.get | dataproc.sessionTemplates.get |
projects.locations.sessionTemplates.list | dataproc.sessionTemplates.list |
projects.locations.sessionTemplates.update | dataproc.sessionTemplates.update |
1 dataproc.sessionTemplates.create
richiede anche le autorizzazioni dataproc.sessionTemplates.get
e
dataproc.operations.get
per consentire di ricevere aggiornamenti di stato
dallo strumento a riga di comando gcloud
.
Autorizzazioni per le operazioni
Metodo | Autorizzazioni richieste |
---|---|
projects.regions.operations.get | dataproc.operations.get |
projects.regions.operations.list | dataproc.operations.list |
projects.regions.operations.cancel 1 | dataproc.operations.cancel |
projects.regions.operations.delete | dataproc.operations.delete |
projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
1 Per annullare le operazioni batch, dataproc.operations.cancel
richiede anche
l'autorizzazione dataproc.batches.cancel
.
Autorizzazioni di runtime di Serverless per Apache Spark 3.0+
Le seguenti autorizzazioni si applicano a Serverless per Apache Spark 3.0
e
runtime successivi.
Autorizzazioni per i workload
Metodo | Autorizzazioni richieste |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.workloads.create | dataprocrm.workloads.create |
dataprocrm.v1.dataprocrm.projects.locations.workloads.cancel | dataprocrm.workloads.cancel |
dataprocrm.v1.dataprocrm.projects.locations.workloads.delete | dataprocrm.workloads.delete |
dataprocrm.v1.dataprocrm.projects.locations.workloads.get | dataprocrm.workloads.get |
dataprocrm.v1.dataprocrm.projects.locations.workloads.list | dataprocrm.workloads.list |
dataprocrm.v1.dataprocrm.projects.locations.workloads.use | dataprocrm.workloads.use |
Autorizzazioni NodePools
Metodo | Autorizzazioni richieste |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.create | dataprocrm.nodePools.create |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.delete | dataprocrm.nodePools.delete |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.resize | dataprocrm.nodePools.resize |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.deleteNodes | dataprocrm.nodePools.deleteNodes |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.update | dataprocrm.nodePools.update |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.get | dataprocrm.nodePools.get |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.list | dataprocrm.nodePools.list |
Autorizzazioni nodi
Metodo | Autorizzazioni richieste |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.create | dataprocrm.nodes.create |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.delete | dataprocrm.nodes.delete |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.update | dataprocrm.nodes.update |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.heartbeat | dataprocrm.nodes.heartbeat |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.get | dataprocrm.nodes.get |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.list | dataprocrm.nodes.list |
dataprocrm.v1.dataprocrm.projects.locations.workloads.nodePools.nodes.mintOAuthToken | dataprocrm.nodes.mintOAuthToken |
Autorizzazioni per le operazioni
Metodo | Autorizzazioni richieste |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Ruoli Dataproc e Dataproc Serverless
I ruoli IAM Dataproc possono contenere autorizzazioni associate a risorse Dataproc e Serverless for Apache Spark. I ruoli IAM Dataproc Serverless contengono autorizzazioni associate alle risorse Serverless per Apache Spark.
Ad esempio, il ruolo Visualizzatore Dataproc contiene le autorizzazioni
dataproc.batches
e dataproc.sessions
get e list, che
consentono a un utente o account di servizio di ottenere ed elencare i batch e le sessioni
in un progetto.
Requisiti di autorizzazione e ruolo utente
Gli utenti devono disporre dell'autorizzazione
ActAs
per l'account di servizio per eseguire il deployment di risorse Serverless per Apache Spark, ad esempio per inviare carichi di lavoro batch. Per informazioni dettagliate, consulta Ruoli per l'account di servizio account.Requisiti del ruolo di runtime di Serverless per Apache Spark
3.0
o versioni successive:- Un account utente deve disporre del ruolo Editor Dataproc o Editor Dataproc Serverless per eseguire batch e sessioni.
- Un account utente deve disporre del ruolo Visualizzatore Dataproc o Editor Dataproc Serverless per ottenere ed elencare batch e sessioni.
- Un account di servizio personalizzato richiede il ruolo Worker Dataproc per eseguire batch e sessioni.
Per informazioni sui service account associati al runtime di Serverless per Apache Spark
3.0
, consulta Service account Serverless per Apache Spark.
Cercare ruoli e autorizzazioni Dataproc
Puoi utilizzare le seguenti sezioni per cercare i ruoli e le autorizzazioni di Dataproc.
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. |
|
Ruoli di progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli Progetto di IAM. La tabella seguente riassume 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 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 |