Zugriff mit IAM steuern

In Workflows wird Identity and Access Management (IAM) verwendet, 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 Workflow-Ressourcen beginnen, sollten Sie die grundlegenden Konzepte von IAM kennen.

Auf dieser Seite werden die Berechtigungen beschrieben, die für den Zugriff auf Workflow-Ressourcen erforderlich sind, einschließlich der Möglichkeit, Workflowausführungen aufzurufen.

Informationen zum Gewähren von Berechtigungen für Workflows zum 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 Rollen von Workflows zu verstehen. Eine Rolle ist eine Sammlung von Berechtigungen, die Zugriff auf Ressourcen in Google Cloud gewähren. Gewähren Sie einem Dienstkonto beim Erstellen einer Produktionsanwendung nur diejenigen Rollen, die für die Interaktion mit den entsprechenden APIs, Features oder Ressourcen von Google Cloud erforderlich sind.

Weitere Informationen zu den verfügbaren Workflows-Rollen finden Sie unter Rollen und Berechtigungen für Workflows.

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 dann anderen Hauptkonten 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 beispielsweise einem Dienstkonto die Rolle workflows.invoker zuweisen, damit das Konto die Berechtigung zum Auslösen der Workflowausführung hat. Sie können dann einem Hauptkonto erlauben, sich als Ihr Dienstkonto auszugeben oder als solches zu agieren. 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ätswechsel für Dienstkonten.

So weisen Sie dem Dienstkonto des Dienstes, der Workflows aufruft, die Rolle „Workflows Invoker“ (roles/workflows.invoker) zu, damit der Dienst Workflows ausführen und die Ausführungen verwalten kann:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
    Dienstkonten aufrufen

  2. Wählen Sie ein Projekt aus und klicken Sie auf Dienstkonto erstellen.

  3. Geben Sie im Feld Name des Dienstkontos einen Namen ein, z. B. sa-name.

  4. Klicken Sie auf Erstellen und fortfahren.

  5. Wählen Sie in der Liste Rolle auswählen die Option Workflows > Workflows Invoker aus.

  6. Klicken Sie auf Fertig.

gcloud

  1. Öffnen Sie ein Terminalfenster.

  2. 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 ist die ID Ihres Google Cloud-Projekts.
    • SERVICE_ACCOUNT_NAME ist der Name des Dienstkontos.