Rufen Sie durch Aktivieren von IAP einen privaten lokalen Endpunkt, die Compute Engine, die GKE oder einen anderen Endpunkt auf

Sie können einen privaten lokalen Endpunkt, die Compute Engine, die Google Kubernetes Engine (GKE) oder einen anderen Google Cloud-Endpunkt aus Workflows aufrufen. Aktivieren Sie dazu Identity-Aware Proxy (IAP) für den Endpunkt. Mit IAP können Sie Richtlinien zur Zugriffssteuerung erzwingen und eine zentrale Autorisierungsebene für Anwendungen einrichten, auf die über HTTPS zugegriffen wird. So können Sie ein Zugriffssteuerungsmodell auf Anwendungsebene verwenden, statt sich auf Firewalls auf Netzwerkebene verlassen zu müssen. Weitere Informationen finden Sie in der Übersicht über IAP und in den folgenden Abschnitten:

Alternativ können Sie einen privaten Endpunkt für HTTP-Aufrufe von der Workflowausführung ansteuern. Verwenden Sie dazu die Dienst-Registry von Service Directory mit Workflows. Durch das Erstellen eines privaten Endpunkts in einem VPC-Netzwerk (Virtual Private Cloud) kann der Endpunkt VPC Service Controls-konform sein. Weitere Informationen finden Sie unter VPC Service Controls-kompatiblen privaten Endpunkt aufrufen.

HTTP-Anfrage stellen

Das Aufrufen oder Aufrufen eines privaten Endpunkts in 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.

Wenn Sie Anfragen an andere Google Cloud-Dienste senden, 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 gewährt wurden. Informationen dazu, welches Dienstkonto mit einem vorhandenen Workflow verknüpft ist, finden Sie unter Verknüpftes Dienstkonto eines Workflows prü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 einem Nutzer der Ressource und weisen ihr 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 von Hauptkonten mit der richtigen Rolle über den Proxy 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 die Rolle Nutzer von IAP-gesicherten Web-Apps (roles/iap.httpsResourceAccessor) für das 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 mit IAP gesicherte Ressource über die Seite IAP konfigurieren. Fügen Sie dazu das Workflow-Dienstkonto als Hauptkonto hinzu. Weitere Informationen finden Sie unter Zugriff auf mit IAP gesicherte Ressourcen verwalten.

Authentifizierungsinformationen zum Workflow hinzufügen

HTTP-Anfragen enthalten aus Sicherheitsgründen standardmäßig keine Identitäts- oder Zugriffstokens. Sie müssen der Workflow-Definition explizit Authentifizierungsinformationen hinzufügen. Verwenden Sie bei 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"
            }
          }
        }
      }
    ]
      

Sie können den Parameter audience verwenden, um die OIDC-Zielgruppe für das Token anzugeben. 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 finden Sie auf der Seite „Anmeldedaten“.

Nächste Schritte