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 sind 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 for Apache Spark-Laufzeiten 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 |
Rollenanforderungen für Serverless for Apache Spark
In der folgenden Tabelle sind die Rollen aufgeführt, die die zum Verwalten von Batcharbeitslasten und ‑sitzungen erforderlichen Berechtigungen enthalten. Die Anforderungen können je nach Laufzeitversion des Batches oder der Sitzung variieren und davon abhängen, ob der Batch oder die Sitzung mit Dienstkonto- oder Endnutzeranmeldedaten (EUC) ausgeführt wird.
| Laufzeitversion | IAM-Rollen |
|---|---|
pre-3.0 |
Weisen Sie Nutzern die folgenden Rollen zu:
|
3.0+ |
Weisen Sie Nutzern die folgenden Rollen zu:
|
Hinweise:
Wenn Sie einen Batch-Arbeitslast senden oder eine interaktive Sitzung mit der
3.0+-Laufzeit und Endnutzeranmeldedaten (Standardeinstellung ab Version 3.0) erstellen, werden Dataplane-Systemvorgänge vom Dataproc Resource Manager Node Service Agent ausgeführt. Weitere Informationen finden Sie unter Dienstkonto des Dienst-Agents für die Laufzeitversion 3.0+.Aus Gründen der Abwärtskompatibilität können die alten Rollen Dataproc-Editor und Dataproc-Betrachter mit
3.0+-Laufzeiten anstelle der Rollen Dataproc Serverless-Editor und Dataproc Serverless-Betrachter gewährt werden. Außerdem kann anstelle der Rolle Dataproc Serverless Node die Rolle Dataproc Worker gewährt werden.Wenn einem Dienstkonto die Rolle Bearbeiter für das Projekt zugewiesen wurde, enthält es die Berechtigungen, die in der Rolle Dataproc Worker enthalten sind.
Weitere Informationen finden Sie unter Dienstkonten für Serverless for Apache Spark.
Müssen Sie Rollen zuweisen?
Je nach Organisationsrichtlinie wurde möglicherweise bereits eine erforderliche Rolle gewährt.
Nutzern zugewiesene Rollen prüfen
Wenn Sie sehen möchten, ob einem Nutzer eine Rolle zugewiesen wurde, folgen Sie der Anleitung unter Zugriff auf Projekte, Ordner und Organisationen verwalten > Aktuellen Zugriff ansehen.
Rollen prüfen, die Dienstkonten zugewiesen wurden
Informationen dazu, ob einem Dienstkonto eine Rolle zugewiesen wurde, finden Sie unter IAM-Dienstkontorollen ansehen und verwalten.
Rollen prüfen, die einem Dienstkonto zugewiesen wurden
Wenn Sie sehen möchten, ob einem Nutzer eine Rolle für ein Dienstkonto zugewiesen wurde, folgen Sie der Anleitung unter Zugriff auf Dienstkonten verwalten > Aktuellen Zugriff ansehen.
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 |