Dataform den erforderlichen Zugriff gewähren

In diesem Dokument erfahren Sie, wie Sie die IAM-Rollen (Identity and Access Management) gewähren, die für Dataform-Dienstkonten 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 Dataform-Standarddienstkonto werden standardmäßig keine BigQuery-Rollen oder -Berechtigungen gewährt. Sie müssen dem Dataform-Standarddienstkonto den erforderlichen Zugriff gewähren.

Die standardmäßige Dataform-Dienstkonto-ID hat das folgende Format:

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

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

Zusätzlich zum Dataform-Standarddienstkonto können Sie andere Dienstkonten verwenden, um Workflows in Ihrem Namen auszuführen. Sie können benutzerdefinierte Dienstkonten konfigurieren:

Wenn Sie ein Dataform-Repository oder eine Workflowkonfiguration erstellen, können Sie ein beliebiges 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 Dataform-Standarddienstkonto ausgeführt.

Erforderliche Rollen für Dataform-Dienstkonten

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

Darüber hinaus müssen Sie dem Dataform-Standarddienstkonto Service Account Token Creator(roles/iam.serviceAccountTokenCreator) Zugriff auf alle benutzerdefinierten Dienstkonten gewähren, die Sie in Dataform verwenden möchten.

Sicherheitsaspekte für Dataform-Dienstkonten

Die Zuweisung der von Dataform erforderlichen Rollen zu einem Dienstkonto umfasst die folgenden Sicherheitsaspekte:

  • Jedes Dienstkonto, dem die erforderlichen Rollen zugewiesen sind, kann unabhängig von VPC Service Controls Zugriff auf BigQuery oder Secret Manager erhalten.

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

  • Jeder Nutzer mit der IAM-Berechtigung dataform.repositories.create kann mit dem Dataform-Standarddienstkonto und allen diesem Dienstkonto gewährten Berechtigungen Code ausführen.

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

Wenn Sie die Daten einschränken möchten, die ein Nutzer oder 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.

Hinweise

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zur Seite „Dataform“

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

Einem in Dataform verwendeten Dienstkonto die erforderlichen BigQuery-Rollen zuweisen

So weisen Sie Ihrem Dataform-Standarddienstkonto oder einem benutzerdefinierten Dienstkonto, das Sie in Dataform verwenden möchten, die erforderlichen BigQuery-IAM-Rollen zu:

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

    Zur Seite „IAM“

  2. Klicken Sie auf Zugriff erlauben.

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

  4. Wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Jobnutzer aus.

  5. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Datenbearbeiter aus.

  6. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Datenbetrachter aus.

  7. Klicken Sie auf Speichern.

Einem benutzerdefinierten Dienstkonto Zugriff auf die Tokenerstellung gewähren

Damit Sie ein benutzerdefiniertes Dienstkonto in Dataform verwenden können, muss das Dataform-Standarddienstkonto auf das benutzerdefinierte Dienstkonto zugreifen können. Um diesen Zugriff zu gewähren, müssen Sie dem benutzerdefinierten Dienstkonto das Dataform-Standarddienstkonto als Hauptkonto mit der Rolle Service Account Token Creator hinzufügen.

So gewähren Sie dem Dataform-Standarddienstkonto Zugriff auf ein benutzerdefiniertes Dienstkonto:

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

    Zur Seite Dienstkonten

  2. Wählen Sie ein Projekt aus.

  3. Wählen Sie auf der Seite Dienstkonten für Projekt YOUR_PROJECT_NAME ein Dienstkonto aus.

  4. Gehen Sie zu Berechtigungen und klicken Sie dann auf Zugriff gewähren.

  5. Geben Sie im Feld Neue Hauptkonten die standardmäßige Dataform-Dienstkonto-ID ein.

  6. Wählen Sie in der Drop-down-Liste Rolle auswählen die Rolle Ersteller von Dienstkonto-Tokens aus.

  7. Klicken Sie auf Speichern.

Nächste Schritte