Autorisations et rôles IAM pour Apache Spark sans serveur

La gestion de l'authentification et des accès (IAM) vous permet de contrôler l'accès des utilisateurs et des groupes 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 Serverless pour Apache Spark

Les autorisations Serverless pour Apache Spark permettent aux utilisateurs, y compris 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 lots Serverless pour Apache Spark dans votre projet. Vous n'accordez pas directement des autorisations aux utilisateurs, mais vous leur attribuez des rôles auxquels sont associées une ou plusieurs autorisations.

Les tableaux ci-dessous répertorient les autorisations nécessaires pour appeler les API (méthodes) Serverless pour Apache Spark. Ils sont organisés en fonction des API associées à chaque ressource Serverless pour Apache Spark (lots, sessions, sessionTemplates et opérations). Pour obtenir la liste des autorisations Google Cloud incluses dans chaque rôle, consultez Rôles Dataproc.

Champ d'application des autorisations : le champ d'application des autorisations Serverless pour Apache Spark répertoriées dans les tableaux suivants correspond au projet Google Cloudcontenant ces autorisations (champ d'application cloud-platform). Consultez la section Autorisations de compte de service.

Exemples :

  • dataproc.batches.create permet de créer des lots dans le projet associé.
  • dataproc.sessions.create permet de créer une session interactive dans le projet associé.
  • dataproc.operations.list permet de répertorier les détails des opérations Dataproc 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 requiert é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 requiert é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 d'exécution 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 requiert é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.

Rôles Serverless pour Apache Spark

Les rôles IAM Serverless pour Apache Spark regroupent une ou plusieurs autorisations. Vous accordez des rôles à des utilisateurs ou à des groupes pour leur permettre d'effectuer des actions sur les ressources Serverless pour Apache Spark dans votre projet. Par exemple, le rôle Lecteur Dataproc comporte les autorisations dataproc.batches et dataproc.sessions, qui vous permettent d'obtenir et de répertorier les sessions et les lots Serverless pour Apache Spark dans un projet.

Le tableau suivant répertorie les rôles IAM Serverless pour Apache Spark et les autorisations associées à chacun :

ID de rôle Permissions
roles/dataproc.admin dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.batches.cancel
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list
dataproc.sessionTemplates.update
roles/dataproc.editor dataproc.batches.cancel
dataproc.batches.create
dataproc.batches.delete
dataproc.batches.get
dataproc.batches.list
dataproc.sessions.create
dataproc.sessions.delete
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessions.terminate
dataproc.sessionTemplates.create
dataproc.sessionTemplates.delete
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list
dataproc.sessionTemplates.update
roles/dataproc.viewer dataproc.batches.get
dataproc.batches.list
dataproc.sessions.get
dataproc.sessions.list
dataproc.sessionTemplates.get
dataproc.sessionTemplates.list

Rôles au niveau du projet

Il est possible d'obtenir des autorisations au niveau du projet en utilisant les rôles IAM Projet. Voici un aperçu des permissions correspondantes 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

Rôles personnalisés

Vous pouvez ajouter des autorisations Dataproc Batch à des rôles personnalisés à l'aide de la console Google Cloud ou de l'outil de ligne de commande gcloud.

Gestion des stratégies IAM

Vous pouvez obtenir et définir des stratégies IAM à l'aide de la console Google Cloud , de l'API IAM ou de l'outil de ligne de commande gcloud.

Étapes suivantes