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

如何修改gcloud命令将默认服务账号设为Cloud Function调用者

为Cloud Function配置默认服务账号调用权限的命令行方案

不需要在部署时指定额外参数,分两步即可完成配置:部署函数 + 绑定IAM权限:

  1. 正常部署Cloud Function
    执行你的部署命令,不要添加--allow-unauthenticated参数,这样默认会关闭匿名访问权限:

    gcloud functions deploy functionTemp --entry-point functions.FunctionTemp --runtime java11 --trigger-http --memory 512MB --source=FunctionTemp
    
  2. 获取默认服务账号邮箱
    项目默认服务账号格式为[项目ID]@appspot.gserviceaccount.com,可通过命令直接获取:

    gcloud iam service-accounts list --filter="displayName:App Engine default service account" --format="value(email)"
    

    也可以先获取项目ID再拼接账号邮箱:

    PROJECT_ID=$(gcloud config get-value project)
    DEFAULT_SA="${PROJECT_ID}@appspot.gserviceaccount.com"
    
  3. 为默认服务账号绑定调用权限
    使用gcloud projects add-iam-policy-binding命令,给默认服务账号添加roles/cloudfunctions.invoker角色:

    gcloud projects add-iam-policy-binding ${PROJECT_ID} --member="serviceAccount:${DEFAULT_SA}" --role="roles/cloudfunctions.invoker"
    

完成上述操作后,仅该项目的默认服务账号拥有调用此Cloud Function的权限,匿名访问会被拒绝。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 10:06:03