Zugriffssteuerung mit IAM

Auf dieser Seite werden die Optionen für die Zugriffssteuerung in Cloud Data Fusion beschrieben.

Sie haben folgende Möglichkeiten, den Zugriff auf Ressourcen in Cloud Data Fusion zu steuern:

  • Wenn Sie den Zugriff für Vorgänge der Steuerungsebene steuern möchten, z. B. das Erstellen und Aktualisieren von Instanzen über die Google Cloud Console, die Google Cloud CLI und die REST API, verwenden Sie die auf dieser Seite beschriebene Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM).

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

  • Mit der rollenbasierten Zugriffssteuerung (Role-Based Access Control, rollenbasierte Zugriffssteuerung) können Sie detaillierte Berechtigungen für in der Instanz ausgeführte Aktionen, sogenannte Vorgänge auf der Datenebene, steuern, z. B. das Starten von Pipelines.

Informationen zur Architektur und zu den Ressourcen der Zugriffssteuerung von Cloud Data Fusion finden Sie unter Netzwerk. Informationen zum Zuweisen 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 Dienstkonten und anderen Hauptkonten in Ihrem Google Cloud-Projekt IAM-Rollen und -Berechtigungen zuweisen.

Mit RBAC gewähren Sie einen differenzierten Zugriff auf Nutzerkonten, damit diese die Weboberfläche von Cloud Data Fusion verwenden können.

Standardmäßig verwendet Cloud Data Fusion die folgenden Dienstkonten:

Cloud Data Fusion-Dienstkonto

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

Der Dienst-Agent hat die folgenden Aufgaben:

  • Während des Pipelinedesigns mit anderen Diensten wie Cloud Storage, BigQuery oder Datastream kommunizieren

  • Ausführung durch Bereitstellen von Dataproc-Clustern und Senden von Pipelinejobs aktivieren

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 Principal Name für diesen Dienst-Agent lautet service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Die folgenden Standardressourcen sind der Rolle "Cloud Data Fusion API-Dienst-Agent" zugeordnet.

Rolle Ressource Berechtigungen
Cloud Data Fusion API-Dienst-Agent Verknüpfte Dienste:
  • BigQuery
  • Bigtable
  • Compute Engine
  • Dataproc
  • Cloud DNS
  • Firebase
  • Cloud Monitoring
  • Network Connectivity
  • Network Service Integration Manager
  • Network Services API
  • Unternehmensrichtlinien
  • Recommender API
  • Cloud Resource Manager API
  • Dienstnetzwerk
  • Service Usage
  • Spanner
  • Cloud Storage
  • Cloud Service Mesh
Weitere Informationen finden Sie unter Berechtigungen für Cloud Data Fusion API-Dienst-Agents.

Standarddienstkonto oder benutzerdefiniertes Compute Engine-Dienstkonto

Das Compute Engine-Dienstkonto ist das Standardkonto, das Cloud Data Fusion zum Bereitstellen und Ausführen von Jobs verwendet, die auf andere Google Cloud-Ressourcen zugreifen. Standardmäßig wird es an eine Dataproc-Cluster-VM angehängt, 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 an den Dataproc-Cluster angehängt werden soll, wenn Sie eine Cloud Data Fusion-Instanz erstellen oder neue Compute-Profile in der Weboberfläche von Cloud Data Fusion erstellen.

Weitere Informationen finden Sie unter Dienstkonten in Cloud Data Fusion.

Rollen für das Compute Engine-Dienstkonto

Standardmäßig verwendet Cloud Data Fusion das Compute Engine-Standarddienstkonto, um beim Ausführen einer Pipeline auf Ressourcen wie Quellen und Senken zuzugreifen.

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

Rolle „Cloud Data Fusion-Ausführer“

Gewähren Sie in dem Projekt, das die Cloud Data Fusion-Instanz enthält, sowohl für Standard- als auch für nutzerverwaltete benutzerdefinierte Dienstkonten die Rolle „Cloud Data Fusion-Runner“ (datafusion.runner).

Rolle Beschreibung Berechtigung
Data Fusion-Ausführer (datafusion.runner) Ermöglicht dem Compute Engine-Dienstkonto, mit Cloud Data Fusion-Diensten im Mandantenprojekt zu kommunizieren datafusion.instances.runtime

Rolle "Dienstkontonutzer"

Weisen Sie dem Cloud Data Fusion-Dienstkonto dem Standard- oder nutzerverwalteten Dienstkonto in dem Projekt, in dem Dataproc-Cluster beim Ausführen von Pipelines gestartet werden, die Rolle "Dienstkontonutzer" (roles/iam.serviceAccountUser) zu.

Weitere Informationen finden Sie unter Dienstkontoberechtigungen gewähren.

Dataproc-Worker-Rolle

Weisen Sie zum Ausführen der Jobs in Dataproc-Clustern die Dataproc-Worker-Rolle (roles/dataproc.worker) den standardmäßigen oder vom Nutzer verwalteten Dienstkonten zu, die von Ihren Cloud Data Fusion-Pipelines verwendet werden.

Rollen für Nutzer

Sie (das Hauptkonto) müssen genügend Berechtigungen haben, um einen Vorgang in Cloud Data Fusion auszulösen. Einzelne Berechtigungen sind in Rollen gruppiert und Sie weisen diesem Hauptkonto Rollen zu.

Wenn 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. die Vorgänge Create, Update, Upgrade und Delete.

Weisen Sie Hauptkonten die folgenden Rollen zu, je nach den Berechtigungen, die sie in Cloud Data Fusion benötigen.

Rolle Beschreibung Berechtigungen
Cloud Data Fusion-Administrator (roles/datafusion.admin) Alle Betrachterberechtigungen 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)
  • Kann die Cloud Data Fusion-Instanzen des Projekts in der Google Cloud Console aufrufen.
  • Kann keine Cloud Data Fusion-Instanzen erstellen, aktualisieren oder löschen.
  • 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 zum Zeitpunkt der Entwicklung in einem anderen Google Cloud-Projekt als Ihrer Cloud Data Fusion-Instanz befinden.

Wenn Sie Pipelines in der Weboberfläche von Cloud Data Fusion entwerfen, können Sie Funktionen wie Wrangler oder Preview verwenden, mit denen auf Ressourcen in anderen Projekten zugegriffen wird.

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

Dienstkonto der Umgebung ermitteln

Der Name des Dienstkontos lautet Cloud Data Fusion-Dienstkonto und das Hauptkonto für diesen Dienst-Agent ist service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com.

Berechtigung zum Zugriff auf Ressourcen in einem anderen Projekt erteilen

So weisen Sie die Rollen zu, die die Berechtigung zum Zugriff auf verschiedene Ressourcen gewähren:

  1. Fügen Sie in dem Projekt, in dem die Zielressource vorhanden ist, das Cloud Data Fusion-Dienstkonto (service-CUSTOMER_PROJECT_NUMBER@gcp-sa-datafusion.iam.gserviceaccount.com) als Hauptkonto hinzu.
  2. Gewähren Sie dem Cloud Data Fusion-Dienstkonto Rollen für die Zielressource in dem Projekt, in dem sich die Zielressource befindet.

Nachdem Sie die Rollen gewährt haben, können Sie zur Entwicklungszeit auf Ressourcen in einem anderen Projekt auf die gleiche Weise zugreifen wie auf Ressourcen in dem Projekt, in dem sich Ihre Instanz befindet.

Zur Ausführungszeit auf Ressourcen in einem anderen Projekt zugreifen

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

Zur Ausführungszeit führen Sie die Pipeline in einem Dataproc-Cluster aus, der möglicherweise auf Ressourcen in anderen Projekten zugreifen kann. Standardmäßig wird der Dataproc-Cluster selbst im selben Projekt wie die Cloud Data Fusion-Instanz gestartet. Sie können jedoch Cluster in einem anderen Projekt verwenden.

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

  1. Bestimmen Sie das Dienstkonto für Ihr Projekt.
  2. Weisen Sie in dem Projekt, in dem sich die Ressource befindet, dem Compute Engine-Standarddienstkonto IAM-Rollen zu, 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 Informationen zu IAM in Cloud Data Fusion.

IAM-Zugriffsressourcen in einem anderen Projekt gewähren

Das Compute Engine-Standarddienstkonto erfordert Berechtigungen für den Zugriff auf Ressourcen in einem anderen Projekt. Diese Rollen und Berechtigungen können je nach Ressource, auf die Sie zugreifen möchten, unterschiedlich sein.

So greifen Sie auf die Ressourcen zu:

  1. Gewähren Sie Rollen und Berechtigungen und geben Sie Ihr Compute Engine-Dienstkonto als Hauptkonto in dem Projekt an, in dem sich die Zielressource befindet.
  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
In der Google Cloud Console auf die Cloud Data Fusion-Seite Instanzen zugreifen 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