Invocar um ponto final protegido pelo IAP

Pode usar fluxos de trabalho para invocar um ponto final para o qual o Identity-Aware Proxy (IAP) foi ativado. O ponto final pode ser um ponto final nas instalações, do Compute Engine, do Google Kubernetes Engine (GKE) ou outro Google Cloud ponto final.

O IAP valida a identidade e aplica a autorização ao nível da aplicação, pelo que pode usar um modelo de controlo de acesso ao nível da aplicação em vez de depender de firewalls ao nível da rede. Quando uma aplicação ou um recurso está protegido pelo IAP, só pode ser acedido através do proxy por principais que tenham a função de gestão de identidade e de acesso (IAM) correta.

Para mais informações, consulte a vista geral das CAsI e os seguintes guias:

Fazer um pedido HTTP

As chamadas ou as invocações de um ponto final a partir dos fluxos de trabalho são feitas através de um pedido HTTP. Os métodos de pedidos HTTP mais comuns têm um atalho de chamada (como http.get e http.post), mas pode fazer qualquer tipo de pedido HTTP definindo o campo call como http.request e especificando o tipo de pedido através do campo method. Para mais informações, consulte o artigo Faça um pedido HTTP.

Use uma conta de serviço com as autorizações necessárias

Quando fizer pedidos a outros serviços Google Cloud , o seu fluxo de trabalho tem de estar associado a uma conta de serviço à qual foram concedidos um ou mais papéis de gestão de identidades e acessos (IAM) que contêm as autorizações necessárias para aceder aos recursos pedidos. Para saber que conta de serviço está associada a um fluxo de trabalho existente, consulte o artigo Verifique a conta de serviço associada a um fluxo de trabalho.

Quando configura uma conta de serviço, associa a identidade solicitante ao recurso ao qual quer conceder acesso. Torna a identidade solicitante um principal ou um utilizador do recurso e, em seguida, atribui-lhe a função adequada. A função define as autorizações que a identidade tem no contexto do recurso. Quando uma aplicação ou um recurso está protegido pela IAP, só pode ser acedido através do proxy por responsáveis que tenham a função correta.

Por exemplo, após a autenticação, o IAP aplica a política de permissão relevante para verificar se o principal está autorizado a aceder ao recurso pedido. Se o principal tiver a função Utilizador da app Web protegida por IAP (roles/iap.httpsResourceAccessor) no Google Cloud projeto da consola Google Cloud onde o recurso existe, tem autorização para aceder à aplicação.

Pode configurar o acesso ao seu recurso protegido pelo IAP através da página do IAP adicionando a conta de serviço do Workflows como um principal. Para mais informações, consulte o artigo Gerir o acesso a recursos protegidos pelo IAP.

Adicione informações de autenticação ao seu fluxo de trabalho

Por predefinição, os pedidos HTTP não contêm tokens de identidade nem de acesso por motivos de segurança. Tem de adicionar explicitamente informações de autenticação à definição do fluxo de trabalho. Quando fizer pedidos a um ponto final, use o OIDC para autenticar através do IAP.

Para fazer um pedido HTTP através do OIDC, adicione uma secção auth à secção args da definição do fluxo de trabalho, depois de especificar o 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"
            }
          }
        }
      }
    ]
      

Pode usar o parâmetro audience para especificar o público-alvo do OIDC para o token. Quando invoca um ponto final ativado para IAP, tem de especificar o ID de cliente OAuth 2.0 que configurou para a sua aplicação. Pode obter este valor na página Credenciais.

O que se segue?