Identity and Access Management (IAM) vous permet de contrôler l'accès aux ressources de votre projet. Ce document porte sur les autorisations IAM pertinentes pour Serverless pour Apache Spark et sur les rôles IAM qui accordent ces autorisations.
Autorisations Dataproc pour Serverless pour Apache Spark
Les autorisations Dataproc permettent aux utilisateurs et aux comptes de service d'effectuer des actions sur les ressources Serverless pour Apache Spark. Par exemple, l'autorisation dataproc.batches.create
vous permet de créer des charges de travail par lot dans un projet.
Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez des rôles IAM auxquels sont associées une ou plusieurs autorisations. Vous pouvez attribuer des rôles prédéfinis contenant une liste d'autorisations, ou créer et attribuer des rôles personnalisés contenant une ou plusieurs autorisations que vous incluez dans le rôle personnalisé.
Les tableaux ci-dessous répertorient les autorisations de base nécessaires pour appeler les API (méthodes) Dataproc qui créent des ressources Serverless pour Apache Spark ou y accèdent. Les tableaux sont organisés en fonction des API associées à chaque ressource Serverless pour Apache Spark, y compris batches
, sessions
, sessionTemplates
et operations
.
Exemples :
dataproc.batches.create
permet de créer des lots dans le projet associé.dataproc.sessions.create
permet de créer des sessions interactives dans le projet associé.
Autorisations par lot
Méthode | Autorisations requises |
---|---|
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
nécessite également les autorisations dataproc.batches.get
et dataproc.operations.get
pour pouvoir obtenir les mises à jour de l'état à partir de l'outil de ligne de commande gcloud
.
Autorisations de session
Méthode | Autorisations requises |
---|---|
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
nécessite également les autorisations dataproc.sessions.get
et dataproc.operations.get
pour pouvoir obtenir les mises à jour de l'état à partir de l'outil de ligne de commande gcloud
.
Autorisations liées aux modèles de session
Méthode | Autorisations requises |
---|---|
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
nécessite également les autorisations dataproc.sessionTemplates.get
et dataproc.operations.get
pour pouvoir obtenir les mises à jour de l'état à partir de l'outil de ligne de commande gcloud
.
Autorisations d'opérations
Méthode | Autorisations requises |
---|---|
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 Pour annuler des opérations par lot, dataproc.operations.cancel
nécessite également l'autorisation dataproc.batches.cancel
.
Autorisations d'exécution Serverless pour Apache Spark 3.0+
Les autorisations suivantes s'appliquent aux runtimes Serverless pour Apache Spark 3.0
et ultérieurs.
Autorisations pour les charges de travail
Méthode | Autorisations requises |
---|---|
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 |
Autorisations NodePools
Méthode | Autorisations requises |
---|---|
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 |
Autorisations des nœuds
Méthode | Autorisations requises |
---|---|
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 |
Autorisations d'opérations
Méthode | Autorisations requises |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Rôles Dataproc et Dataproc sans serveur
Les rôles IAM Dataproc peuvent contenir des autorisations associées aux ressources Dataproc et Serverless pour Apache Spark. Les rôles IAM Dataproc sans serveur contiennent des autorisations associées aux ressources Serverless pour Apache Spark.
Par exemple, le rôle Lecteur Dataproc comporte les autorisations dataproc.batches
et dataproc.sessions
, qui permettent à un utilisateur ou à un compte de service d'obtenir et de répertorier les charges de travail par lot et les sessions dans un projet.
Autorisations et rôles utilisateur requis
Les utilisateurs doivent disposer de l'autorisation
ActAs
de compte de service pour déployer des ressources Serverless pour Apache Spark (par exemple, pour envoyer des charges de travail par lot). Pour en savoir plus, consultez Rôles pour l'authentification des comptes de service.Exigences concernant le rôle d'exécution pour Serverless for Apache Spark
3.0
ou version ultérieure :- Un compte utilisateur doit disposer du rôle Éditeur Dataproc ou Éditeur Dataproc sans serveur pour exécuter des lots et des sessions.
- Un compte utilisateur doit disposer du rôle Lecteur Dataproc ou Éditeur Dataproc sans serveur pour obtenir et lister les lots et les sessions.
- Un compte de service personnalisé doit disposer du rôle Nœud de calcul Dataproc pour exécuter des sessions et des lots.
Pour en savoir plus sur les comptes de service associés à l'environnement d'exécution
3.0
Serverless pour Apache Spark, consultez Comptes de service Serverless pour Apache Spark.
Rechercher les rôles et autorisations Dataproc
Vous pouvez utiliser les sections suivantes pour rechercher les rôles et les autorisations 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. |
|
Rôles au niveau du projet
Il est également possible de définir des autorisations au niveau du projet en utilisant les rôles IAM Projet. Le tableau suivant récapitule les autorisations associées aux rôles de projet IAM :
Rôle de projet | Autorisations |
---|---|
Lecteur de projets | Toutes les autorisations de projet pour les actions en lecture seule préservant l'état (get, list) |
Éditeur de projet | Toutes les autorisations lecteur de projet, ainsi que toutes les autorisations de projet pour les actions qui modifient l'état (créer, supprimer, mettre à jour, utiliser, annuler, arrêter, démarrer) |
Propriétaire du projet | Toutes les autorisations de l'éditeur de projet, ainsi que celles permettant de gérer le contrôle d'accès au projet (get / set IamPolicy) et de configurer la facturation du projet |
Étapes suivantes
- Découvrez comment gérer l'accès aux projets, aux dossiers et aux organisations.