Der strenge Modus „Als… ausführen“ ermöglicht eine zusätzliche Sicherheitsprüfung für die folgenden Nutzeraktionen in Dataform:
- Repository erstellen oder aktualisieren
- Workflowkonfiguration erstellen oder aktualisieren
- Workflowaufruf 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 das Dienstkonto, dessen Anmeldedaten zum Ausführen von Workflows verwendet werden. Weitere Informationen zu Dienstkonten finden Sie unter Dienstkonten an Ressourcen anhängen.
Sie haben folgende Möglichkeiten, diesen Modus zu aktivieren:
- Beim Erstellen eines Repositorys
- Vorhandenes Repository mit dem Repository-Flag
strict_act_as_checks
aktualisieren
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 für die Durchführung 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
Sie können das effektive Dienstkonto, das die Workflows ausführt, anhand des Ressourcentyps und der folgenden Bedingungen ermitteln:
Ressourcentyp | Gültiges Dienstkonto |
---|---|
Repositories | Wenn Sie beim Erstellen des Repositories ein Dienstkonto auswählen, wird das Dienstkonto Andernfalls wird standardmäßig das Dataform-Dienstkonto verwendet. |
Workflowkonfiguration | Sie können ein Dienstkonto auswählen, wenn Sie die Workflowkonfiguration erstellen. Andernfalls wird standardmäßig das Dataform-Dienstkonto des Repositories verwendet. |
Workflowaufruf | Wenn das Kompilierungsergebnis Wenn Sie eine Workflowausführung aus einem Kompilierungsergebnis erstellen, wird das Andernfalls wird standardmäßig das Dataform-Dienstkonto des Repositories verwendet. |
IAM-Rolle „Dienstkontonutzer“ gewähren
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 dem effektiven Dienstkonto die Rolle „Dienstkontonutzer“ basierend auf der aufgerufenen projects.locations.repositories
-Methode zugewiesen sein:
create
oderpatch
- Wenn die Property
Repository.ServiceAccount
festgelegt ist, sollte für diese Property die Rolle „Dienstkontonutzer“ zugewiesen sein. - Wenn Sie die Methode
patch
aufrufen, sollte die Rolle „Dienstkontonutzer“ für alle effektiven Dienstkonten in allen Workflowkonfigurationen im Repository gewährt werden.
- Wenn die Property
workflowConfigs.create
oderworkflowConfigs.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 bei der Workflowausführung verwendet wird.
Weitere Informationen finden Sie unter Erforderliche Rollen zum Erstellen einer Workflowkonfiguration und Erforderliche Rollen zum Erstellen einer Release-Konfiguration.
Automatische Releases für Repositories
Wenn der actAs-Modus aktiviert ist, sind automatische Releases für Releasekonfigurationen des Dataform-Repositories deaktiviert. Dies gilt nicht für Repositories, die mit Repositories von Drittanbietern verbunden sind.
Wenn Sie den „Act-as“-Modus aktivieren, wird außerdem geprüft, ob für das Repository eine automatische Release-Konfiguration mit dem Cron-Zeitplan festgelegt ist. Dies gilt nicht für Repositories, die mit Repositories von Drittanbietern verbunden sind.
Nächste Schritte
- Weitere Informationen zum Erstellen eines Repositorys finden Sie unter Repository erstellen.
- Informationen zum Erstellen einer Workflowkonfiguration finden Sie unter Ausführungen planen.
- Informationen zum Erstellen einer Releasekonfiguration finden Sie unter Kompilationen konfigurieren.