Zugriffssteuerung mit IAM

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

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

  • Zugriff für Vorgänge der Steuerungsebene steuern, 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.

  • Um Zugriff auf Google Cloud-Datendienste wie BigQuery oder Cloud Storage zu einem Dienstkonto, auf dem Pipelines ausgeführt werden, verwenden Sie IAM

  • Um detaillierte Berechtigungen für Aktionen zu steuern, die in der Instanz, die als Datenebene z. B. das Starten von Pipelines, die rollenbasierte Zugriffssteuerung (RBAC).

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.

Um einen detaillierten Zugriff auf Nutzerkonten zu gewähren, damit diese die Weboberfläche von Cloud Data Fusion, verwenden Sie RBAC:

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 die bei der Entwicklung der Pipeline auf Kundenressourcen zugreifen können. 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 Dienst-Agent hat die folgenden Aufgaben:

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

  • Ausführung durch Bereitstellung von Dataproc-Clustern und Senden von Pipelinejobs.

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 Cloud Data Fusion API zugeordnet Dienst-Agent-Rolle.

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
Siehe Dienst-Agent für Cloud Data Fusion API Berechtigungen

Standarddienstkonto oder benutzerdefiniertes Compute Engine-Dienstkonto

Das Compute Engine-Dienstkonto ist das Standardkonto, Cloud Data Fusion verwendet, um Jobs bereitzustellen und auszuführen, die auf andere Google Cloud-Ressourcen Standardmäßig wird es an eine VM des Dataproc-Clusters, um Cloud Data Fusion Zugriff zu gewähren Dataproc-Ressourcen während einer Pipelineausführung

Sie können ein benutzerdefiniertes Dienstkonto auswählen, das an Dataproc angehängt werden soll beim Erstellen einer Cloud Data Fusion-Instanz oder durch Erstellen eines neuen Clusters Compute-Profile in der Weboberfläche von Cloud Data Fusion

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 vom Nutzer verwaltetes benutzerdefiniertes Dienstkonto Cloud Data Fusion-Instanzen und weisen diesem Konto eine Rolle zu. Danach können Sie dieses Dienstkonto beim Erstellen neuer Instanzen auswählen.

Rolle „Cloud Data Fusion-Ausführer“

In dem Projekt, das die Cloud Data Fusion-Instanz enthält, gilt für beide Standardtypen und nutzerverwalteten benutzerdefinierten Dienstkonten gewähren Sie dem Cloud Data Fusion-Runner Rolle (datafusion.runner)

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

Rolle "Dienstkontonutzer"

Für das Standarddienstkonto oder das vom Nutzer verwaltete Dienstkonto im Projekt, in dem Dataproc-Cluster werden gestartet, wenn Sie Pipelines ausführen. Weisen Sie dem Rolle "Cloud Data Fusion-Dienstkonto" – Dienstkontonutzer (roles/iam.serviceAccountUser).

Weitere Informationen finden Sie unter Dienstkontoberechtigungen gewähren.

Dataproc-Worker-Rolle

Gewähren Sie dem Dataproc-Worker Zugriff, um die Jobs in Dataproc-Clustern auszuführen Rolle (roles/dataproc.worker) auf den Standarddienst oder den vom Nutzer verwalteten Dienst Konten, die von Ihren Cloud Data Fusion-Pipelines verwendet werden.

Rollen für Nutzer

Zum Auslösen eines Vorgangs in Cloud Data Fusion müssen Sie (das Hauptkonto) die erforderlichen Berechtigungen haben. Einzelne Berechtigungen sind in Rollen gruppiert dem Hauptkonto Rollen zu gewähren.

Wenn RBAC nicht aktiviert ist oder Sie eine Cloud Data Fusion-Version verwenden, die unterstützt RBAC nicht, Nutzer mit einem Cloud Data Fusion-IAM Rolle uneingeschränkten Zugriff auf das Cloud Data Fusion-Web haben . 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 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
  • 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 im Cloud Data Fusion-Web entwerfen können Sie Funktionen wie Wrangler oder Preview verwenden, mit denen auf Ressourcen in anderen Projekten zugreifen.

In den folgenden Abschnitten wird beschrieben, wie Sie das Dienstkonto in Ihrem und erteile dann die entsprechenden Berechtigungen.

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

Gehen Sie wie folgt vor, um die Rollen zu gewähren, die Zugriff auf verschiedene Ressourcen gewähren: diese Schritte:

  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. Cloud Data Fusion-Dienstkonto Rollen für das Ziel gewähren Ressource in dem Projekt, in dem die Zielressource vorhanden ist.

Nachdem Sie die Rollen gewährt haben, können Sie hier auf Ressourcen in einem anderen Projekt zugreifen: Designzeit auf die gleiche Weise nutzen, wie Sie auf Ressourcen in dem Projekt zugreifen, befindet.

Zur Ausführungszeit 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 Ausführungszeit.

Zum Zeitpunkt der Ausführung führen Sie die Pipeline in einem Dataproc-Dienst aus. Cluster, der auf Ressourcen in anderen Projekten zugreifen kann. Standardmäßig enthält der Parameter Der Dataproc-Cluster selbst wird im selben Projekt gestartet wie Cloud Data Fusion-Instanz. Sie können aber auch Cluster in einer anderen Projekt arbeiten.

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

  1. Bestimmen Sie das Dienstkonto für Ihr Projekt.
  2. Weisen Sie in dem Projekt, in dem sich die Ressource befindet, IAM-Rollen zu. dem Compute Engine-Standarddienstkonto, um diesem Zugriff in einem anderen Projekt.

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 benötigt folgende Berechtigungen: auf Ressourcen in einem anderen Projekt zugreifen können. 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 erforderlich, um den Cloud Data Fusion API

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