Strikten „Act-as“-Modus verwenden

Im strengen „Act-as“-Modus wird eine zusätzliche Sicherheitsprüfung für die folgenden Nutzeraktionen in Dataform durchgeführt:

  • Repository erstellen oder aktualisieren
  • Workflowkonfiguration erstellen oder aktualisieren
  • Workflow-Aufruf erstellen
  • Releasekonfiguration aktualisieren

Für diese zusätzliche Sicherheitsprüfung muss der Nutzer, der diese Aktionen ausführt, die Berechtigung iam.serviceAccounts.actAs für das effektive Dienstkonto haben. Das ist der Dienst-Agent oder das Dienstkonto, dessen Anmeldedaten zum Ausführen von Workflows verwendet werden. Weitere Informationen finden Sie unter Dienstkonten an Ressourcen anhängen.

Sie haben folgende Möglichkeiten, diesen Modus zu aktivieren:

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) für das benutzerdefinierte Dienstkonto zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Gültiges Dienstkonto ermitteln

Das effektive Dienstkonto, mit dem die Workflows ausgeführt werden, richtet sich nach dem Ressourcentyp und den folgenden Bedingungen:

Ressourcentyp Gültiges Dienstkonto
Repositories

Wenn Sie beim Erstellen des Repositorys ein benutzerdefiniertes Dienstkonto auswählen, wird das Repository.ServiceAccount-Dienstkonto verwendet.

Andernfalls wird standardmäßig der Dataform-Dienst-Agent verwendet.

Workflowkonfiguration

Sie können ein benutzerdefiniertes Dienstkonto auswählen, wenn Sie die Workflowkonfiguration erstellen.

Andernfalls wird standardmäßig der Dataform-Dienst-Agent des Repositorys verwendet.

Workflow-Aufruf

Wenn das Kompilierungsergebnis WORKFLOW_CONFIG ist, wird das effektive Dienstkonto der Workflowkonfiguration verwendet.

Wenn Sie einen Workflow-Aufruf aus einem Kompilierungsergebnis erstellen, wird das WorkflowInvocation.InvocationConfig-Dienstkonto verwendet, sofern es festgelegt ist.

Andernfalls wird standardmäßig der Dataform-Dienst-Agent des Repositorys verwendet.

IAM-Rolle „Dienstkontonutzer“ zuweisen

Die Rolle Dienstkontonutzer (roles/iam.serviceAccountUser) enthält die Berechtigung iam.serviceAccounts.actAs, die für den strengen „Act-as“-Modus erforderlich ist. Wenn Sie die Dataform API verwenden, muss Ihnen die Rolle „Dienstkontonutzer“ für das effektive Dienstkonto basierend auf der projects.locations.repositories-Methode, die Sie aufrufen, zugewiesen sein:

  • create oder patch
    • Wenn die Property Repository.ServiceAccount festgelegt ist, sollten Sie die Rolle „Dienstkontonutzer“ für diese Property haben.
    • Wenn Sie die Methode patch aufrufen, sollten Sie die Rolle „Dienstkontonutzer“ für alle effektiven Dienstkonten in allen Workflowkonfigurationen im Repository haben.
  • workflowConfigs.create oder workflowConfigs.patch
    • Sie sollten die Rolle „Dienstkontonutzer“ für das effektive Dienstkonto haben, das in der Workflowkonfiguration verwendet wird.
  • releaseConfigs.patch
    • Sie sollten die Rolle „Dienstkontonutzer“ für alle effektiven Dienstkonten haben, die in den Workflowkonfigurationen mit dieser Release-Konfiguration verwendet werden.
  • workflowInvocations.create
    • Sie sollten die Rolle „Dienstkontonutzer“ für das effektive Dienstkonto haben, das beim Aufrufen des Workflows verwendet wird.

Weitere Informationen finden Sie unter Erforderliche Rollen zum Erstellen einer Workflowkonfiguration und Erforderliche Rollen zum Erstellen einer Releasekonfiguration.

Automatische Releases für Repositories

Wenn der act-as-Modus aktiviert ist, sind automatische Releases für Release-Konfigurationen von Dataform-Repositories deaktiviert. Dies gilt nicht für Repositories, die mit Drittanbieter-Repositories verbunden sind.

Wenn Sie den Modus „Als Nutzer handeln“ aktivieren, wird außerdem geprüft, ob für das Repository eine automatische Releasekonfiguration mit dem Cron-Zeitplan festgelegt ist. Dies gilt nicht für Repositories, die mit Drittanbieter-Repositories verbunden sind.

Nächste Schritte

  • Informationen zum Erstellen eines Repositorys finden Sie unter Repository erstellen.
  • Weitere Informationen zur Verwendung von Dataform mit BigQuery finden Sie unter Workflows.
  • Informationen zum Erstellen einer Workflowkonfiguration finden Sie unter Läufe planen.
  • Informationen zum Erstellen einer Releasekonfiguration finden Sie unter Kompilierungen konfigurieren.