Sie können Workflows verwenden, um einen Endpunkt aufzurufen, für den Identity-Aware Proxy (IAP) aktiviert wurde. Der Endpunkt kann einGoogle Cloud -Endpunkt vor Ort, in Compute Engine, in Google Kubernetes Engine (GKE) oder ein anderer Endpunkt sein.
IAP überprüft die Identität und erzwingt die Autorisierung auf Anwendungsebene. So können Sie ein Zugriffssteuerungsmodell auf Anwendungsebene verwenden, anstatt sich auf Firewalls auf Netzwerkebene zu verlassen. Wenn eine Anwendung oder Ressource durch IAP geschützt ist, kann nur über den Proxy von Hauptkonten mit der richtigen IAM-Rolle (Identity and Access Management) darauf zugegriffen werden.
Weitere Informationen finden Sie in der IAP-Übersicht und in den folgenden Anleitungen:
- 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
HTTP-Anfrage stellen
Der Aufruf eines 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 eines Workflows prüfen.
Wenn Sie ein Dienstkonto einrichten, 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 einem Hauptkonto oder Nutzer der Ressource und weisen 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, kann nur über den Proxy von Hauptkonten mit der richtigen Rolle darauf zugegriffen werden.
Nach der Authentifizierung wendet IAP beispielsweise die entsprechende Zulassungsrichtlinie an, um zu prüfen, ob das Hauptkonto berechtigt ist, auf die angeforderte Ressource zuzugreifen. Wenn das Hauptkonto im Google Cloud -Konsolenprojekt, in dem sich die Ressource befindet, die Rolle Nutzer von IAP-gesicherten Web-Apps (roles/iap.httpsResourceAccessor) hat, ist es 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 Prinzipal hinzufügen. Weitere Informationen finden Sie unter Zugriff auf Ressourcen verwalten, die mit IAP gesichert sind.
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 OIDC zur Authentifizierung über IAP, wenn Sie Anfragen an einen Endpunkt senden.
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-fähigen 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
- Zugriff auf Google Cloud -Ressourcen für einen Workflow gewähren
- Auf in einer Variable gespeicherte HTTP-Antwortdaten zugreifen
- Privaten Endpunkt über die Dienstregistrierung von Service Directory aufrufen