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

部署第二代Google Cloud Function失败,权限配置问题求助

解决第二代Cloud Functions存储触发部署失败问题

问题核心

你给错了服务账户权限——报错里要求授权的是Cloud Storage官方托管服务账户,不是你列出的项目内自有服务账户。这个账户不在gcloud iam service-accounts list的输出里,属于GCP全局托管的服务账户池。

解决步骤

1. 获取项目编号

执行命令拿到你的项目数字编号:

gcloud projects describe myproject --format='value(projectNumber)'

把输出的一串数字(比如123456789012)记下来。

2. 定位Cloud Storage专属服务账户

该账户的固定格式为:service-${项目编号}@gcp-sa-storage.iam.gserviceaccount.com
比如项目编号是123456789012,对应的邮箱就是service-123456789012@gcp-sa-storage.iam.gserviceaccount.com

3. 授予Pub/Sub Publisher角色

用命令行直接配置(比控制台操作更精准):

gcloud projects add-iam-policy-binding myproject \
  --member="serviceAccount:service-${项目编号}@gcp-sa-storage.iam.gserviceaccount.com" \
  --role="roles/pubsub.publisher"

也可以在GCP控制台的IAM页面,直接搜索上述邮箱地址,手动添加Pub/Sub Publisher角色。

4. 重新部署函数

再次执行你的部署命令即可。

额外检查项

  • 确保执行部署命令的账户拥有roles/owner,或同时拥有roles/cloudfunctions.admin+roles/iam.serviceAccountAdmin权限,避免操作被权限限制。
  • 确认目标存储桶se_my_images存在,且与函数属于同一项目、同一区域。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 05:15:38