Zugriffssteuerung mit IAM

Auf dieser Seite werden die Optionen zur Zugriffssteuerung in Cloud Data Fusion beschrieben.

Sie können den Zugriff auf Ressourcen in Cloud Data Fusion folgendermaßen steuern: Möglichkeiten:

  • So steuern Sie den Zugriff auf Vorgänge der Steuerungsebene, z. B. Erstellen und Aktualisieren über die Google Cloud Console erstellen, Google Cloud CLI und REST API verwenden Identity and Access Management (IAM), wie auf dieser Seite beschrieben.

  • Verwenden Sie IAM, um einem Dienstkonto, in dem Pipelines ausgeführt werden, Zugriff auf Google Cloud-Datendienste wie BigQuery oder Cloud Storage zu gewähren.

  • Verwenden Sie die rollenbasierte Zugriffssteuerung (RBAC), um detaillierte Berechtigungen für Aktionen zu steuern, die in der Instanz ausgeführt werden, z. B. das Starten von Pipelines. Diese Aktionen werden als Dataplane-Vorgänge bezeichnet.

Informationen zur Architektur und zu den Ressourcen Cloud Data Fusion-Zugriffssteuerung, siehe Netzwerke. Informationen zum Gewähren von Rollen und Berechtigungen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten

IAM in Cloud Data Fusion

Sie steuern den Zugriff auf Cloud Data Fusion-Features, indem Sie IAM-Rollen und -Berechtigungen für Dienstkonten und andere Hauptkonten in Ihrem Google Cloud-Projekt.

Wenn Sie Nutzerkonten einen detaillierten Zugriff gewähren möchten, damit sie die Cloud Data Fusion-Weboberfläche verwenden können, verwenden Sie die rollenbasierte Zugriffssteuerung.

In Cloud Data Fusion werden standardmäßig die folgenden Dienstkonten verwendet:

Cloud Data Fusion-Dienstkonto

Das Cloud Data Fusion-Dienstkonto ist ein von Google verwalteter Dienst-Agent, der beim Pipeline-Design auf Kundenressourcen zugreifen kann. Dieser Dienst-Agent wird einem Projekt automatisch hinzugefügt, wenn Sie die Cloud Data Fusion API Es wird für alle Instanzen in Ihrem Projekt verwendet.

Der Kundenservicemitarbeiter hat folgende Aufgaben:

  • Mit anderen Diensten wie Cloud Storage kommunizieren, BigQuery oder Datastream verwenden.

  • Ausführen aktivieren, indem Dataproc-Cluster bereitgestellt und Pipelinejobs gesendet werden.

Rollen für das Cloud Data Fusion-Dienstkonto

Standardmäßig hat das Cloud Data Fusion-Dienstkonto nur die Rolle „Cloud Data Fusion API-Dienst-Agent“ (roles/datafusion.serviceAgent).

Der Hauptkontoname für diesen Dienst-Agenten lautet service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Den folgenden Standardressourcen ist die Rolle „Cloud Data Fusion API-Dienst-Agent“ zugewiesen.

Rolle Ressource Berechtigungen
Cloud Data Fusion API-Dienst-Agent Zugeordnete Dienste:
  • BigQuery
  • Bigtable
  • Compute Engine
  • Dataproc
  • Cloud DNS
  • Firebase
  • Cloud Monitoring
  • Network Connectivity
  • Integration für die Netzwerksicherheit
  • Network Services API
  • Unternehmensrichtlinien
  • Recommender API
  • Cloud Resource Manager API
  • Dienstnetzwerk
  • Service Usage
  • Spanner
  • Cloud Storage
  • Cloud Service Mesh
Siehe Dienst-Agent für Cloud Data Fusion API Berechtigungen

Standarddienstkonto oder benutzerdefiniertes Dienstkonto für die Compute Engine

Das Compute Engine-Dienstkonto ist das Standardkonto, Cloud Data Fusion verwendet, um Jobs bereitzustellen und auszuführen, die auf andere Google Cloud-Ressourcen Dieses Konto wird standardmäßig einer Dataproc-Cluster-VM hinzugefügt, damit Cloud Data Fusion während der Ausführung einer Pipeline auf Dataproc-Ressourcen zugreifen kann.

Sie können ein benutzerdefiniertes Dienstkonto auswählen, das beim Erstellen einer Cloud Data Fusion-Instanz an den Dataproc-Cluster angehängt werden soll. Sie können auch neue Compute-Profile in der Cloud Data Fusion-Weboberfläche erstellen.

Weitere Informationen finden Sie unter Dienstkonten in Cloud Data Fusion

Rollen für das Compute Engine-Dienstkonto

Wenn Sie standardmäßig auf Ressourcen wie Quellen und Senken zugreifen möchten, wenn Sie eine verwendet Cloud Data Fusion die Standardmäßiges Compute Engine-Dienstkonto

Sie können ein nutzerverwaltetes benutzerdefiniertes Dienstkonto für Cloud Data Fusion-Instanzen einrichten und diesem Konto eine Rolle zuweisen. Anschließend können Sie dieses Dienstkonto beim Erstellen neuer Instanzen auswählen.

Cloud Data Fusion-Ausführerrolle

Gewähren Sie im Projekt mit der Cloud Data Fusion-Instanz sowohl Standard- als auch benutzerverwalteten benutzerdefinierten Dienstkonten die Rolle „Cloud Data Fusion Runner“ (datafusion.runner).

Rolle Beschreibung Berechtigung
Data Fusion Runner (datafusion.runner) Ermöglicht dem Compute Engine-Dienstkonto die Kommunikation mit Cloud Data Fusion-Dienste in der Mandantenprojekt datafusion.instances.runtime

Rolle "Dienstkontonutzer"

Weisen Sie dem Cloud Data Fusion-Dienstkonto im Standard- oder nutzerverwalteten Dienstkonto des Projekts, in dem Dataproc-Cluster gestartet werden, wenn Sie Pipelines ausführen, die Rolle „Dienstkontonutzer“ (roles/iam.serviceAccountUser) zu.

Weitere Informationen finden Sie unter Dienstkontoberechtigungen gewähren.

Dataproc-Worker-Rolle

Damit die Jobs in Dataproc-Clustern ausgeführt werden können, müssen Sie den Standard- oder nutzerverwalteten Dienstkonten, die von Ihren Cloud Data Fusion-Pipelines verwendet werden, die Rolle „Dataproc Worker“ (roles/dataproc.worker) zuweisen.

Rollen für Nutzer

Damit Sie Vorgänge in Cloud Data Fusion auslösen können, benötigen Sie (als Hauptkonto) ausreichende Berechtigungen. Einzelne Berechtigungen werden in Rollen gruppiert und Sie gewähren dem Hauptkonto Rollen.

Wenn die RBAC nicht aktiviert ist oder Sie eine Cloud Data Fusion-Version verwenden, die RBAC nicht unterstützt, haben Nutzer mit einer beliebigen Cloud Data Fusion-IAM-Rolle vollen Zugriff auf die Cloud Data Fusion-Weboberfläche. Mit der Administratorrolle können Nutzer nur die Instanz verwalten, z. B. Create-, Update-, Upgrade- und Delete-Vorgänge.

Gewähren Sie Hauptkonten die folgenden Rollen, abhängig von den Berechtigungen, die sie haben in Cloud Data Fusion benötigen.

Rolle Beschreibung Berechtigungen
Cloud Data Fusion-Administrator (roles/datafusion.admin) Alle Berechtigungen des Betrachters sowie Berechtigungen zum Erstellen, Aktualisieren und Löschen von Cloud Data Fusion-Instanzen
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.instances.create
  • datafusion.instances.delete
  • datafusion.instances.update
  • datafusion.operations.get
  • datafusion.operations.list
  • datafusion.operations.cancel
  • resourcemanager.projects.get
  • resourcemanager.projects.list
Cloud Data Fusion-Betrachter (roles/datafusion.viewer)
  • Sie können die Cloud Data Fusion-Instanzen des Projekts in der Google Cloud Console aufrufen.
  • Cloud Data Fusion kann nicht erstellt, aktualisiert oder gelöscht werden Instanzen.
  • datafusion.instances.get
  • datafusion.instances.list
  • datafusion.operations.get
  • datafusion.operations.list
  • resourcemanager.projects.get
  • resourcemanager.projects.list

Zur Designzeit auf Ressourcen in einem anderen Projekt zugreifen

In diesem Abschnitt wird die Zugriffssteuerung für Ressourcen beschrieben, die sich in einem Google Cloud-Projekt als Ihre Cloud Data Fusion-Instanz beim Entwurf .

Wenn Sie Pipelines in der Cloud Data Fusion-Weboberfläche entwerfen, können Sie Funktionen wie Wrangler oder Preview verwenden, die auf Ressourcen in anderen Projekten zugreifen.

In den folgenden Abschnitten wird beschrieben, wie Sie das Dienstkonto in Ihrer Umgebung ermitteln und dann die entsprechenden Berechtigungen erteilen.

Dienstkonto Ihrer Umgebung ermitteln

Der Name des Dienstkontos lautet „Cloud Data Fusion-Dienstkonto“ und der Hauptberechtigte für diesen Dienst-Agenten ist service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Zugriff auf Ressourcen in einem anderen Projekt gewähren

So gewähren Sie die Rollen, die Zugriff auf verschiedene Ressourcen gewähren:

  1. Fügen Sie in dem Projekt, in dem die Zielressource vorhanden ist, den Parameter Cloud Data Fusion-Dienstkonto (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) als Hauptkonto.
  2. Weisen Sie dem Cloud Data Fusion-Dienstkonto Rollen für die Zielressource im Projekt zu, in dem die Zielressource vorhanden ist.

Nachdem Sie die Rollen gewährt haben, können Sie während der Entwicklungsphase auf Ressourcen in einem anderen Projekt zugreifen, genau wie auf Ressourcen im Projekt, in dem sich Ihre Instanz befindet.

Bei der Ausführung auf Ressourcen in einem anderen Projekt zugreifen

In diesem Abschnitt wird die Zugriffssteuerung für Ressourcen beschrieben, die sich zum Zeitpunkt der Ausführung in einem anderen Google Cloud-Projekt als Ihrer Cloud Data Fusion-Instanz befinden.

Bei der Ausführung wird die Pipeline auf einem Dataproc-Cluster ausgeführt, der möglicherweise auf Ressourcen in anderen Projekten zugreift. Standardmäßig wird der Dataproc-Cluster im selben Projekt wie die Cloud Data Fusion-Instanz gestartet. Sie können aber auch Cluster in einem anderen Projekt verwenden.

So greifen Sie auf die Ressourcen in anderen Google Cloud-Projekten zu: Schritte:

  1. Ermitteln Sie das Dienstkonto für Ihr Projekt.
  2. Gewähren Sie im Projekt, in dem sich die Ressource befindet, dem Compute Engine-Standarddienstkonto IAM-Rollen, um ihm Zugriff auf Ressourcen in einem anderen Projekt zu gewähren.

Compute Engine-Dienstkonto ermitteln

Weitere Informationen zum Compute Engine-Dienstkonto finden Sie unter IAM in Cloud Data Fusion.

IAM-Zugriff auf Ressourcen in einem anderen Projekt gewähren

Das Compute Engine-Standarddienstkonto benötigt folgende Berechtigungen: auf Ressourcen in einem anderen Projekt zugreifen. Diese Rollen und Berechtigungen können je nach Ressource, auf die Sie zugreifen möchten.

So greifen Sie auf die Ressourcen zu:

  1. Rollen und Berechtigungen gewähren und den Compute Engine-Dienst angeben Konto als Hauptkonto in dem Projekt, in dem die Zielressource vorhanden ist.
  2. Fügen Sie die entsprechenden Rollen hinzu, um auf die Ressource zuzugreifen.

Berechtigungen für die Cloud Data Fusion API

Die folgenden Berechtigungen sind zum Ausführen der Cloud Data Fusion API erforderlich.

API-Aufruf Berechtigung
instances.create datafusion.instances.create
instances.delete datafusion.instances.delete
instances.list datafusion.instances.list
instances.get datafusion.instances.get
instances.update datafusion.instances.update
operations.cancel datafusion.operations.cancel
operations.list datafusion.operations.list
operations.get datafusion.operations.get

Berechtigungen für allgemeine Aufgaben

Für allgemeine Aufgaben in Cloud Data Fusion sind die folgenden Berechtigungen erforderlich:

Aufgabe Berechtigungen
Auf die Weboberfläche von Cloud Data Fusion zugreifen datafusion.instances.get
Auf die Cloud Data Fusion-Seite Instanzen in die Google Cloud Console datafusion.instances.list
Zugriff auf die Seite Details für eine Instanz datafusion.instances.get
Neue Instanz erstellen datafusion.instances.create
Labels und erweiterte Optionen aktualisieren, um eine Instanz anzupassen datafusion.instances.update
Instanz löschen datafusion.instances.delete

Nächste Schritte