驗證叫用作業

本文補充說明如何叫用 Cloud Functions 第 2 代 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 支援兩種不同的身分 (又稱主體):

  • 服務帳戶:這類特殊帳戶代表非人員身分,例如函式、應用程式或 VM,可用於驗證這類非人員實體的身分。
  • 使用者帳戶:這類帳戶代表使用者,可以是個別 Google 帳戶持有人,也可以是 Google 控制實體 (例如 Google 群組) 的成員。

如要進一步瞭解身分與存取權管理 (IAM) 的基本概念,請參閱 IAM 總覽

如要叫用經過驗證的函式,主體必須具備叫用者 IAM 權限

  • run.routes.invoke,此權限通常是透過 Cloud Run Invoker 角色取得,且必須指派給 Cloud Run 服務資源。

如要授予這些權限,請執行 Cloud Run「服務對服務驗證」指南中的步驟。

主體必須具備適當的角色,才可建立、更新或以其他方式管理函式。角色具備的權限定義了主體可執行的動作,詳情請參閱「使用 IAM 授予存取權限」。

事件導向函式只能由其所訂閱的事件來源叫用,但 HTTP 函式可由不同類型的身分叫用,且來源位置不限,例如測試函式的開發人員,或是使用該函式的其他服務。這些身分必須提供 ID 權杖以供驗證,所使用的帳戶也必須具備適當的權限。