Dataform den erforderlichen Zugriff gewähren

In diesem Dokument erfahren Sie, wie Sie die IAM-Rollen (Identity and Access Management) gewähren, die 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 den erforderlichen Zugriff auf das Dataform-Standarddienstkonto gewähren.

Ihre 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. Sie finden Ihre Google Cloud-Projekt-ID 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 mit Ihrem Google Cloud-Projekt verknüpftes Dienstkonto auswählen, 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

Standardmäßige 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 allen benutzerdefinierten Dienstkonten, die Sie in Dataform verwenden möchten, dem Dataform-Standarddienstkonto Ersteller von Dienstkonto-Tokens(roles/iam.serviceAccountTokenCreator) Zugriff gewähren.

Sicherheitsaspekte für Dataform-Dienstkonten

Die Zuweisung der von Dataform erforderlichen Rollen für ein Dienstkonto erfordert die folgenden Sicherheitsaspekte:

  • Jedes Dienstkonto, dem die erforderlichen Rollen zugewiesen sind, kann Zugriff auf BigQuery oder Secret Manager in dem Projekt erhalten, zu dem das Dienstkonto gehört, unabhängig von VPC Service Controls.

    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 Dataform-Standarddienstkonto und allen diesem Dienstkonto erteilten Berechtigungen ausführen.

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

Um die Daten einzuschränken, die ein Nutzer oder ein Dienstkonto in BigQuery lesen oder schreiben kann, können Sie ausgewählten BigQuery-Datasets oder -Tabellen detaillierte BigQuery-IAM-Berechtigungen gewähren. Weitere Informationen finden Sie unter Zugriff auf Datasets steuern und Zugriff auf Tabellen und Ansichten steuern.

Hinweise

  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 Repository.

Dienstkonto in Dataform die erforderlichen BigQuery-Rollen gewähren

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 dann in der Drop-down-Liste Rolle auswählen die Rolle BigQuery-Dateneditor aus.

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

  7. Klicken Sie auf Speichern.

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

Damit Sie ein benutzerdefiniertes Dienstkonto in Dataform verwenden können, muss das Dataform-Standarddienstkonto Zugriff auf das benutzerdefinierte Dienstkonto haben. Fügen Sie dem benutzerdefinierten Dienstkonto das Dataform-Standarddienstkonto als Hauptkonto mit der Rolle Ersteller von Dienstkonto-Token hinzu, um diesen Zugriff zu gewähren.

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 Ihr benutzerdefiniertes Dataform-Dienstkonto aus.

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

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

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

    service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  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