Privaten lokalen Host, Compute Engine, GKE oder einen anderen Endpunkt aufrufen

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:

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