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:
Auf Repository-Ebene, um alle Workflows in einem bestimmten Repository auszuführen.
Individuell für jede Workflowkonfiguration.
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:
- BigQuery-Dateneditor für Projekte, für die Dataform sowohl Lese- als auch Schreibzugriff benötigt. Sie enthalten in der Regel das Projekt, in dem Ihr Dataform-Repository gehostet wird.
- BigQuery Data Viewer für Projekte, auf die Dataform Lesezugriff benötigt.
- BigQuery-Jobnutzer für das Projekt, in dem Ihr Dataform-Repository gehostet wird.
- BigQuery-Dateninhaber, wenn Sie BigQuery-Datasets abfragen möchten.
- BigQuery-Rollen für die Zugriffssteuerung auf Spaltenebene, wenn Sie BigQuery-Richtlinien-Tags verwenden möchten.
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
Öffnen Sie in der Google Cloud Console die Seite Dataform.
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:
Öffnen Sie in der Google Cloud Console die Seite IAM.
Klicken Sie auf Zugriff gewähren.
Geben Sie im Feld Neue Hauptkonten die Dienstkonto-ID ein.
Wählen Sie im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Jobnutzer aus.
Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Datenbearbeiter aus.
Klicken Sie auf Weitere Rolle hinzufügen und wählen Sie dann im Drop-down-Menü Rolle auswählen die Rolle BigQuery-Datenbetrachter aus.
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:
Klicken Sie in der Google Cloud Console auf IAM > Dienstkonten.
Wählen Sie ein Projekt aus.
Wählen Sie auf der Seite Dienstkonten für das Projekt „YOUR_PROJECT_NAME“ Ihr benutzerdefiniertes Dataform-Dienstkonto aus.
Klicken Sie auf Berechtigungen und dann auf Zugriff gewähren.
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
Wählen Sie im Drop-down-Menü Rolle auswählen die Rolle Ersteller von Dienstkonto-Tokens aus.
Klicken Sie auf Speichern.
Nächste Schritte
- Weitere Informationen zu IAM-Rollen und ‑Berechtigungen in BigQuery finden Sie unter Zugriffssteuerung mit IAM.
- Weitere Informationen zum Gewähren detaillierter Berechtigungen für BigQuery-Datasets finden Sie unter Zugriff auf Datasets steuern.
- Weitere Informationen zum Gewähren detaillierter Berechtigungen für BigQuery-Tabellen finden Sie unter Zugriff auf Tabellen und Ansichten steuern.
- Informationen zum Steuern des Dataform-Zugriffs mit VPC Service Controls finden Sie unter VPC Service Controls für Dataform konfigurieren.