Mit Identity and Access Management (IAM) können Sie den Zugriff auf die Ressourcen Ihres Projekts steuern. In diesem Dokument werden die für serverlose Bereitstellungen von Managed Service for Apache Spark relevanten IAM-Berechtigungen und die IAM-Rollen beschrieben, die diese Berechtigungen gewähren.
Berechtigungen für serverlose Bereitstellungen von Managed Service for Apache Spark
Mit den Berechtigungen für Managed Service for Apache Spark können Nutzer und
Dienstkonten,
Aktionen für Managed Service 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 Sie weisen ihnen IAM-Rollen zu, die eine oder mehrere Berechtigungen enthalten. Sie können vordefinierte Rollen zuweisen, die eine Liste von Berechtigungen enthalten, oder benutzerdefinierte Rollen erstellen und zuweisen, die eine oder mehrere Berechtigungen enthalten, die Sie in die benutzerdefinierte Rolle aufnehmen.
In den folgenden Tabellen sind die grundlegenden Berechtigungen aufgeführt, die zum Aufrufen von Dataproc APIs (Methoden) erforderlich sind, mit denen Managed Service for Apache Spark-Ressourcen erstellt oder aufgerufen werden. Die Tabellen sind nach den APIs organisiert, die mit den einzelnen Managed Service 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 Berechtigung(en) |
|---|---|
| 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 erfordert auch die Berechtigungen dataproc.batches.get und
dataproc.operations.get, damit Statusaktualisierungen
über das gcloud-Befehlszeilentool abgerufen werden können.
Sitzungsberechtigungen
| Methode | Erforderliche Berechtigung(en) |
|---|---|
| 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 erfordert auch dataproc.sessions.get und
dataproc.operations.get Berechtigungen, damit Statusaktualisierungen
über das gcloud Befehlszeilentool abgerufen werden können.
Berechtigungen für Sitzungsvorlagen
| Methode | Erforderliche Berechtigung(en) |
|---|---|
| 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 erfordert auch dataproc.sessionTemplates.get und
dataproc.operations.get Berechtigungen, 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 Managed Service for Apache Spark 3.0 und höher
Die folgenden Berechtigungen gelten für Managed Service for Apache Spark-Laufzeiten ab Version 3.0.
Berechtigungen für Arbeitslasten
| Methode | Erforderliche Berechtigung(en) |
|---|---|
| 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 |
Berechtigungen für NodePools
| Methode | Erforderliche Berechtigung(en) |
|---|---|
| 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 |
Berechtigungen für Knoten
| Methode | Erforderliche Berechtigung(en) |
|---|---|
| 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 Berechtigung(en) |
|---|---|
| dataprocrm.v1.dataprocrm.projects.locations.operations.get | dataprocrm.operations.get |
| dataprocrm.v1.dataprocrm.projects.locations.operations.list | dataprocrm.operations.list |
Rollenanforderungen für Managed Service for Apache Spark
In der folgenden Tabelle sind Rollen aufgeführt, die die Berechtigungen enthalten, die zum Verwalten von Batcharbeitslasten und -sitzungen erforderlich sind. Die Anforderungen hängen von der Laufzeitversion des Batches oder der Sitzung ab.
| Laufzeitversion | IAM-Rollen |
|---|---|
pre-3.0 |
Weisen Sie Nutzern die folgenden Rollen zu:
|
3.0 und höher |
Weisen Sie Nutzern die folgenden Rollen zu:
|
Hinweise:
Wenn die Funktion für Endnutzer-Anmeldedaten (End User Credentials, EUC) für Managed Service for Apache Spark aktiviert ist, werden die Nutzeridentität (Anmeldedaten) verwendet, um Batcharbeitslasten zu senden, interaktive Sitzungen zu erstellen und Datenebenenvorgänge wie den Zugriff auf Cloud Storage und BigQuery über die Batch- oder Sitzungs-Spark-Anwendung auszuführen.
Wenn EUC in Laufzeiten ab Version
3.0+ aktiviert ist (Standardeinstellung für3.0+), werden Datenebenen-Systemvorgänge vom Managed Service for Apache Spark Resource Manager-Knotendienst-Agents Dienstkonto ausgeführt und dem Nutzer wird automatisch die BerechtigungactAsfür dieses Dienstkonto gewährt.Wenn EUC in Laufzeiten vor Version
3.0aktiviert ist (Standardeinstellung vor3.0sind Dienstkonto-Anmeldedaten), werden Datenebenen-Systemvorgänge vom Compute Engine-Standarddienstkonto oder einem benutzerdefinierten Dienstkonto ausgeführt. Dem Nutzer muss die BerechtigungactAsfür dieses Dienstkonto gewährt werden.Aus Gründen der Abwärtskompatibilität können die Legacy-Rollen Dataproc-Editor und Dataproc-Betrachter mit Laufzeiten
3.0+anstelle der Rollen Dataproc Serverless-Editor und Dataproc Serverless-Betrachter gewährt werden. Außerdem kann die Rolle Dataproc-Worker anstelle der Rolle Dataproc Serverless-Knoten gewährt werden.Wenn einem Dienstkonto die Rolle Bearbeiter für das Projekt gewährt wurde, enthält es die Berechtigungen, die in der Rolle Dataproc-Worker enthalten sind.
Weitere Informationen zu Dienstkonten für Managed Service for Apache Spark, finden Sie unter Dienstkonten für Serverless for Apache Spark.
Müssen Sie Rollen gewähren?
Je nach Organisationsrichtlinie wurde möglicherweise bereits eine erforderliche Rolle gewährt.
Rollen prüfen, die Nutzern gewährt wurden
Wenn Sie prüfen möchten, ob einem Nutzer eine Rolle gewährt wurde, folgen Sie der Anleitung unter Zugriff auf Projekte, Ordner und Organisationen verwalten > Aktuellen Zugriff ansehen.
Rollen prüfen, die Dienstkonten gewährt wurden
Wenn Sie prüfen möchten, ob einem Dienstkonto eine Rolle gewährt wurde, lesen Sie IAM-Dienstkontorollen ansehen und verwalten.
Rollen prüfen, die für ein Dienstkonto gewährt wurden
Wenn Sie prüfen möchten, ob einem Nutzer eine Rolle für ein Dienstkonto gewährt wurde, folgen Sie der Anleitung unter Zugriff auf Dienstkonten verwalten > Aktuellen Zugriff ansehen.
Rollen und Berechtigungen suchen
In den folgenden Abschnitten können Sie Rollen und Berechtigungen für Managed Service for Apache Spark suchen.
| Role | Permissions |
|---|---|
Dataproc Administrator( Full control of Dataproc resources. |
|
Dataproc Editor( Provides the permissions necessary for viewing the resources required to manage Managed Service for Apache Spark, including machine types, networks, projects, and zones. Lowest-level resources where you can grant this role:
|
|
Dataproc Viewer( Provides read-only access to Managed Service for Apache Spark resources. 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 Worker( Provides worker access to Managed Service for Apache Spark resources. Intended for service accounts. |
|
Service agent roles
Service agent roles should only be granted to service agents.
| Role | Permissions |
|---|---|
Dataproc Service Agent( Gives Dataproc Service Account access to service accounts, compute resources, storage resources, and kubernetes resources. Includes access to service accounts. |
|
Projektrollen
Sie können Berechtigungen auch 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 Projekt-Editors sowie Berechtigungen zum Verwalten der Zugriffssteuerung für das Projekt (get/set IamPolicy) und zum Einrichten der Projektabrechnung |
Nächste Schritte
- Informationen zum Verwalten des Zugriffs auf Projekte, Ordner und Organisationen