Dataproc-IAM-Rollen und -Berechtigungen

Ü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 Projekt
  • dataproc.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:

  1. Zum Abrufen des Status ist auch die Berechtigung dataproc.operations.get erforderlich der Google Cloud CLI aktualisieren.
  2. Die Berechtigung dataproc.clusters.get ist auch erforderlich, um das Ergebnis abzurufen des Vorgangs über die Google Cloud CLI.
  3. 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:

  1. Die Google Cloud CLI erfordert außerdem dataproc.jobs.get Berechtigung für jobs submit, jobs wait, jobs update, jobs delete, und jobs kill.

  2. 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 von gcloud 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:

  1. Workflow-Vorlagenberechtigungen sind unabhängig von Cluster- und Jobberechtigungen. Ein Nutzer ohne create cluster- oder submit job-Berechtigungen kann eine Workflow-Vorlage erstellen und instanziieren.

  2. Die Google Cloud CLI benötigt außerdem Berechtigung dataproc.operations.get, um die Fertigstellung des Workflows abzufragen.

  3. 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:

  1. Die Berechtigung dataproc.autoscalingPolicies.use ist erforderlich, um eine Autoscaling-Richtlinie für einen Cluster mit einer clusters.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 Berechtigungen get, list und delete 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 Rolle Storage 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:

  1. Das Leistungsdiagramm ist nur verfügbar, wenn der Nutzer auch eine Rolle mit der Berechtigung monitoring.timeSeries.list hat.
  2. 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.
  3. Für Jobs, bei denen Dateien hochgeladen werden, muss der Nutzer die Storage Object Creator Rollen- oder Schreibzugriff auf Dataproc Staging-Bucket.
  4. 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

Nächste Schritte