Übersicht
Mit Identity and Access Management (IAM) Nutzer- und Gruppenzugriff auf Projektressourcen. 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
Dataproc-Berechtigungen ermöglichen Nutzern, einschließlich
Dienstkonten
zum Ausführen von Aktionen in Dataproc
Cluster, Jobs, Vorgänge und Workflowvorlagen. Beispiel: dataproc.clusters.create
Berechtigung ermöglicht einem Nutzer, Dataproc-Cluster in einem Projekt zu erstellen.
Normalerweise gewähren Sie keine Berechtigungen. Stattdessen gewähren Sie
Rollen mit einer oder mehreren Berechtigungen
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 jede Dataproc-Ressource (Cluster, Jobs, Vorgänge und Workflowvorlagen)
Berechtigungsbereich:Der Bereich von Dataproc
Die in den folgenden Tabellen aufgeführten Berechtigungen beziehen sich auf die Google Cloud,
Projekt (Bereich cloud-platform
). Weitere Informationen finden Sie unter
Dienstkontoberechtigungen:
Beispiele:
dataproc.clusters.create
ermöglicht das Erstellen von Dataproc-Cluster im zugehörigen Projektdataproc.jobs.create
berechtigt zum Senden von Dataproc-Jobs an Dataproc-Cluster im zugehörigen Projekt.dataproc.clusters.list
berechtigt zum Auflisten der Details von Dataproc-Clustern im zugehörigen Projekt.
Berechtigungen für Cluster
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:
- Zum Abrufen des Status ist auch die Berechtigung
dataproc.operations.get
erforderlich der Google Cloud CLI aktualisieren. - Die Berechtigung
dataproc.clusters.get
ist auch erforderlich, um das Ergebnis abzurufen des Vorgangs über die Google Cloud CLI. - Die Berechtigung
dataproc.autoscalingPolicies.use
ist auch erforderlich, um eine Autoscaling-Richtlinie für einen Cluster zu aktivieren.
Berechtigungen für Jobs
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:
Die Google Cloud CLI erfordert außerdem
dataproc.jobs.get
Berechtigung fürjobs submit
,jobs wait
,jobs update
,jobs delete
, undjobs kill
.Die gcloud CLI erfordert außerdem
dataproc.clusters.get
Berechtigung zum Senden von Jobs. Ein Beispiel für die Einstellung Berechtigungen, die ein Nutzer zum Ausführen vongcloud dataproc jobs submit
auf einem mit Dataproc Granular IAM erstellen (siehe Jobs mit Granular IAM senden).
Berechtigungen für Vorgänge
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 |
Berechtigungen für Workflowvorlagen
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 benötigt außerdem Berechtigung
dataproc.operations.get
, um die Fertigstellung des Workflows abzufragen.Die Berechtigung
dataproc.operations.cancel
ist erforderlich, um einen laufenden Workflow abzubrechen.
Berechtigungen für Autoscaling-Richtlinien
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.use
ist erforderlich, um eine Autoscaling-Richtlinie für einen Cluster mit einerclusters.patch
-Methodenanfrage zu aktivieren.
Berechtigungen für Knotengruppen
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 gewähren Nutzern oder Gruppen Rollen, damit sie Aktionen für die Dataproc-Ressourcen in einem
Projekt arbeiten. Die Rolle Dataproc-Betrachter umfasst beispielsweise die Berechtigungen dataproc.*.get
und dataproc.*.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:
Rollen-ID | Berechtigungen |
---|---|
roles/dataproc.admin | dataproc.*.getIamPolicy dataproc.*.setIamPolicy dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.jobs.cancel dataproc.workflowTemplates.instantiate dataproc.workflowTemplates.instantiateInline compute.machineTypes.get compute.machineTypes.list compute.networks.get compute.networks.list compute.projects.get compute.regions.get compute.regions.list compute.zones.get compute.zones.list resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.editor | dataproc.*.create dataproc.*.get dataproc.*.list dataproc.*.delete dataproc.*.update dataproc.clusters.use dataproc.clusters.start dataproc.clusters.stop dataproc.jobs.cancel dataproc.workflowTemplates.instantiate dataproc.workflowTemplates.instantiateInline compute.machineTypes.get compute.machineTypes.list compute.networks.get compute.networks.list compute.projects.get compute.regions.get compute.regions.list compute.zones.get compute.zones.list resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.viewer | dataproc.*.get dataproc.*.list compute.machineTypes.get compute.regions.get compute.regions.list compute.zones.get resourcemanager.projects.get resourcemanager.projects.list |
roles/dataproc.worker (nur für Dienstkonten) | dataproc.agents.* dataproc.tasks.* logging.logEntries.create monitoring.metricDescriptors.create monitoring.metricDescriptors.get monitoring.metricDescriptors.list monitoring.monitoredResourceDescriptors.get monitoring.monitoredResourceDescriptors.list monitoring.timeSeries.create storage.buckets.get storage.objects.create storage.objects.get storage.objects.list storage.objects.update storage.objects.delete storage.objects.getIamPolicy storage.objects.setIamPolicy |
Hinweise:
- "*" steht für "clusters", "jobs" oder "operations", mit der Ausnahme, dass mit
dataproc.operations.
lediglich die Berechtigungenget
,list
unddelete
verknüpft sind. - Die zuvor aufgeführten
compute
-Berechtigungen werden benötigt oder empfohlen für Dataproc-Cluster mit der Google Cloud Console erstellen und anzeigen oder die gcloud CLI Google Cloud CLI verwenden. - Damit ein Nutzer Dateien hochladen kann, muss ihm die Rolle
Storage Object Creator
zugewiesen werden. Damit ein Nutzer die Jobausgabe abrufen kann, muss ihm die RolleStorage Object Viewer
zugewiesen werden. - Ein Nutzer benötigt die Berechtigung
monitoring.timeSeries.list
, um Diagramme in der Google Cloud Console ansehen → Dataproc → Clusterdetails Tab „Übersicht“. - Ein Nutzer muss die Berechtigung
compute.instances.list
haben um den Instanzstatus und das SSH-Menü der Masterinstanz Google Cloud Console → Dataproc → Clusterdetails Tab „VM-Instanzen“ Informationen zu Compute Engine-Rollen finden Sie unter Compute Engine → Verfügbare IAM-Rollen). - Zum Erstellen eines Clusters mit einem benutzerdefinierten Dienstkonto wurde die angegebene
Dienstkonto muss alle Berechtigungen haben, die vom
Dataproc Worker
Rolle, die Zugriff auf den Dataproc- Staging- und temporäre Buckets. Abhängig von den konfigurierten Funktionen können zusätzliche Rollen erforderlich sein. Weitere Informationen finden Sie unter Cluster mit benutzerdefiniertem VM-Dienstkonto erstellen für erhalten Sie weitere Informationen.
Projektrollen
Sie können auch Berechtigungen auf Projektebene festlegen, indem Sie die IAM- Projektrollen verwenden. In der folgenden Tabelle sind die Berechtigungen aufgeführt, IAM-Projektrollen:
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 Dataproc-Vorgänge aufgeführt, die mit Projekt- und Dataproc-Rollen.
Aktion | 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.list
hat. - 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.list
hat. - Für Jobs, bei denen Dateien hochgeladen werden, muss der Nutzer die
Storage Object Creator
Rollen- oder Schreibzugriff auf Dataproc Staging-Bucket. - 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 in einem Projekt auszuführen, wie das Erstellen von VM-Instanzen, führt Dataproc die Aktionen indem Sie ein Dienstkonto mit den erforderlichen Berechtigungen um die Aktionen auszuführen. Weitere Informationen finden Sie unter Dataproc-Dienstkonten:
IAM-Management
Sie können IAM-Richtlinien über die Google Cloud Console, die IAM API oder die Google Cloud CLI
- Informationen zur Google Cloud Console finden Sie unter Zugriffssteuerung über die Google Cloud Console
- Informationen zur API finden Sie unter Zugriffssteuerung mithilfe der 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