Sie können einen privaten lokalen, Compute Engine-, Google Kubernetes Engine- (GKE-) oder anderen Google Cloud-Endpunkt aus Workflows aufrufen, indem Sie Identity-Aware Proxy (IAP) für den Endpunkt aktivieren. IAP wird verwendet, um Richtlinien für die Zugriffssteuerung zu erzwingen, und ermöglicht Ihnen, eine zentrale Autorisierungsebene für Anwendungen einzurichten, auf die über HTTPS zugegriffen wird. ein Zugriffssteuerungsmodell auf Anwendungsebene verwenden, auf Netzwerkebene. Weitere Informationen finden Sie in der Übersicht über IAP und Folgendes:
- 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
Alternativ können Sie einen privaten Endpunkt für HTTP-Aufrufe aus Ihrer Workflowausführung ansteuern, indem Sie die Dienstregistrierung von Service Directory mit Workflows verwenden. Durch Erstellen eines privaten Endpunkts innerhalb einer VPC-Netzwerk (Virtual Private Cloud) kann der Endpunkt VPC Service Controls-kompatibel. Weitere Informationen finden Sie unter Rufen Sie einen VPC Service Controls-konformen privaten Endpunkt auf.
HTTP-Anfrage stellen
Der Aufruf eines privaten Endpunkts über Workflows erfolgt über eine HTTP-Anfrage. Die gängigsten Methoden für HTTP-Anfragen haben eine Aufrufverknüpfung wie http.get und http.post. Sie können aber eine beliebige Methode verwenden, um Typ der HTTP-Anfrage. Dazu setzen Sie das Feld call
auf http.request
und geben den Anfragetyp im Feld method
an. Weitere Informationen finden Sie unter HTTP-Anfrage stellen.
Erstellen Sie ein Dienstkonto mit den erforderlichen Berechtigungen.
Beim Senden von Anfragen an andere Google Cloud-Dienste muss Ihr Workflow mit einem Dienstkonto verknüpft sein, dem eine oder mehrere IAM-Rollen (Identity and Access Management) mit den erforderlichen Berechtigungen für den Zugriff auf die angeforderten Ressourcen zugewiesen wurden. Informationen dazu, welches Dienstkonto mit einem vorhandenen Workflow verknüpft ist, finden Sie unter Verknüpftes Dienstkonto prüfen.
Beim Einrichten eines Dienstkontos verknüpfen Sie die anfragende Identität mit der Ressource, auf die Sie ihr Zugriff gewähren möchten – Sie machen die anfragende Identität zu einer Hauptkonto oder Nutzer der Ressource und weisen Sie 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, Auf sie kann nur über den Proxy von Hauptkonten zugegriffen werden, die die korrekten Rolle.
Nach der Authentifizierung wendet IAP beispielsweise
lässt die Richtlinie zu, um zu prüfen, ob das Hauptkonto berechtigt ist, auf das angeforderte
. Wenn das Hauptkonto die Rolle Nutzer von IAP-gesicherten Web-Apps hat
(roles/iap.httpsResourceAccessor
) im Google Cloud Console-Projekt
an der sich die Ressource befindet, sind sie berechtigt, auf die Anwendung zuzugreifen.
Sie können den Zugriff auf Ihre mit IAP gesicherte Ressource über die IAP-Seite konfigurieren, indem Sie das Workflows-Dienstkonto als Principal hinzufügen. Weitere Informationen Siehe Zugriff auf mit IAP gesicherte Ressourcen verwalten.
Authentifizierungsinformationen zum Workflow hinzufügen
Aus Sicherheitsgründen enthalten HTTP-Anfragen standardmäßig keine Identitäts- oder Zugriffstokens Gründe haben. Sie müssen der Workflow-Definition explizit Authentifizierungsinformationen hinzufügen. Verwenden Sie OIDC zur Authentifizierung, wenn Sie Anfragen an einen privaten Endpunkt senden über IAP verfügbar.
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.
Wenn Sie einen IAP-kompatiblen Endpunkt aufrufen, müssen Sie die OAuth 2.0-Client-ID angeben, die Sie für Ihre Anwendung konfiguriert haben. Sie finden sie auf der Seite Anmeldedaten.
Nächste Schritte
- Workflowberechtigungen für den Zugriff auf Google Cloud-Ressourcen gewähren
- Auf HTTP-Antwortdaten zugreifen, die in einer Variablen gespeichert sind