Autentique para invocação

Este documento fornece informações suplementares sobre como invocar funções criadas com a API Cloud Functions v2, por exemplo, através da gcloud functions, da API REST ou do Terraform. Para ver informações detalhadas e exemplos, consulte os guias Autenticar pedidos do Cloud Run. Os tópicos abordados nos guias do Cloud Run também se aplicam a funções criadas com a API Cloud Functions v2, uma vez que as funções v2 também usam a função Cloud Run Invoker (roles/run.invoker).

Para invocar uma função autenticada, o principal subjacente tem de cumprir os seguintes requisitos:

  • Ter autorização para invocar a função.
  • Fornecer um token de ID quando invoca a função.

As funções do Cloud Run suportam dois tipos diferentes de identidades, que também são denominadas principais:

  • Contas de serviço: estas são contas especiais que servem como identidade de uma pessoa não humana, como uma função, uma aplicação ou uma VM. Dão-lhe uma forma de autenticar estas entidades que não são pessoas.
  • Contas de utilizador: estas contas representam pessoas, quer como titulares individuais de uma Conta Google, quer como parte de uma entidade controlada pela Google, como um Grupo Google.

Consulte a vista geral do IAM para saber mais acerca dos conceitos básicos do IAM.

Para invocar uma função autenticada, o principal tem de ter a autorização do IAM invoker:

  • run.routes.invoke. Normalmente, isto é feito através da função Cloud Run Invoker. Esta autorização tem de ser atribuída no recurso de serviço do Cloud Run.

Para conceder estas autorizações, siga os passos no guia Autenticação de serviço a serviço do Cloud Run.

Para ter autorização para criar, atualizar ou realizar outras ações administrativas numa função, o principal tem de ter uma função adequada. As funções incluem autorizações que definem as ações que o principal tem autorização para realizar. Consulte o artigo Usar o IAM para autorizar o acesso para mais informações.

As funções acionadas por eventos só podem ser invocadas pela origem do evento à qual estão subscritas. No entanto, as funções HTTP podem ser invocadas por diferentes tipos de identidade originários de diferentes locais, como por um programador que testa a função ou por outro serviço que usa a função. As identidades têm de fornecer um token de ID para autenticação. A conta em utilização também tem de ter as autorizações adequadas.