You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Terraform中避免重复配置,授权服务账号调用所有Cloud Function?

批量授权用户/服务账号调用所有Cloud Function的方法

通常要授权用户或服务账号调用单个Cloud Function,需要在Terraform中定义如下资源:

resource "google_cloudfunctions_function_iam_member" "invoker" {
  project        = google_cloudfunctions_function.function.project
  region         = google_cloudfunctions_function.function.region
  cloud_function = google_cloudfunctions_function.function.name

  role   = "roles/cloudfunctions.invoker"
  member = "user:myFunctionInvoker@example.com"
}

但这种方式需要为每个Cloud Function重复配置,效率很低。以下是无需重复定义即可批量授权的可行方案:


可行批量授权方案

通过为Cloud Function所使用的服务账号添加roles/iam.serviceAccountUser角色绑定,就能让指定用户/服务账号调用所有使用该服务账号的Cloud Function。对应的gcloud命令如下:

gcloud iam service-accounts add-iam-policy-binding SERVICE_ACCOUNT_EMAIL \
  --member user:USER_EMAIL \
  --role roles/iam.serviceAccountUser

内容的提问来源于stack exchange,提问作者BlueBeret

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 21:45:14