Richiamare un endpoint protetto da IAP

Puoi utilizzare Workflows per richiamare un endpoint per il quale è stato abilitato Identity-Aware Proxy (IAP). L'endpoint può essere un endpoint on-premise, Compute Engine, Google Kubernetes Engine (GKE) o un altro endpointGoogle Cloud .

IAP verifica l'identità e applica l'autorizzazione a livello di applicazione, in modo da poter utilizzare un modello di controllo dell'accesso dell'accesso a livello di applicazione anziché fare affidamento su firewall a livello di rete. Quando un'applicazione o una risorsa è protetta da IAP, può essere accessibile solo tramite il proxy da entità che dispongono del ruolo Identity and Access Management (IAM) corretto.

Per saperne di più, consulta la panoramica di IAP e le seguenti guide:

Invia una richiesta HTTP

La chiamata o l'invocazione di un endpoint da Workflows viene eseguita tramite una richiesta HTTP. I metodi di richiesta HTTP più comuni hanno una scorciatoia di chiamata (ad esempio 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 saperne di più, consulta Eseguire una richiesta HTTP.

Utilizza un account di servizio con le autorizzazioni richieste

Quando effettui richieste ad altri servizi Google Cloud , il tuo 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 richieste per accedere alle risorse richieste. Per scoprire quale account di servizio è associato a un flusso di lavoro esistente, consulta Verificare il service account associato a un flusso di lavoro.

Quando configuri un account di servizio, associ l'identità richiedente alla risorsa a cui vuoi concedere l'accesso. In altre parole, l'identità richiedente diventa un principal, o utente, della risorsa, a cui viene assegnato il ruolo appropriato. Il ruolo definisce le autorizzazioni dell'identità nel contesto della risorsa. Quando un'applicazione o una risorsa è protetta da IAP, può essere accessibile solo tramite il proxy dalle entità che dispongono del 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à dispone del ruolo Utente app web protetta da IAP (roles/iap.httpsResourceAccessor) nel progetto della console Google Cloud in cui esiste la risorsa, è autorizzata ad accedere all'applicazione.

Puoi configurare l'accesso alla risorsa protetta da IAP tramite la pagina IAP aggiungendo ilaccount di serviziont Workflows come entità. Per saperne di più, vedi Gestione dell'accesso alle risorse protette da IAP.

Aggiungere informazioni di autenticazione al workflow

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, utilizza OIDC per l'autenticazione tramite IAP.

Per effettuare una richiesta HTTP utilizzando 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 richiami un endpoint abilitato a IAP, devi specificare l'ID client OAuth 2.0 che hai configurato per la tua applicazione. Può essere ottenuto dalla pagina delle credenziali.

Passaggi successivi