Authentification pour l'appel

Ce document fournit des informations supplémentaires sur l'appel des fonctions créées à l'aide de l'API Cloud Functions v2, par exemple à l'aide de gcloud functions, de l'API REST ou de Terraform. Pour en savoir plus et obtenir des exemples, consultez les guides Authentifier les requêtes de Cloud Run. Les sujets abordés dans les guides Cloud Run s'appliquent également aux fonctions créées à l'aide de l'API Cloud Functions v2, car les fonctions v2 utilisent également le rôle Demandeur Cloud Run (roles/run.invoker).

Pour appeler une fonction authentifiée, le compte principal sous-jacent doit satisfaire aux exigences suivantes:

  • Être autorisé à appeler la fonction.
  • Fournir un jeton d'ID au moment d'appeler la fonction.

Cloud Run Functions accepte deux types d'identités différents, également appelés comptes principaux :

  • Comptes de service : il s'agit de comptes spéciaux qui constituent l'identité d'un utilisateur non-humain, par exemple une fonction, une application ou une VM. Ils vous permettent d'authentifier ces entités non humaines.
  • Comptes utilisateur : ces comptes représentent de véritables utilisateurs, qu'il s'agisse de titulaires d'un compte Google individuel ou de membres d'une entité contrôlée par Google, comme un groupe Google.

Consultez la présentation d'IAM pour en savoir plus sur les concepts de base d'IAM.

Pour appeler une fonction authentifiée, le compte principal doit disposer de l'autorisation IAM "Demandeur" :

  • run.routes.invokeElle est généralement fournie via le rôle Demandeur Cloud Run. Cette autorisation doit être attribuée sur la ressource de service Cloud Run.

Pour accorder ces autorisations, suivez les étapes du guide Authentification de service à service de Cloud Run.

Pour obtenir l'autorisation de créer, mettre à jour ou effectuer d'autres actions d'administration sur une fonction, le compte principal doit disposer d'un rôle approprié. Les rôles incluent des autorisations qui définissent les actions que le compte principal est autorisé à effectuer. Pour en savoir plus, consultez la page Utiliser IAM pour autoriser l'accès.

Les fonctions basées sur des événements ne peuvent être appelées que par la source d'événements à laquelle elles sont abonnées. Toutefois, les fonctions HTTP peuvent être appelées par différents types d'identités provenant de sources différentes, par exemple par un développeur qui teste la fonction ou par un autre service qui l'utilise. Les identités doivent fournir un jeton d'ID pour l'authentification. Le compte utilisé doit également disposer des autorisations appropriées.