Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/03 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/03 (UTC)."],[[["\u003cp\u003eTo invoke an authenticated Cloud Run function, the principal must have the \u003ccode\u003erun.routes.invoke\u003c/code\u003e permission, typically through the Cloud Run Invoker role, and provide an ID token.\u003c/p\u003e\n"],["\u003cp\u003ePrincipals can be service accounts (for non-persons like functions or applications) or user accounts (for individual Google Account holders or groups), both requiring appropriate permissions to invoke functions.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can test functions by assigning the Cloud Run Invoker role to their user account, using the Google Cloud CLI to generate ID tokens for requests, and allocating the minimum required permissions to operate.\u003c/p\u003e\n"],["\u003cp\u003eFor function-to-function calls, grant the calling function's service account the Cloud Run Invoker role on the receiving function's service, ensuring the calling function provides a Google-signed ID token.\u003c/p\u003e\n"],["\u003cp\u003eID tokens can be generated programmatically using authentication libraries or manually by using the Compute metadata server or exchanging a self-signed JWT for a Google-signed ID token, with the latter two methods being more complex.\u003c/p\u003e\n"]]],[],null,["# Authenticate for invocation\n===========================\n\nThis document provides supplemental information on how to invoke functions\ncreated using the\n[Cloud Functions v2 API](/functions/docs/apis)---for example, using\n`gcloud functions`, the REST API, or Terraform. For detailed information and\nexamples, see the Cloud Run\n[Authenticate requests](/run/docs/authenticating/overview) guides. The topics\ncovered in the Cloud Run guides also apply to functions created using the\n[Cloud Functions v2 API](/functions/docs/apis), since v2 functions also\nuse the\n[Cloud Run Invoker role](/run/docs/reference/iam/roles#run.invoker)\n(`roles/run.invoker`).\n\nTo invoke an authenticated function, the underlying\n**principal** must meet the following requirements:\n\n- Have permission to invoke the function.\n- Provide an ID token when it invokes the function.\n\nCloud Run functions supports two different kinds of identities, which are also\ncalled **principals**:\n\n- Service accounts: These are special accounts that serve as the identity of a non-person, like a function or an application or a VM. They give you a way to authenticate these non-persons.\n- User accounts: These accounts represent people, either as individual Google Account holders or as part of a Google-controlled entity like a Google Group.\n\nSee the [IAM overview](/iam/docs/overview) to learn more about\nbasic IAM concepts.\n\nTo invoke an authenticated function, the principal must have the invoker\nIAM **permission**:\n\n- `run.routes.invoke`. This is usually through the [Cloud Run Invoker role](/run/docs/reference/iam/roles#run.invoker). This permission must be assigned on the Cloud Run service resource.\n\nTo grant these permissions, follow the steps in the\nCloud Run\n[Authenticating service-to-service](/run/docs/authenticating/service-to-service#set-up-sa) guide.\n\nFor permission to create, update, or perform other administrative actions on a\nfunction, the principal must have an appropriate **role** . Roles include permissions that define the actions that the principal is allowed to do. See\n[Using IAM to Authorize Access](/functions/docs/securing/managing-access-iam)\nfor more information.\n\nEvent-driven functions can only be invoked by the event source that they're\nsubscribed to. HTTP functions, however, can be invoked by different identity\ntypes originating from different places, such as by a developer testing the\nfunction or by another service using the function. Identities must provide an ID\ntoken for authentication. The account in use must also have the appropriate\npermissions."]]