Dataform den erforderlichen Zugriff gewähren

In diesem Dokument erfahren Sie, wie Sie die für Dataform erforderlichen IAM-Rollen (Identity and Access Management) Dienstkonten verwenden, um Workflows in BigQuery auszuführen.

Dienstkonten in Dataform

Wenn Sie Ihr erstes Dataform-Repository erstellen, wird automatisch ein Standarddienstkonto erstellt. Dataform verwendet die Standarddienstkonto, um in Ihrem Namen mit BigQuery zu interagieren. Dem Dataform-Standarddienstkonto wurden keine Berechtigungen gewährt BigQuery-Rollen oder -Berechtigungen. Sie müssen den erforderlichen Zugriff auf das Dataform-Standarddienstkonto.

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 Ihrer Google Cloud-Projekt Ihre Google Cloud-Projekt-ID finden Sie in der Dashboard der Google Cloud Console Weitere Informationen finden Sie unter Projekte identifizieren.

Neben dem Dataform-Standarddienstkonto können Sie Folgendes verwenden: andere Dienstkonten verwenden, um Workflows in Ihrem Namen auszuführen. Sie können benutzerdefinierte Dienstkonten:

Wenn Sie ein Dataform-Repository oder eine Workflowkonfiguration erstellen, können Sie Wählen Sie ein mit Ihrem Google Cloud-Projekt verknüpftes Dienstkonto aus, auf die Sie zugreifen können. Sie müssen die erforderlichen Berechtigungen für alle Dienstkonten konfigurieren die mit Ihren Dataform-Ressourcen verknüpft sind.

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

Erforderliche Rollen für Dataform-Dienstkonten

Für Standard- und benutzerdefinierte Dienstkonten, die in Dataform verwendet werden, ist die IAM-Rollen hinzugefügt werden, Workflows in BigQuery:

Außerdem müssen Sie das Dataform-Standarddienstkonto gewähren Ersteller von Dienstkonto-Token(roles/iam.serviceAccountTokenCreator) Zugriff auf alle benutzerdefinierten Dienstkonten, die Sie in Dataform verwenden möchten.

Sicherheitsaspekte für Dataform-Dienstkonten

Einem Dienstkonto die von Dataform erforderlichen Rollen zuweisen bringt die folgenden Sicherheitsaspekte mit sich:

  • Jedes Dienstkonto, dem die erforderlichen Rollen gewährt wurden, kann Zugriff auf BigQuery oder Secret Manager im Projekt dieses Dienstkontos unabhängig von VPC Service Controls.

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

  • Jeder Nutzer mit dem IAM dataform.repositories.create Berechtigung kann Code mit dem Dataform-Standarddienst ausführen Konto und alle Berechtigungen, die diesem Dienstkonto gewährt wurden.

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

Um die Daten einzuschränken, die ein Nutzer oder ein Dienstkonto lesen oder schreiben kann können Sie in BigQuery detaillierte BigQuery-IAM-Berechtigungen auf ausgewählte BigQuery-Datasets oder -Tabellen. 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 Konto die erforderlichen BigQuery-IAM-Rollen zu: Dataform-Standarddienstkonto oder ein benutzerdefiniertes Dienstkonto die Sie in Dataform verwenden möchten, gehen Sie so vor:

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

    Zur IAM-Seite

  2. Klicken Sie auf Zugriff erlauben.

  3. Geben Sie in das Feld Neue Hauptkonten den Dienstkonto-ID.

  4. Wähle in der Drop-down-Liste Rolle auswählen die gewünschte Rolle aus. BigQuery-Jobnutzer.

  5. Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann in der Drop-down-Liste Rolle auswählen Folgendes aus: Wählen Sie 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 Folgendes aus: Wählen Sie 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, ist die Standardeinstellung Das Dataform-Dienstkonto muss auf den benutzerdefinierten Dienst zugreifen können Konto. Um diesen Zugriff zu gewähren, müssen Sie das Standard-Dataform hinzufügen Dienstkonto als Hauptkonto für das benutzerdefinierte Dienstkonto mit der Rolle Ersteller von Dienstkonto-Tokens:

So gewähren Sie dem Dataform-Standarddienstkonto Zugriff auf ein benutzerdefiniertes Dienstkonto besteht, gehen Sie so vor:

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

    Zur Seite Dienstkonten

  2. Wählen Sie ein Projekt aus.

  3. Gehen Sie auf der Seite Dienstkonten für Projekt „YOUR_PROJECT_NAME so vor: und wählen Sie 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 Ihr Standard-Dataform-Objekt ein Dienstkonto-ID.

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

    service-YOUR_PROJECT_NUMBER@gcp-sa-dataform.iam.gserviceaccount.com
    
  6. Wähle in der Drop-down-Liste Rolle auswählen die gewünschte Rolle aus. Rolle Ersteller von Dienstkonto-Tokens:

  7. Klicken Sie auf Speichern.

Nächste Schritte