Übersicht
Mit Identity and Access Management (IAM) können Sie den Nutzer- und Gruppenzugriff auf Projektressourcen steuern. In diesem Dokument werden die für Dataproc erforderlichen IAM-Berechtigungen sowie die IAM-Rollen erläutert, mit denen diese Berechtigungen gewährt werden.
Dataproc-Berechtigungen
Mit Dataproc-Berechtigungen können Nutzer, einschließlich Dienstkonten, Aktionen in Dataproc-Clustern, -Jobs und -Vorgängen oder Workflow-Vorlagen ausführen. Mit der Berechtigung dataproc.clusters.create kann ein Nutzer beispielsweise Dataproc-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 Dataproc APIs (Methoden) erforderlich sind. Die Tabellen sind entsprechend den APIs organisiert, die mit den einzelnen Dataproc-Ressourcen (Cluster, Jobs, Vorgänge und Workflowvorlagen) verbunden sind.
Geltungsbereich der Berechtigung:Die in den folgenden Tabellen aufgeführten Dataproc-Berechtigungen 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 Dataproc-Clustern im zugehörigen Projekt.dataproc.jobs.createberechtigt zum Senden von Dataproc-Jobs an Dataproc-Cluster im zugehörigen Projekt.dataproc.clusters.listberechtigt zum Auflisten der Details von Dataproc-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 Dataproc Granular IAM 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 |
Dataproc-Rollen
Dataproc-IAM-Rollen enthalten eine oder mehrere Berechtigungen.
Sie erteilen Nutzern oder Gruppen Rollen, damit sie Aktionen für die Dataproc-Ressourcen in einem Projekt ausführen können. Die Rolle Dataproc-Betrachter umfasst beispielsweise die Berechtigungen get und list, die Nutzern ermöglichen, Dataproc-Cluster, -Jobs und -Vorgänge in einem Projekt abzurufen und aufzulisten.
In der folgenden Tabelle sind die Dataproc-IAM-Rollen und die Berechtigungen aufgeführt, die mit jeder Rolle verknüpft sind.
| 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. |
|
Hinweise:
compute-Berechtigungen sind erforderlich oder werden empfohlen, um Dataproc-Cluster mit der Google Cloud Console oder der gcloud 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 → Dataproc → 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 → Dataproc → 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
Dataproc Workerhaben, einschließlich des Zugriffs auf die Staging- und temporären Buckets von Dataproc. 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 Dataproc-Vorgänge – Zusammenfassung
In der folgenden Tabelle sind die Dataproc-Vorgänge aufgeführt, die mit Projekt- und Dataproc-Rollen verknüpft sind.
| Vorgang | Projektbearbeiter | Projektbetrachter | Dataproc-Administrator | Dataproc-Bearbeiter | Dataproc-Betrachter |
|---|---|---|---|---|---|
| Dataproc-IAM-Berechtigungen 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 Dataproc-Staging-Bucket 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.
Dienstkonten
Wenn Sie Dataproc APIs aufrufen, um Aktionen wie das Erstellen von VM-Instanzen in einem Projekt auszuführen, führt Dataproc diese Aktionen in Ihrem Namen mithilfe eines Dienstkontos aus, das die dafür erforderlichen Berechtigungen hat. Weitere Informationen finden Sie unter Dataproc-Dienstkonten.
IAM-Management
Sie können IAM-Richtlinien mithilfe 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 Dataproc-Hauptkonten und -Rollen
- Mehr über Dataproc Granular IAM erfahren
- Mehr über IAM erfahren
- Mehr über Dienstkonten in Dataproc erfahren