Der private Aufruf von Compute Engine, Google Kubernetes Engine (GKE) oder eines anderen Google Cloud-Endpunkts aus Workflows erfolgt über eine HTTP-Anfrage. Die gängigsten HTTP-Anfragemethoden haben eine Aufrufverknüpfung (z. B. http.get und http.post). Sie können jedoch jede Art von HTTP-Anfrage senden. Dazu geben Sie für das Feld call
den Wert http.request
an und geben den Anfragetyp im Feld method
an. Weitere Informationen finden Sie unter HTTP-Anfrage stellen.
IAP aktivieren
Sie müssen Identity-Aware Proxy (IAP) für den privaten Endpunkt aktivieren, damit Workflows den Endpunkt aufrufen können. Mit IAP werden Richtlinien zur Zugriffssteuerung erzwungen. Außerdem können Sie damit eine zentrale Autorisierungsebene für Anwendungen einrichten, auf die über HTTPS zugegriffen wird. So können Sie ein Zugriffssteuerungsmodell auf Anwendungsebene verwenden, anstatt sich auf Firewalls auf Netzwerkebene zu verlassen. Weitere Informationen finden Sie in der Übersicht zu IAP und in den folgenden Artikeln:
- IAP für App Engine aktivieren
- IAP für Cloud Run aktivieren
- IAP für Compute Engine aktivieren
- IAP für GKE aktivieren
- IAP für lokale Anwendungen aktivieren
Erstellen Sie ein Dienstkonto mit den erforderlichen Berechtigungen.
Wenn Sie Anfragen an andere Google Cloud-Dienste senden, muss Ihr Workflow mit einem Dienstkonto verknüpft werden, dem eine oder mehrere IAM-Rollen (Identity and Access Management) mit den erforderlichen Berechtigungen für den Zugriff auf die angeforderten Ressourcen gewährt wurden. Informationen dazu, welches Dienstkonto mit einem vorhandenen Workflow verknüpft ist, finden Sie unter Workflow eines verknüpften Dienstkontos überprüfen.
Beim Einrichten eines Dienstkontos verknüpfen Sie die anfragende Identität mit der Ressource, der Sie Zugriff gewähren möchten. Sie machen die anfragende Identität zu einem Hauptkonto oder Nutzer der Ressource und weisen ihr dann die entsprechende Rolle zu. Die Rolle definiert, welche Berechtigungen die Identität im Kontext der Ressource hat. Wenn eine Anwendung oder Ressource durch IAP geschützt ist, können nur Hauptkonten mit der richtigen Rolle über den Proxy darauf zugreifen.
Nach der Authentifizierung wendet IAP beispielsweise die entsprechende Richtlinie zum Zulassen an, um zu prüfen, ob das Hauptkonto Zugriff auf die angeforderte Ressource hat. Wenn das Hauptkonto die Rolle Nutzer von IAP-gesicherten Web-Apps (roles/iap.httpsResourceAccessor
) im Google Cloud Console-Projekt hat, in dem sich die Ressource befindet, ist es berechtigt, auf die Anwendung zuzugreifen.
Sie können den Zugriff auf Ihre IAP-gesicherte Ressource über die IAP-Seite konfigurieren, indem Sie das Workflows-Dienstkonto als Hauptkonto hinzufügen. Weitere Informationen finden Sie unter Zugriff auf IAP-gesicherte Ressourcen verwalten.
Authentifizierungsinformationen zum Workflow hinzufügen
Standardmäßig enthalten HTTP-Anfragen aus Sicherheitsgründen keine Identitäts- oder Zugriffstokens. Sie müssen der Workflow-Definition explizit Authentifizierungsinformationen hinzufügen. Verwenden Sie für Anfragen an einen privaten Endpunkt OIDC zur Authentifizierung über IAP.
Um eine HTTP-Anfrage mit OIDC zu senden, fügen Sie den Abschnitt auth
in den Abschnitt args
der Workflowdefinition ein, nachdem Sie die URL angegeben haben.
YAML
- step_A: call: http.get args: url: https://www.example.com/endpoint body: someValue: "Hello World" anotherValue: 123 auth: type: OIDC audience: OIDC_AUDIENCE
JSON
[ { "step_A": { "call": "http.get", "args": { "url": "https://www.example.com/endpoint", "body": { "someValue": "Hello World", "anotherValue": 123 }, "auth": { "type": "OIDC", "audience": "OIDC_AUDIENCE" } } } } ]
Mit dem Parameter audience
können Sie die OIDC-Zielgruppe für das Token angeben.
Beim Aufrufen eines IAP-fähigen Endpunkts müssen Sie die OAuth 2.0-Client-ID angeben, die Sie für Ihre Anwendung konfiguriert haben. Diese findest du auf der Seite „Anmeldedaten“.
Weitere Informationen
- Workflowberechtigung für den Zugriff auf Google Cloud-Ressourcen erteilen
- Auf in einer Variablen gespeicherte HTTP-Antwortdaten zugreifen