进行身份验证以便调用

本文档提供了有关如何调用使用 Cloud Functions v2 API(例如,使用 gcloud functions、REST API 或 Terraform)创建的函数的补充信息。如需了解详细信息和示例,请参阅 Cloud Run 对请求进行身份验证指南。Cloud Run 指南中涵盖的主题也适用于使用 Cloud Functions v2 API 创建的函数,因为 v2 函数也使用 Cloud Run Invoker 角色 (roles/run.invoker)。

如需调用经过身份验证的函数,底层主账号必须满足以下要求:

  • 拥有调用该函数的权限。
  • 在调用该函数时提供 ID 令牌。

Cloud Run functions 函数支持两种不同的身份,这些身份也称为“主账号”

  • 服务账号:此类特殊账号充当非用户(例如函数、应用或虚拟机)的身份。它们为您提供了一种对非用户进行身份验证的方法。
  • 用户账号:这些账号代表作为个人 Google 账号持有人,或 Google 控制的实体(例如 Google 群组)的人员。

如需详细了解 IAM 基本概念,请参阅 IAM 概览

如需调用经过身份验证的函数,主账号必须拥有调用方 IAM 权限

  • run.routes.invoke。这通常通过 Cloud Run Invoker 角色授予。必须为 Cloud Run 服务资源分配此权限。

如需授予这些权限,请按照 Cloud Run 对服务到服务进行身份验证指南中的步骤操作。

对于创建、更新函数或对函数执行其他管理操作的权限,主账号必须具有适当的角色。角色包含可定义允许主账号执行的操作的权限。如需了解详情,请参阅使用 IAM 授予访问权限

事件驱动型函数只能由为其订阅的事件源调用。不过,HTTP 函数可以由来自不同位置的不同身份类型调用,例如正在测试该函数的开发者或使用该函数的其他服务。身份必须提供 ID 令牌以进行身份验证。所用账号还必须具有适当的权限。