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:
- Ative a IAP para o App Engine
- Ative o IAP para o Cloud Run
- Ative o IAP para o Compute Engine
- Ative o IAP para o GKE
- Ative as CAs para apps no local
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?
- Conceda uma autorização de fluxo de trabalho para aceder a Google Cloud recursos
- Aceda aos dados de resposta HTTP guardados numa variável
- Invocar um ponto final privado através do registo de serviços do Service Directory