Zugriff mit IAM steuern

Workflows verwenden Identity and Access Management (IAM), um zu steuern, welche authentifizierten Nutzer und Dienstkonten welche Aktionen ausführen können.

Bevor Sie mit dem Authentifizieren und Autorisieren des Zugriffs auf Ihre Workflow-Ressourcen beginnen, sollten Sie sich mit den grundlegenden Konzepten von IAM vertraut machen.

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 für den Zugriff auf andere Dienste finden Sie unter Workflowberechtigung für den Zugriff auf Google Cloud-Ressourcen gewähren.

Zugriffssteuerung

Unabhängig davon, wie Sie die Authentifizierung implementieren, ist es wichtig, dass Sie die Zugriffssteuerung und die verfügbaren Workflow-Rollen 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 die Rollen, die für die Interaktion mit den entsprechenden APIs, Features oder Ressourcen von Google Cloud erforderlich sind.

Weitere Informationen zu den verfügbaren Workflowrollen 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 ermöglichen, die Identität des Dienstkontos zu übernehmen. Dazu weisen Sie ihnen eine Rolle für das Dienstkonto oder eine der übergeordneten Ressourcen des Dienstkontos zu.

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, die Identität Ihres Dienstkontos zu übernehmen oder als dieses zu fungieren. Beachten Sie, dass das Workflowdienstkonto nicht die Rolle workflows.invoker benötigt, es sei denn, der Workflow ruft sich selbst oder andere Workflows auf.

Weitere Informationen zur Identitätsübernahme von Dienstkonten finden Sie unter Identitätsübernahme von Dienstkonten.

So gewähren Sie dem Dienstkonto des Dienstes, der Workflows aufruft, die Rolle „Workflows Invoker“ (roles/workflows.invoker), damit der Dienst die Berechtigung zum Ausführen von Workflows und Verwalten der Ausführungen hat:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Dienstkonten auf:
    Zur Seite „Dienstkonten“

  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-Aufrufer 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.