Richiamare un endpoint on-prem, Compute Engine, GKE o un altro endpoint privato

Le chiamate o le chiamate a un on-premise privato, Compute Engine, Google Kubernetes Engine (GKE) o un altro endpoint Google Cloud da Workflows vengono eseguite tramite una richiesta HTTP. I metodi di richiesta HTTP più comuni hanno una scorciatoia di chiamata (come http://get e http://post), ma puoi effettuare qualsiasi tipo di richiesta HTTP impostando il campo call su http.request e specificando il tipo di richiesta utilizzando il campo method. Per scoprire di più, consulta Effettuare una richiesta HTTP.

Abilita IAP

Devi attivare Identity-Aware Proxy (IAP) per l'endpoint privato in modo che Workflows possa richiamare l'endpoint. IAP viene utilizzato per applicare i criteri di controllo dell'accesso e consente di definire un livello di autorizzazione centrale per le applicazioni accessibili tramite HTTPS, che ti consente di utilizzare un modello di controllo dell'accesso a livello di applicazione invece di fare affidamento sui firewall di rete. Per ulteriori informazioni, consulta la panoramica di IAP e i seguenti articoli:

Utilizza un account di servizio con le autorizzazioni richieste

Quando si effettuano richieste ad altri servizi Google Cloud, il flusso di lavoro deve essere associato a un account di servizio a cui sono stati concessi uno o più ruoli IAM (Identity and Access Management) contenenti le autorizzazioni necessarie per accedere alle risorse richieste. Per sapere quale account di servizio è associato a un flusso di lavoro esistente, consulta Verificare l'account di servizio associato a un flusso di lavoro.

Quando configuri un account di servizio, associ l'identità richiedente alla risorsa a cui vuoi concederle l'accesso, rendendo l'identità richiedente un entità o utente della risorsa, quindi assegnale il ruolo appropriato. Il ruolo definisce le autorizzazioni di cui dispone l'identità nel contesto della risorsa. Quando un'applicazione o risorsa è protetta da IAP, è possibile accedere solo tramite il proxy alle entità con il ruolo corretto.

Ad esempio, dopo l'autenticazione, IAP applica il criterio di autorizzazione pertinente per verificare se l'entità è autorizzata ad accedere alla risorsa richiesta. Se l'entità ha il ruolo Utente applicazione web con protezione IAP (roles/iap.httpsResourceAccessor) nel progetto della console Google Cloud in cui esiste la risorsa, sarà autorizzato ad accedere all'applicazione.

Puoi configurare l'accesso alla tua risorsa protetta da IAP tramite la pagina IAP aggiungendo l'account di servizio Workflows come entità. Per ulteriori informazioni, vedi Gestire l'accesso alle risorse protette da IAP.

Aggiungi informazioni di autenticazione al flusso di lavoro

Per impostazione predefinita, le richieste HTTP non contengono token di identità o di accesso per motivi di sicurezza. Devi aggiungere esplicitamente le informazioni di autenticazione alla definizione del flusso di lavoro. Quando effettui richieste a un endpoint privato, utilizza OIDC per l'autenticazione tramite IAP.

Per effettuare una richiesta HTTP tramite OIDC, aggiungi una sezione auth alla sezione args della definizione del flusso di lavoro dopo aver specificato l'URL.

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"
            }
          }
        }
      }
    ]
      

Puoi utilizzare il parametro audience per specificare il pubblico OIDC per il token. Quando si chiama un endpoint con IAP, è necessario specificare l'ID client OAuth 2.0 configurato per l'applicazione. Puoi trovarlo nella pagina Credenziali.

Passaggi successivi