Identity and Access Management (IAM) consente di controllare l'accesso alle risorse del 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'dataproc.batches.create
autorizzazione consente di creare workload batch in un progetto.
Non concedi direttamente le autorizzazioni agli utenti, ma assegni loro ruoli IAM, che contengono una o più autorizzazioni. Puoi concedere ruoli predefiniti che contengono un elenco di autorizzazioni oppure 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.createconsente la creazione di batch nel progetto contenitore.dataproc.sessions.createconsente 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 gli aggiornamenti di stato
dallo strumento a riga di comando gcloud.
Autorizzazioni 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 gli aggiornamenti di stato
dallo strumento a riga di comando gcloud.
Autorizzazioni modello 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 gli aggiornamenti di stato
dallo strumento a riga di comando gcloud.
Autorizzazioni 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
dataproc.batches.cancel l'autorizzazione.
Autorizzazioni runtime Serverless per Apache Spark 3.0 e versioni successive
Le seguenti autorizzazioni si applicano ai runtime Serverless per Apache Spark 3.0 e
versioni successive.
Autorizzazioni 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 operazioni
| Metodo | Autorizzazioni richieste |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
| dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Requisiti dei ruoli Serverless per Apache Spark
La tabella seguente elenca i ruoli che contengono le autorizzazioni necessarie per gestire i workload batch e le sessioni. I requisiti possono variare a seconda della versione del runtime batch o sessione e se il batch o la sessione viene eseguita con le credenziali del service account o dell'utente finale (EUC).
| Versione runtime | Ruoli IAM |
|---|---|
pre-3.0 |
Concedi agli utenti i seguenti ruoli:
|
3.0+ |
Concedi agli utenti i seguenti ruoli:
|
Note:
Quando invii un workload batch o crei una sessione interattiva con un
3.0+runtime e le credenziali utente finale (il valore predefinito di 3.0+), le operazioni di sistema del piano dati vengono eseguite dall'agente di servizio del nodo di Dataproc Resource Manager. Per saperne di più, consulta Service account dell'agente di servizio del runtime 3.0+.Per la compatibilità con le versioni precedenti, i ruoli legacy Editor Dataproc e Visualizzatore Dataproc possono essere concessi con i runtime
3.0+invece dei ruoli Editor Dataproc Serverless e Visualizzatore Dataproc Serverless. Inoltre, il ruolo Worker Dataproc può essere concesso anziché il ruolo Nodo Dataproc Serverless.Se a un service account è stato concesso il ruolo Editor del progetto, questo contiene le autorizzazioni incluse nel ruolo Worker Dataproc.
Per saperne di più, consulta Service account Serverless per Apache Spark.
Devi concedere i ruoli?
A seconda dei criteri dell'organizzazione, un ruolo richiesto potrebbe essere già stato concesso.
Controllare i ruoli concessi agli utenti
Per verificare se a un utente è stato concesso un ruolo, segui le istruzioni riportate in Gestire l'accesso a progetti, cartelle e organizzazioni > Visualizzare l'accesso corrente.
Controllare i ruoli concessi ai service account
Per verificare se a un service account è stato concesso un ruolo, consulta Visualizzare e gestire i ruoli dei service account IAM.
Controllare i ruoli concessi a un service account
Per verificare se a un utente è stato concesso un ruolo su un service account, segui le istruzioni riportate in Gestire l'accesso ai service account > Visualizzare l'accesso corrente.
Cercare ruoli e autorizzazioni Dataproc
Puoi utilizzare le seguenti sezioni per cercare ruoli e autorizzazioni 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 progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli IAM Progetto. La tabella seguente riassume le autorizzazioni associate a ruoli 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 del Visualizzatore progetto più tutte le autorizzazioni del progetto per le azioni che modificano lo stato (create, delete, update, use, cancel, stop, start) |
| Proprietario progetto | Tutte le autorizzazioni dell'Editor progetto più le autorizzazioni per gestire il controllo dell'accesso al progetto (get/set IamPolicy) e per configurare la fatturazione del progetto |