Mit Identity and Access Management (IAM) können Sie den Nutzer- und Gruppenzugriff auf Projektressourcen steuern. In diesem Dokument werden die für Managed Service for Apache Spark relevanten IAM-Berechtigungen und die IAM-Rollen beschrieben, mit denen diese Berechtigungen gewährt werden.
Berechtigungen für Managed Service for Apache Spark
Mit Managed Service for Apache Spark-Berechtigungen können Nutzer, einschließlich Dienstkonten, Aktionen in Managed Service for Apache Spark-Clustern, -Jobs und -Vorgängen oder Workflow-Vorlagen ausführen. Mit der Berechtigung dataproc.clusters.create kann ein Nutzer beispielsweise Managed Service for Apache Spark-Cluster in einem Projekt erstellen.
Normalerweise erteilen Sie keine Berechtigungen, sondern Rollen, die eine oder mehrere Berechtigungen enthalten.
In den folgenden Tabellen werden die Berechtigungen aufgeführt, die zum Aufrufen von Managed Service for Apache Spark APIs (Methoden) erforderlich sind. Die Tabellen sind entsprechend den APIs organisiert, die mit den einzelnen Managed Service for Apache Spark-Ressourcen (Cluster, Jobs, Vorgänge und Workflowvorlagen) verbunden sind.
Geltungsbereich der Berechtigung:Die in den folgenden Tabellen aufgeführten Berechtigungen für Managed Service for Apache Spark gelten für das zugehörige Google Cloud-Projekt (cloud-platform-Bereich). Weitere Informationen finden Sie unter Dienstkontoberechtigungen.
Beispiele:
dataproc.clusters.createberechtigt zum Erstellen von Managed Service for Apache Spark-Clustern im zugehörigen Projekt.dataproc.jobs.createberechtigt zum Senden von Managed Service for Apache Spark-Jobs an Managed Service for Apache Spark-Cluster im zugehörigen Projekt.dataproc.clusters.listberechtigt zum Auflisten der Details von Managed Service for Apache Spark-Clustern im zugehörigen Projekt.
Für Clustermethoden erforderliche Berechtigungen
| Methode | Erforderliche Berechtigungen |
|---|---|
| projects.regions.clusters.create 1, 2 | dataproc.clusters.create |
| projects.regions.clusters.get | dataproc.clusters.get |
| projects.regions.clusters.list | dataproc.clusters.list |
| projects.regions.clusters.patch 1, 2, 3 | dataproc.clusters.update |
| projects.regions.clusters.delete 1 | dataproc.clusters.delete |
| projects.regions.clusters.start | dataproc.clusters.start |
| projects.regions.clusters.stop | dataproc.clusters.stop |
| projects.regions.clusters.getIamPolicy | dataproc.clusters.getIamPolicy |
| projects.regions.clusters.setIamPolicy | dataproc.clusters.setIamPolicy |
Hinweise:
- Die Berechtigung
dataproc.operations.getist auch erforderlich, um Statusaktualisierungen über die Google Cloud CLI abzurufen. - Die Berechtigung
dataproc.clusters.getist auch erforderlich, um das Ergebnis des Vorgangs über die Google Cloud CLI abzurufen. - Die Berechtigung
dataproc.autoscalingPolicies.useist auch erforderlich, um eine Autoscaling-Richtlinie für einen Cluster zu aktivieren.
Für Jobs-Methoden erforderliche Berechtigungen
| Methode | Erforderliche Berechtigungen |
|---|---|
| projects.regions.jobs.submit 1, 2 | dataproc.jobs.create dataproc.clusters.use |
| projects.regions.jobs.get | dataproc.jobs.get |
| projects.regions.jobs.list | dataproc.jobs.list |
| projects.regions.jobs.cancel 1 | dataproc.jobs.cancel |
| projects.regions.jobs.patch 1 | dataproc.jobs.update |
| projects.regions.jobs.delete 1 | dataproc.jobs.delete |
| projects.regions.jobs.getIamPolicy | dataproc.jobs.getIamPolicy |
| projects.regions.jobs.setIamPolicy | dataproc.jobs.setIamPolicy |
Hinweise:
Für die Google Cloud CLI ist auch die Berechtigung
dataproc.jobs.getfür die Befehlejobs submit,jobs wait,jobs update,jobs deleteundjobs killerforderlich.Die gcloud CLI erfordert außerdem die Berechtigung
dataproc.clusters.get, um Jobs zu senden. Ein Beispiel für das Festlegen der notwendigen Berechtigungen, umgcloud dataproc jobs submitin einem Cluster mithilfe von Granular IAM für Managed Service for Apache Spark auszuführen, finden Sie unter Jobs mit Granular IAM senden.
Für Vorgangsmethoden erforderliche Berechtigungen
| Methode | Erforderliche Berechtigungen |
|---|---|
| projects.regions.operations.get | dataproc.operations.get |
| projects.regions.operations.list | dataproc.operations.list |
| projects.regions.operations.cancel | dataproc.operations.cancel |
| projects.regions.operations.delete | dataproc.operations.delete |
| projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
| projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
Für Workflow-Vorlagenmethoden erforderliche Berechtigungen
| Methode | Erforderliche Berechtigungen |
|---|---|
| projects.regions.workflowTemplates.instantiate | dataproc.workflowTemplates.instantiate |
| projects.regions.workflowTemplates.instantiateInline | dataproc.workflowTemplates.instantiateInline |
| projects.regions.workflowTemplates.create | dataproc.workflowTemplates.create |
| projects.regions.workflowTemplates.get | dataproc.workflowTemplates.get |
| projects.regions.workflowTemplates.list | dataproc.workflowTemplates.list |
| projects.regions.workflowTemplates.update | dataproc.workflowTemplates.update |
| projects.regions.workflowTemplates.delete | dataproc.workflowTemplates.delete |
| projects.regions.workflowTemplates.getIamPolicy | dataproc.workflowTemplates.getIamPolicy |
| projects.regions.workflowTemplates.setIamPolicy | dataproc.workflowTemplates.setIamPolicy |
Hinweise:
Workflow-Vorlagenberechtigungen sind unabhängig von Cluster- und Jobberechtigungen. Ein Nutzer ohne
create cluster- odersubmit job-Berechtigungen kann eine Workflow-Vorlage erstellen und instanziieren.Die Google Cloud CLI erfordert zusätzlich die Berechtigung
dataproc.operations.get, um die Fertigstellung des Workflows abzufragen.Die Berechtigung
dataproc.operations.cancelist erforderlich, um einen laufenden Workflow abzubrechen.
Für Methoden für Autoscaling-Richtlinien erforderliche Berechtigungen
| Methode | Erforderliche Berechtigungen |
|---|---|
| projects.regions.autoscalingPolicies.create | dataproc.autoscalingPolicies.create |
| projects.regions.autoscalingPolicies.get | dataproc.autoscalingPolicies.get |
| projects.regions.autoscalingPolicies.list | dataproc.autoscalingPolicies.list |
| projects.regions.autoscalingPolicies.update | dataproc.autoscalingPolicies.update |
| projects.regions.autoscalingPolicies.delete | dataproc.autoscalingPolicies.delete |
| projects.regions.autoscalingPolicies.getIamPolicy | dataproc.autoscalingPolicies.getIamPolicy |
| projects.regions.autoscalingPolicies.setIamPolicy | dataproc.autoscalingPolicies.setIamPolicy |
Hinweise:
- Die Berechtigung
dataproc.autoscalingPolicies.useist erforderlich, um eine Autoscaling-Richtlinie für einen Cluster mit einerclusters.patch-Methodenanfrage zu aktivieren.
Für Knotengruppenmethoden erforderliche Berechtigungen
| Methode | Erforderliche Berechtigungen |
|---|---|
| projects.regions.nodeGroups.create | dataproc.nodeGroups.create |
| projects.regions.nodeGroups.get | dataproc.nodeGroups.get |
| projects.regions.nodeGroups.resize | dataproc.nodeGroups.update |
Rollen für Managed Service for Apache Spark
IAM-Rollen für Managed Service for Apache Spark enthalten eine oder mehrere Berechtigungen.
Sie erteilen Nutzern oder Gruppen Rollen, damit sie Aktionen für die Managed Service for Apache Spark-Ressourcen in einem Projekt ausführen können. Die Rolle Managed Service for Apache Spark-Betrachter umfasst beispielsweise die Berechtigungen get und list, die Nutzern ermöglichen, Managed Service for Apache Spark-Cluster, -Jobs und -Vorgänge in einem Projekt abzurufen und aufzulisten.
In der folgenden Tabelle sind Rollen aufgeführt, die die Berechtigungen enthalten, die zum Erstellen und Verwalten von Managed Service for Apache Spark-Clustern erforderlich sind.
| Rolle zuweisen an | Rollen |
|---|---|
| Nutzer | Weisen Sie Nutzern die folgenden Rollen zu:
|
| Dienstkonto | Weisen Sie dem VM-Dienstkonto für den verwalteten Dienst für Apache Spark die Rolle Dataproc-Worker zu. |
Wichtige Hinweise:
Möglicherweise müssen Sie dem Dienstkonto der VM für Managed Service for Apache Spark zusätzliche vordefinierte oder benutzerdefinierte Rollen zuweisen, die die für andere Vorgänge erforderlichen Berechtigungen enthalten, z. B. zum Lesen und Schreiben von Daten aus und in Cloud Storage, BigQuery, Cloud Logging und anderen Google Cloud -Ressourcen.
In einigen Projekten wurde dem Dienstkonto für Managed Service for Apache Spark-VMs möglicherweise automatisch die Rolle Editor für das Projekt zugewiesen. Diese Rolle umfasst die Berechtigungen der Rolle „Managed Service for Apache Spark-Worker“ sowie zusätzliche Berechtigungen, die für die Datenebenenvorgänge von Managed Service for Apache Spark nicht erforderlich sind. Um das Sicherheitsprinzip der geringsten Berechtigung zu befolgen, ersetzen Sie die Rolle Bearbeiter durch die Rolle Managed Service for Apache Spark-Worker (siehe Rollen des VM-Dienstkontos ansehen).
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.
Rollen und Berechtigungen für Managed Service for Apache Spark nachschlagen
Im folgenden Abschnitt finden Sie Informationen zu Rollen und Berechtigungen für Managed Service for Apache Spark.
| 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 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 Managed Service for Apache Spark resources. Lowest-level resources where you can grant this role:
|
|
Dataproc Worker( Provides worker access to Managed Service for Apache Spark resources. Intended for service accounts. |
|
Hinweise:
compute-Berechtigungen sind erforderlich oder werden empfohlen, um Managed Service for Apache Spark-Cluster mit der Google Cloud Console oder der Google Cloud CLI zu erstellen und anzusehen.- Damit ein Nutzer Dateien hochladen kann, muss ihm die Rolle
Storage Object Creatorzugewiesen werden. Damit ein Nutzer die Jobausgabe abrufen kann, muss ihm die RolleStorage Object Viewerzugewiesen werden. - Ein Nutzer benötigt die Berechtigung
monitoring.timeSeries.list, um Diagramme auf dem Tab „Übersicht“ der Seite Google Cloud Console → Managed Service for Apache Spark → Clusterdetails aufzurufen. - Ein Nutzer benötigt die Berechtigung
compute.instances.list, um den Instanzstatus und das SSH-Menü für die Masterinstanz auf dem Tab „VM-Instanzen“ der SeiteGoogle Cloud console → Managed Service for Apache Spark → Clusterdetails aufzurufen. Weitere Informationen zu Compute Engine-Rollen finden Sie unter Compute Engine → Verfügbare IAM-Rollen. - Zum Erstellen eines Clusters mit einem benutzerdefinierten Dienstkonto muss das angegebene Dienstkonto alle Berechtigungen der Rolle
Managed Service for Apache Spark Workerhaben, einschließlich des Zugriffs auf die Staging- und temporären Buckets von Managed Service for Apache Spark. Abhängig von den konfigurierten Funktionen können zusätzliche Rollen erforderlich sein. Weitere Informationen finden Sie unter Cluster mit einem benutzerdefinierten VM-Dienstkonto erstellen.
Projektrollen
Sie können auch Berechtigungen auf Projektebene festlegen, indem Sie die IAM- Projektrollen verwenden. In der folgenden Tabelle sind die Berechtigungen aufgeführt, 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 |
IAM-Rollen und Managed Service for Apache Spark-Vorgänge – Zusammenfassung
In der folgenden Tabelle sind die Managed Service for Apache Spark-Vorgänge aufgeführt, die mit Projekt- und Managed Service for Apache Spark-Rollen verknüpft sind.
| Vorgang | Projektbearbeiter | Projektbetrachter | Managed Service for Apache Spark-Administrator | Managed Service for Apache Spark-Editor | Managed Service for Apache Spark Viewer |
|---|---|---|---|---|---|
| IAM-Berechtigungen für Managed Service for Apache Spark abrufen/festlegen | Nein | Nein | Ja | Nein | Nein |
| Cluster erstellen | Ja | Nein | Ja | Ja | Nein |
| Cluster auflisten | Ja | Ja | Ja | Ja | Ja |
| Clusterdetails abrufen | Ja | Ja | Ja 1, 2 | Ja 1, 2 | Ja 1, 2 |
| Cluster aktualisieren | Ja | Nein | Ja | Ja | Nein |
| Cluster löschen | Ja | Nein | Ja | Ja | Nein |
| Cluster starten/anhalten | Ja | Nein | Ja | Ja | Nein |
| Job senden | Ja | Nein | Ja 3 | Ja 3 | Nein |
| Jobs auflisten | Ja | Ja | Ja | Ja | Ja |
| Jobdetails abrufen | Ja | Ja | Ja 4 | Ja 4 | Ja 4 |
| Job abbrechen | Ja | Nein | Ja | Ja | Nein |
| Job löschen | Ja | Nein | Ja | Ja | Nein |
| Vorgänge auflisten | Ja | Ja | Ja | Ja | Ja |
| Vorgangsdetails abrufen | Ja | Ja | Ja | Ja | Ja |
| Vorgang löschen | Ja | Nein | Ja | Ja | Nein |
Hinweise:
- Das Leistungsdiagramm ist nur verfügbar, wenn der Nutzer auch eine Rolle mit der Berechtigung
monitoring.timeSeries.listhat. - Die Liste der VMs im Cluster enthält nur dann Statusinformationen und einen SSH-Link für die Masterinstanz, wenn der Nutzer auch eine Rolle mit der Berechtigung
compute.instances.listhat. - Für Jobs, bei denen Dateien hochgeladen werden, muss der Nutzer die Rolle
Storage Object Creatoroder Schreibzugriff auf den Staging-Bucket für Managed Service for Apache Spark haben. - Die Jobausgabe ist nur verfügbar, wenn der Nutzer auch die Rolle zum Betrachten des Storage-Objekts oder Lesezugriff auf den Staging-Bucket für das Projekt hat.
Zugriffsbereiche für VMs für Managed Service for Apache Spark
VM-Zugriffsbereiche und IAM-Rollen arbeiten zusammen, um den VM-Zugriff auf Google CloudAPIs einzuschränken. Wenn beispielsweise Cluster-VMs nur den Bereich https://www.googleapis.com/auth/storage-full gewährt werden, können Anwendungen, die auf Cluster-VMs ausgeführt werden, Cloud Storage APIs aufrufen. Sie können jedoch keine Anfragen an BigQuery senden, auch wenn sie als VM-Dienstkonto ausgeführt werden, dem eine BigQuery-Rolle mit umfassenden Berechtigungen zugewiesen wurde.
Es empfiehlt sich, VMs den umfassenden Bereich cloud-platform (https://www.googleapis.com/auth/cloud-platform) zu gewähren und dann den VM-Zugriff durch Erteilen bestimmter IAM-Rollen für das VM-Dienstkonto zu beschränken (siehe Best Practices für Bereiche).
Standardmäßige VM-Bereiche für Managed Service for Apache Spark. Wenn bei der Erstellung eines Clusters keine Bereiche angegeben werden (siehe gcloud dataproc cluster create --scopes), haben VMs des Managed Service for Apache Spark die folgenden Standardbereiche:
https://www.googleapis.com/auth/cloud-platform (clusters created with image version 2.1+).
https://www.googleapis.com/auth/bigquery
https://www.googleapis.com/auth/bigtable.admin.table
https://www.googleapis.com/auth/bigtable.data
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.full_control
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
Wenn Sie beim Erstellen eines Clusters Bereiche angeben, haben Cluster-VMs die von Ihnen angegebenen Bereiche und die nachfolgende Mindestmenge an erforderlichen Bereichen (auch wenn Sie sie nicht angeben):
https://www.googleapis.com/auth/cloud-platform (clusters created with image version 2.1+).
https://www.googleapis.com/auth/cloud.useraccounts.readonly
https://www.googleapis.com/auth/devstorage.read_write
https://www.googleapis.com/auth/logging.write
IAM-Zulassungsrichtlinien verwalten
Sie weisen Hauptkonten IAM-Rollen über Zulassungsrichtlinien zu. Sie können Zulassungsrichtlinien mit der Google Cloud -Konsole, der IAM API oder der Google Cloud CLI abrufen und festlegen.
- Informationen zur Google Cloud Console finden Sie unter Zugriffssteuerung über die Google Cloud Console.
- Weitere Informationen zur API finden Sie unter Zugriffssteuerung über die API.
- Informationen zur Google Cloud CLI finden Sie unter Zugriffssteuerung mit der Google Cloud CLI.
Nächste Schritte
- Informationen zu Hauptkonten und Rollen für Managed Service for Apache Spark
- Weitere Informationen zu Granular IAM für Managed Service for Apache Spark
- Mehr über IAM erfahren
- Weitere Informationen zu Dienstkonten in Managed Service for Apache Spark