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.createermöglicht das Erstellen von Batches im zugehörigen Projekt.dataproc.sessions.createermö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
ActAshaben, 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.0oder 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.0verknü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 |