Workflows verwendet Identity and Access Management (IAM), um zu steuern, welche authentifizierten Nutzer und Dienstkonten welche Aktionen ausführen können.
Bevor Sie mit der Authentifizierung und Autorisierung des Zugriffs auf Ihre Workflows-Ressourcen beginnen, sollten Sie sich mit den grundlegenden IAM-Konzepten vertraut machen.
Auf dieser Seite werden die Berechtigungen beschrieben, die für den Zugriff auf Workflows-Ressourcen erforderlich sind, einschließlich der Möglichkeit, Workflow-Ausführungen aufzurufen.
Informationen zum Gewähren von Berechtigungen für Workflows für den Zugriff auf andere Dienste finden Sie unter Zugriff auf Google Cloud Ressourcen für einen Workflow gewähren.
Zugriffssteuerung
Unabhängig davon, wie Sie die Authentifizierung implementieren, ist es wichtig, die Zugriffssteuerung und die verfügbaren Workflows-Rollen zu verstehen. Eine Rolle ist eine Sammlung von Berechtigungen, die Zugriff auf Ressourcen in Google Cloudgewähren. Gewähren Sie einem Dienstkonto beim Erstellen einer Produktionsanwendung nur die Rollen, die für die Interaktion mit den entsprechenden Google Cloud APIs, ‑Funktionen oder ‑Ressourcen erforderlich sind.
Weitere Informationen zu den verfügbaren Workflows-Rollen finden Sie unter Workflows-Rollen und ‑Berechtigungen.
Workflows aufrufen
Ein Dienstkonto ist sowohl eine Identität als auch eine Ressource, die IAM-Richtlinien akzeptiert. Daher können Sie dem Dienstkonto Rollen zuweisen und anderen Prinzipalen erlauben, die Identität des Dienstkontos zu übernehmen, indem Sie ihnen eine Rolle für das Dienstkonto oder eine der übergeordneten Ressourcen des Dienstkontos zuweisen.
Sie können einem Dienstkonto beispielsweise die Rolle workflows.invoker zuweisen, damit das Konto die Berechtigung zum Auslösen Ihrer Workflow-Ausführung hat. Sie können dann einem Hauptkonto erlauben, die Identität Ihres Dienstkontos zu übernehmen oder als Ihr Dienstkonto zu fungieren.
Das Workflow-Dienstkonto benötigt die Rolle workflows.invoker nur, wenn der Workflow sich selbst oder andere Workflows aufruft.
Weitere Informationen zur Übernahme der Identität von Dienstkonten finden Sie unter Identitätsübernahme des Dienstkontos.
So weisen Sie dem Dienstkonto des Dienstes, der Workflows aufruft, die Rolle „Workflows Invoker“ (roles/workflows.invoker) zu, damit der Dienst die Berechtigung hat, Workflows auszuführen und die Ausführungen zu verwalten:
Console
Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
Zu DienstkontenWählen Sie ein Projekt aus und klicken Sie auf Dienstkonto erstellen.
Geben Sie im Feld Name des Dienstkontos einen Namen ein, z. B.
sa-name.Klicken Sie auf Erstellen und fortfahren.
Wählen Sie in der Liste Rolle auswählen die Option Workflows > Workflows-Aufrufer aus.
Klicken Sie auf Fertig.
gcloud
Öffnen Sie ein Terminalfenster.
Geben Sie den folgenden Befehl ein:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --role roles/workflows.invoker
Ersetzen Sie Folgendes:
PROJECT_ID: die ID Ihres Projekts in Google Cloud .SERVICE_ACCOUNT_NAMEist der Name des Dienstkontos.