Dataform erforderlichen Zugriff gewähren

In diesem Dokument erfahren Sie, wie Sie den Dataform-Dienstkonten die IAM-Rollen (Identity and Access Management) zuweisen, die zum Ausführen von Workflows in BigQuery erforderlich sind.

Dienstkonten in Dataform

Wenn Sie Ihr erstes Dataform-Repository erstellen, generiert Dataform automatisch ein Standarddienstkonto. Dataform verwendet das Standarddienstkonto, um in Ihrem Namen mit BigQuery zu interagieren. Dem Standarddienstkonto von Dataform werden standardmäßig keine BigQuery-Rollen oder ‑Berechtigungen zugewiesen. Sie müssen dem Standard-Dataform-Dienstkonto den erforderlichen Zugriff gewähren.

Die ID des Standard-Dataform-Dienstkontos hat das folgende Format:

service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com

Ersetzen Sie YOUR_PROJECT_NUMBER durch die numerische ID Ihres Projekts.Google Cloud Sie finden Ihre Google Cloud Projekt-ID im Google Cloud Console-Dashboard. Weitere Informationen finden Sie unter Projekte identifizieren.

Neben dem standardmäßigen Dataform-Dienstkonto können Sie auch andere Dienstkonten verwenden, um Workflows in Ihrem Namen auszuführen. Sie können benutzerdefinierte Dienstkonten so konfigurieren:

Wenn Sie ein Dataform-Repository oder eine Workflowkonfiguration erstellen, können Sie jedes Dienstkonto auswählen, das mit Ihrem Google Cloud-Projekt verknüpft ist und auf das Sie Zugriff haben. Sie müssen die erforderlichen Berechtigungen für alle Dienstkonten konfigurieren, die mit Ihren Dataform-Ressourcen verknüpft sind.

Ein benutzerdefiniertes Dienstkonto, das mit einem Dataform-Repository verknüpft ist, wird nur zum Ausführen von Workflows aus diesem Repository verwendet. Alle anderen Repository-Vorgänge werden weiterhin vom standardmäßigen Dataform-Dienstkonto ausgeführt.

Erforderliche Rollen für Dataform-Dienstkonten

Für Standard- und benutzerdefinierte Dienstkonten, die in Dataform verwendet werden, sind die folgenden BigQuery-IAM-Rollen erforderlich, um Workflows in BigQuery ausführen zu können:

Außerdem müssen Sie dem standardmäßigen Dataform-Dienstkonto die Rolle Ersteller von Dienstkonto-Tokens(roles/iam.serviceAccountTokenCreator) für alle benutzerdefinierten Dienstkonten zuweisen, die Sie in Dataform verwenden möchten.

Sicherheitsaspekte für Dataform-Dienstkonten

Wenn Sie einem Dienstkonto die von Dataform erforderlichen Rollen zuweisen, sind die folgenden Sicherheitsaspekte zu beachten:

  • Jedem Dienstkonto, dem die erforderlichen Rollen zugewiesen wurden, kann unabhängig von den VPC-Dienststeuerungen Zugriff auf BigQuery oder Secret Manager im Projekt gewährt werden, zu dem das Dienstkonto gehört.

    Weitere Informationen finden Sie unter VPC Service Controls für Dataform konfigurieren.

  • Jeder Nutzer mit der IAM-Berechtigung dataform.repositories.create kann Code mit dem standardmäßigen Dataform-Dienstkonto und allen diesem Dienstkonto zugewiesenen Berechtigungen ausführen.

    Weitere Informationen finden Sie unter Sicherheitsaspekte für Berechtigungen für Dataform.

Wenn Sie einschränken möchten, welche Daten ein Nutzer oder ein Dienstkonto in BigQuery lesen oder schreiben kann, können Sie ausgewählten BigQuery-Datasets oder -Tabellen detaillierte BigQuery-IAM-Berechtigungen erteilen. Weitere Informationen finden Sie unter Zugriff auf Datasets steuern und Zugriff auf Tabellen und Ansichten steuern.

Hinweis

  1. Öffnen Sie in der Google Cloud Console die Seite Dataform.

    Zur Seite „Dataform“

  2. Wählen Sie ein Repository aus oder erstellen Sie ein neues.

Erforderliche BigQuery-Rollen für ein in Dataform verwendetes Dienstkonto gewähren

So gewähren Sie Ihrem Standard-Dataform-Dienstkonto oder einem benutzerdefinierten Dienstkonto, das Sie in Dataform verwenden möchten, die erforderlichen BigQuery-IAM-Rollen:

  1. Öffnen Sie in der Google Cloud Console die Seite IAM.

    Zur IAM-Seite

  2. Klicken Sie auf Zugriff gewähren.

  3. Geben Sie im Feld Neue Hauptkonten die Dienstkonto-ID ein.

  4. Wählen Sie im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Jobnutzer aus.

  5. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Datenbearbeiter aus.

  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Datenbetrachter aus.

  7. Klicken Sie auf Speichern.

Zugriff auf die Tokenerstellung für ein benutzerdefiniertes Dienstkonto gewähren

Wenn Sie ein benutzerdefiniertes Dienstkonto in Dataform verwenden möchten, muss das standardmäßige Dataform-Dienstkonto auf das benutzerdefinierte Dienstkonto zugreifen können. Um diesen Zugriff zu gewähren, müssen Sie dem benutzerdefinierten Dienstkonto das standardmäßige Dataform-Dienstkonto als Hauptkonto mit der Rolle Ersteller von Dienstkonto-Tokens hinzufügen.

So gewähren Sie dem standardmäßigen Dataform-Dienstkonto Zugriff auf ein benutzerdefiniertes Dienstkonto:

  1. Klicken Sie in der Google Cloud Console auf IAM > Dienstkonten.

    Gehen Sie zur Seite Dienstkonten.

  2. Wählen Sie ein Projekt aus.

  3. Wählen Sie auf der Seite Dienstkonten für das Projekt „YOUR_PROJECT_NAME Ihr benutzerdefiniertes Dataform-Dienstkonto aus.

  4. Klicken Sie auf Berechtigungen und dann auf Zugriff gewähren.

  5. Geben Sie im Feld Neue Hauptkonten die ID Ihres Standard-Dataform-Dienstkontos ein.

    Die ID des Standard-Dataform-Dienstkontos hat das folgende Format:

    service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  6. Wählen Sie im Drop-down-Menü Rolle auswählen die Rolle Ersteller von Dienstkonto-Tokens aus.

  7. Klicken Sie auf Speichern.

Nächste Schritte