Autenticar para invocação

Este documento fornece informações complementares sobre como invocar funções criadas usando a API Cloud Functions v2, por exemplo, usando gcloud functions, a API REST ou o Terraform. Para informações detalhadas e exemplos, consulte os guias de Autenticar solicitações do Cloud Run. Os tópicos abordados nos guias do Cloud Run também se aplicam a funções criadas usando a API Cloud Functions v2, já que as funções v2 também usam o papel Invocador do Cloud Run (roles/run.invoker).

Para invocar uma função autenticada, o principal subjacente precisa atender aos seguintes requisitos:

  • Ter permissão para invocar a função.
  • Fornecer um token de ID ao invocar a função.

O Cloud Run functions é compatível com dois tipos diferentes de identidades, que também são chamadas de principais:

  • Contas de serviço: são contas especiais que servem como a identidade de um usuário que não é uma pessoa, como uma função, um aplicativo ou uma VM. É uma maneira de autenticar esses usuários que não são pessoas.
  • Contas de usuário: representam pessoas, sejam proprietários de contas individuais do Google ou como parte de uma entidade controlada pelo Google, como um Grupo do Google.

Consulte a Visão geral do IAM para saber mais sobre os conceitos básicos do IAM.

Para invocar uma função autenticada, o principal precisa ter a permissão do IAM do invocador:

  • run.routes.invoke. Isso geralmente ocorre usando o papel de Invocador do Cloud Run. Essa permissão precisa ser atribuída no recurso do serviço do Cloud Run.

Para conceder essas permissões, siga as etapas no guia Como autenticar serviço a serviço do Cloud Run.

Para ter permissão a fim de criar, atualizar ou executar outras ações administrativas em uma função, o principal precisa ter um papel adequado. Os papéis incluem permissões que definem as ações possíveis para o principal. Para mais informações, consulte Como usar o IAM para autorizar o acesso.

As funções orientadas por eventos só podem ser invocadas pela origem do evento em que estão inscritas. No entanto, as funções HTTP podem ser invocadas por diferentes tipos de identidade originários de lugares diferentes, como por um desenvolvedor que testa a função ou por outro serviço que a usa. As identidades precisam fornecer um token de ID para autenticação. A conta em uso também precisa ter as permissões adequadas.