Invoque um ponto final privado no local, do Compute Engine, do GKE ou outro ativando o IAP

Pode invocar um ponto final privado no local, do Compute Engine, do Google Kubernetes Engine (GKE) ou outro Google Cloud a partir dos Workflows ativando o Identity-Aware Proxy (IAP) para o ponto final. O IAP é usado para aplicar políticas de controlo de acesso e permite-lhe estabelecer uma camada de autorização central para aplicações acedidas por HTTPS, de modo 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.

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

Em alternativa, pode segmentar um ponto final privado para chamadas HTTP a partir da execução do fluxo de trabalho usando o registo de serviços do Service Directory com os Workflows. Para mais informações, consulte o artigo Invocar um ponto final privado através do registo de serviços do Service Directory.

Fazer um pedido HTTP

A chamada ou a invocação de um ponto final privado a partir dos fluxos de trabalho é feita 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 dar acesso. Isto significa que torna a identidade solicitante um principal, ou 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 diretores 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 privado, 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?