Para chamar ou invocar um local particular, o Compute Engine, o Google Kubernetes Engine (GKE) ou outro endpoint do Google Cloud de fluxos de trabalho é feito por uma solicitação HTTP. Os métodos de solicitação HTTP
mais comuns têm um atalho de chamada (como
http.get
e http.post), mas você pode fazer
qualquer tipo de solicitação HTTP definindo o campo call
como http.request
e
especificando o tipo de solicitação usando o campo method
. Para
mais informações, consulte Fazer uma solicitação HTTP.
Ativar o IAP
É preciso ativar o Identity-Aware Proxy (IAP) para o endpoint particular para que os fluxos de trabalho possam invocar o endpoint. O IAP é usado para aplicar políticas de controle de acesso e permite estabelecer uma camada de autorização central para aplicativos acessados por HTTPS. Assim, é possível usar um modelo de controle de acesso no nível do aplicativo, em vez de confiar em firewalls no nível da rede. Para mais informações, consulte a visão geral do IAP e o seguinte:
- Ativar o IAP para o App Engine
- Ativar o IAP para o Cloud Run
- Ativar o IAP para o Compute Engine
- Ativar o IAP para o GKE
- Ativar o IAP para apps locais
Usar uma conta de serviço com as permissões necessárias
Ao fazer solicitações para outros serviços do Google Cloud, seu fluxo de trabalho precisa estar associado a uma conta de serviço que tenha recebido um ou mais papéis do Identity and Access Management (IAM) contendo as permissões necessárias para acessar os recursos solicitados. Para saber qual conta de serviço está associada a um fluxo de trabalho atual, consulte Verificar uma conta de serviço associada ao fluxo de trabalho.
Ao configurar uma conta de serviço, você associa a identidade solicitante ao recurso a que quer conceder acesso, faz com que a identidade solicitante seja o principal ou usuário do recurso e, em seguida, atribui a ela o papel apropriado. O papel define as permissões que a identidade tem no contexto do recurso. Quando um aplicativo ou recurso é protegido pelo IAP, ele só pode ser acessado pelo proxy pelos principais que tenham o papel correto.
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 acessar o recurso solicitado. Se a principal tiver o papel de Usuário do app da Web protegido pelo IAP (roles/iap.httpsResourceAccessor
) no projeto do Console do Google Cloud em que o recurso existe, ele terá autorização para acessar o aplicativo.
É possível configurar o acesso ao recurso protegido pelo IAP por meio da página do IAP adicionando a conta de serviço do Workflows como principal. Para mais informações, consulte Como gerenciar o acesso a recursos protegidos pelo IAP.
Adicionar informações de autenticação ao fluxo de trabalho
Por padrão, as solicitações HTTP não contêm tokens de identidade ou acesso por motivos de segurança. É necessário adicionar as informações de autenticação à definição do fluxo de trabalho explicitamente. Ao fazer solicitações para um endpoint particular, use o OIDC para autenticar pelo IAP.
Para fazer uma solicitação HTTP usando o OIDC, adicione uma seção auth
à seçã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" } } } } ]
É possível usar o parâmetro audience
para especificar o público-alvo do OIDC do token.
Ao invocar um endpoint ativado para IAP, é preciso especificar o ID do cliente do OAuth 2.0 que você configurou para o aplicativo. Isso pode ser
recebido na página Credenciais.
A seguir
- Conceder permissão de fluxo de trabalho para acessar recursos do Google Cloud
- Acessar dados de respostas HTTP salvos em uma variável