Übersicht
Mit Identity and Access Management (IAM) können Sie den Nutzer- und Gruppenzugriff auf Ihre 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, bestimmte 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 Ihrem Projekt erstellen.
Sie erteilen den Nutzern die Berechtigungen nicht direkt, sondern Sie weisen ihnen
Rollen zu, 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 Workflows) verbunden sind.
Berechtigungen für Cluster
Methode | Erforderliche Berechtigung(en) |
---|---|
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.get
ist auch erforderlich, um Statusaktualisierungen von der Google Cloud-Befehlszeile abzurufen. - Die Berechtigung
dataproc.clusters.get
ist auch erforderlich, um das Ergebnis des Vorgangs von der Google Cloud-Befehlszeile abzurufen. - Die Berechtigung
dataproc.autoscalingPolicies.use
ist auch erforderlich, um eine Autoscaling-Richtlinie für einen Cluster zu aktivieren.
Berechtigungen für Jobs
Methode | Erforderliche Berechtigung(en) |
---|---|
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-Befehlszeile erfordert außerdem
dataproc.jobs.get
, damit die Befehlejobs submit
,jobs wait
,jobs update
,jobs delete
undjobs kill
ordnungsgemäß funktionieren.Die Google Cloud-Befehlszeile erfordert außerdem die Berechtigung
dataproc.clusters.get
, um Jobs zu senden. Ein Beispiel für das Festlegen der Berechtigungen, die ein Nutzer zum Ausführen vongcloud dataproc jobs submit
in einem bestimmten Cluster mit Dataproc Granular IAM benötigt, finden Sie unter Jobs mit Granular IAM senden.
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 | dataproc.operations.cancel |
projects.regions.operations.delete | dataproc.operations.delete |
projects.regions.operations.getIamPolicy | dataproc.operations.getIamPolicy |
projects.regions.operations.setIamPolicy | dataproc.operations.setIamPolicy |
Workflow-Vorlagenberechtigungen
Methode | Erforderliche Berechtigung(en) |
---|---|
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-Befehlszeile erfordert außerdem die Berechtigung
dataproc.operations.get
, den Workflow zum Abschluss des Workflows abzufragen.Die Berechtigung
dataproc.operations.cancel
ist erforderlich, um einen laufenden Workflow abzubrechen.
Berechtigungen für Autoscaling-Richtlinien
Methode | Erforderliche Berechtigung(en) |
---|---|
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.
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 Ihrem Projekt ausführen können. 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 oben aufgeführten
compute
-Berechtigungen sind erforderlich oder werden empfohlen, um Dataproc-Cluster zu erstellen und anzeigen zu lassen, wenn Sie die Google Cloud Console oder die Google Cloud CLIgcloud
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. Beachten Sie, dass Nutzer, die eine dieser Storage-Rollen erteilt bekommen, auf jeden beliebigen Bucket im Projekt zugreifen können. - 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 Seite "Google Cloud Console → Dataproc → Clusterdetails" aufzurufen. Weitere Informationen zu Google 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 Worker
haben. Abhängig von den konfigurierten Funktionen können zusätzliche Rollen erforderlich sein. Unter Dienstkonten finden Sie eine Auflistung der zusätzlichen Rollen.
Projektrollen
Sie können auch Berechtigungen auf Projektebene festlegen, indem Sie die IAM- Projektrollen verwenden. Nachfolgend finden Sie eine Übersicht über alle Berechtigungen, 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 zusammengefasst, die je nach zugewiesener Rolle zur Verfügung stehen (Einschränkungen sind gekennzeichnet).
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. - Jobs, die hochzuladende Dateien umfassen, können nur dann gesendet werden, wenn der Nutzer auch die Rolle zum Erstellen von Storage-Objekten oder Schreibzugriff auf den Staging-Bucket für das Projekt hat.
- 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, in dem sich Ihr Cluster befindet, 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 Console, der IAM API oder der Google Cloud-Befehlszeile abrufen und festlegen.
- Informationen zur Google Cloud Console finden Sie im entsprechenden Abschnitt unter Zugriff auf Ressourcen erteilen, ändern und entziehen.
- Für die API siehe Zugriffssteuerung über die API
- Informationen zur Google Cloud-Befehlszeile finden Sie unter Zugriffssteuerung über die Google Cloud-Befehlszeile.
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