Identity and Access Management (IAM) ti consente di controllare l'accesso alle risorse del tuo progetto. Questo documento si concentra sulle autorizzazioni IAM pertinenti per i deployment serverless di Managed Service for Apache Spark e sui ruoli IAM che concedono queste autorizzazioni.
Autorizzazioni serverless di Managed Service for Apache Spark
Le autorizzazioni di Managed Service for Apache Spark consentono agli utenti e ai service account di eseguire azioni sulle risorse di Managed Service for Apache Spark. Ad esempio, l'autorizzazione dataproc.batches.create consente di creare workload 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 Dataproc (metodi) che creano o accedono alle risorse di Managed Service for Apache Spark. Le tabelle sono organizzate in base alle API associate a ogni risorsa di Managed Service for 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 aggiornamenti di stato dallo strumento a riga di comando gcloud.
Autorizzazioni per le sessioni
| 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 template 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 Managed Service for Apache Spark 3.0+
Le seguenti autorizzazioni si applicano ai runtime di Managed Service for Apache Spark 3.0 e versioni successive.
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 dei 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 dei deployment serverless di Managed Service for Apache Spark
La tabella seguente elenca i ruoli che contengono le autorizzazioni necessarie per gestire i workload e le sessioni batch. I requisiti possono variare a seconda della versione di runtime del batch o della sessione e del fatto che il batch o la sessione vengano eseguiti con le credenziali del account di servizio o dell'utente finale (EUC).
| Versione runtime | Ruoli IAM |
|---|---|
pre-3.0 |
Concedi agli utenti i seguenti ruoli:
|
Più di 3.0 |
Concedi agli utenti i seguenti ruoli:
|
Note:
Quando invii un workload batch o crei una sessione interattiva con il runtime
3.0+e le credenziali dell'utente finale (il valore predefinito 3.0 e versioni successive), le operazioni di sistema del piano dati vengono eseguite dall'agente di servizio del nodo Dataproc Resource Manager. Per saperne di più, consulta Service account dell'agente di servizio di runtime 3.0+.Per la compatibilità con le versioni precedenti, i ruoli legacy Dataproc Editor e Dataproc Viewer possono essere concessi con i runtime
3.0+anziché con i ruoli Dataproc Serverless Editor e Dataproc Serverless Viewer. Inoltre, è possibile concedere il ruolo Dataproc Worker anziché il ruolo Dataproc Serverless Node.Se a un account di servizio è stato concesso il ruolo Editor del progetto, contiene le autorizzazioni incluse nel ruolo Dataproc Worker.
Per saperne di più, consulta Service account Serverless per Apache Spark.
Devi concedere i ruoli?
A seconda della policy dell'organizzazione, potrebbe essere già stato concesso un ruolo obbligatorio.
Controlla i ruoli concessi agli utenti
Per verificare se a un utente è stato concesso un ruolo, segui le istruzioni riportate in Gestisci l'accesso a progetti, cartelle e organizzazioni > Visualizza l'accesso corrente.
Controlla i ruoli concessi ai service account
Per verificare se a un account di servizio è stato concesso un ruolo, consulta Visualizza e gestisci i ruoli dei account di servizio IAM.
Controlla i ruoli concessi a un account di servizio
Per verificare se a un utente è stato concesso un ruolo su un account di servizio, segui le istruzioni riportate in Gestisci l'accesso ai service account > Visualizza l'accesso corrente.
Ruoli e autorizzazioni di ricerca
Puoi utilizzare le sezioni seguenti per cercare i ruoli e le autorizzazioni di Managed Service for Apache Spark.
| Role | Permissions |
|---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Managed Service for Apache Spark, including machine types, networks, projects, and zones. Lowest-level resources where you can grant this role:
|
|
Dataproc Viewer( Provides read-only access to Managed Service for Apache Spark resources. 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 Worker( Provides worker access to Managed Service for Apache Spark resources. Intended for service accounts. |
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Dataproc Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Ruoli del progetto
Puoi anche impostare le autorizzazioni a livello di progetto utilizzando i ruoli IAM Project. La tabella seguente riassume le autorizzazioni associate ai ruoli di progetto IAM:
| Ruolo progetto | Autorizzazioni |
|---|---|
| Project Viewer | Tutte le autorizzazioni di progetto per le azioni di sola lettura che conservano lo stato (get, list) |
| Editor progetto | Tutte le autorizzazioni di Project Viewer più tutte le autorizzazioni di progetto per le azioni che modificano lo stato (creazione, eliminazione, aggiornamento, utilizzo, annullamento, arresto, avvio) |
| Proprietario progetto | Tutte le autorizzazioni di Project Editor, oltre alle autorizzazioni per gestire il controllo dell'accesso per il progetto (get/set IamPolicy) e per configurare la fatturazione del progetto |