Mit Identity and Access Management (IAM) können Sie den Zugriff auf die Ressourcen Ihres Projekts steuern. In diesem Dokument werden die für Serverless for Apache Spark relevanten IAM-Berechtigungen und die IAM-Rollen beschrieben, mit denen diese Berechtigungen gewährt werden.
Dataproc-Berechtigungen für Serverless for Apache Spark
Mit Dataproc-Berechtigungen können Nutzer und Dienstkonten Aktionen für Serverless for Apache Spark-Ressourcen ausführen. Mit der Berechtigung dataproc.batches.create
können Sie beispielsweise Batcharbeitslasten in einem Projekt erstellen.
Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern weisen ihnen IAM-Rollen zu, die eine oder mehrere Berechtigungen enthalten. Sie können vordefinierte Rollen mit einer Liste von Berechtigungen zuweisen oder benutzerdefinierte Rollen erstellen und zuweisen, die eine oder mehrere Berechtigungen enthalten.
In den folgenden Tabellen werden die grundlegenden Berechtigungen aufgeführt, die zum Aufrufen von Dataproc APIs (Methoden) erforderlich sind, mit denen Serverless for Apache Spark-Ressourcen erstellt oder auf die zugegriffen wird. Die Tabellen sind nach den APIs organisiert, die mit den einzelnen Serverless for Apache Spark-Ressourcen verknüpft sind, darunter batches
, sessions
, sessionTemplates
und operations
.
Beispiele:
dataproc.batches.create
ermöglicht das Erstellen von Batches im zugehörigen Projekt.dataproc.sessions.create
ermöglicht das Erstellen interaktiver Sitzungen im zugehörigen Projekt.
Batchberechtigungen
Methode | Erforderliche Berechtigungen |
---|---|
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 |
Für dataproc.batches.create
sind auch die Berechtigungen dataproc.batches.get
und dataproc.operations.get
erforderlich, damit Statusaktualisierungen über das gcloud
-Befehlszeilentool abgerufen werden können.
Sitzungsberechtigungen
Methode | Erforderliche Berechtigungen |
---|---|
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 |
Für dataproc.sessions.create
sind auch die Berechtigungen dataproc.sessions.get
und dataproc.operations.get
erforderlich, damit Statusaktualisierungen über das gcloud
-Befehlszeilentool abgerufen werden können.
Berechtigungen für Sitzungsvorlagen
Methode | Erforderliche Berechtigungen |
---|---|
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 |
Für dataproc.sessionTemplates.create
sind auch die Berechtigungen dataproc.sessionTemplates.get
und dataproc.operations.get
erforderlich, damit Statusaktualisierungen über das gcloud
-Befehlszeilentool abgerufen werden können.
Berechtigungen für Vorgänge
Methode | Erforderliche Berechtigung(en) |
---|---|
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 Zum Abbrechen von Batchvorgängen ist für dataproc.operations.cancel
auch die Berechtigung dataproc.batches.cancel
erforderlich.
Laufzeitberechtigungen für Serverless for Apache Spark 3.0+
Die folgenden Berechtigungen gelten für Serverless für Apache Spark-Runtimes 3.0
und höher.
Berechtigungen für Arbeitslasten
Methode | Erforderliche Berechtigungen |
---|---|
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 |
NodePools-Berechtigungen
Methode | Erforderliche Berechtigungen |
---|---|
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 |
Knotenberechtigungen
Methode | Erforderliche Berechtigungen |
---|---|
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 |
Berechtigungen für Vorgänge
Methode | Erforderliche Berechtigungen |
---|---|
dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Dataproc- und Dataproc Serverless-Rollen
Dataproc-IAM-Rollen können Berechtigungen enthalten, die sowohl Dataproc- als auch Serverless for Apache Spark-Ressourcen zugeordnet sind. Dataproc Serverless-IAM-Rollen enthalten Berechtigungen, die mit Serverless for Apache Spark-Ressourcen verknüpft sind.
Die Rolle Dataproc-Betrachter umfasst beispielsweise die Berechtigungen dataproc.batches
und dataproc.sessions
zum Abrufen und Auflisten, die es einem Nutzer oder Dienstkonto ermöglichen, Batcharbeitslasten und Sitzungen in einem Projekt abzurufen und aufzulisten.
Nutzerberechtigungen und Rollenanforderungen
Nutzer müssen die Berechtigung für das Dienstkonto
ActAs
haben, um Serverless for Apache Spark-Ressourcen bereitzustellen, z. B. um Batcharbeitslasten zu senden. Ausführliche Informationen finden Sie unter Rollen für die Dienstkontoauthentifizierung.Anforderungen an die Laufzeitrolle für Serverless for Apache Spark
3.0
oder höher:- Ein Nutzerkonto benötigt die Rolle Dataproc-Editor oder Dataproc Serverless-Editor, um Batches und Sitzungen auszuführen.
- Ein Nutzerkonto benötigt die Rolle Dataproc-Betrachter oder Dataproc Serverless-Bearbeiter, um Batches und Sitzungen abzurufen und aufzulisten.
- Ein benutzerdefiniertes Dienstkonto benötigt die Rolle Dataproc Worker, um Batches und Sitzungen auszuführen.
Informationen zu Dienstkonten, die mit der Serverless for Apache Spark-Laufzeit
3.0
verknüpft sind, finden Sie unter Dienstkonten für Serverless for Apache Spark.
Dataproc-Rollen und ‑Berechtigungen nachschlagen
In den folgenden Abschnitten finden Sie Informationen zu Dataproc-Rollen und -Berechtigungen.
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. |
|
Projektrollen
Sie können auch Berechtigungen auf Projektebene festlegen, indem Sie IAM-Projektrollen verwenden. In der folgenden Tabelle sind die Berechtigungen zusammengefasst, die mit IAM-Projektrollen verknüpft sind:
Projektrolle | Berechtigungen |
---|---|
Projektbetrachter | Alle Projektberechtigungen für schreibgeschützte Aktionen, die den Status (get, list) beibehalten |
Projektbearbeiter | Alle Berechtigungen des Projektbetrachters sowie alle Projektberechtigungen für Aktionen, die den Status ändern (erstellen, löschen, aktualisieren, verwenden, abbrechen, anhalten, starten) |
Projektinhaber | Alle Berechtigungen des Projektbearbeiters sowie Berechtigungen zum Verwalten der Zugriffskontrolle für das Projekt (get/set IamPolicy) und zum Einrichten der Projektabrechnung |