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

调用Google Cloud Billing Budget API出现403 PermissionDenied错误如何解决

问题排查步骤

1. 确认云函数运行时服务账号匹配

  • 进入云函数控制台对应函数的配置页,打开「运行时、构建、连接设置」标签,查看运行时服务账号的实际取值,默认值为<项目ID>@appspot.gserviceaccount.com
  • 确认你授予权限的服务账号和该取值完全一致,避免写错服务账号ID

2. 检查权限继承是否被阻断

你在组织层级授予的权限不会生效的核心常见原因是账单账号开启了IAM继承阻断:

  • 进入GCP「账单」控制台,选择对应账单账号,打开「权限」标签页
  • 查看右上角是否存在「继承已关闭」的提示,如果存在,要么选择「开启继承」获取组织层级的权限配置,要么直接在当前账单账号的权限页为云函数服务账号授予Billing Budget Viewer预定义角色(包含billing.budget.list、billing.budget.get所需全部权限)

3. 验证权限是否生效

IAM权限配置存在最长2分钟的传播延迟,配置完成后可通过gcloud命令验证权限是否配置正确:

# 验证服务账号在账单账号下的权限
gcloud billing accounts get-iam-policy <你的账单账号ID> --filter="member:serviceAccount:<云函数运行时服务账号邮箱>"

如果返回结果中没有对应权限配置,重新走授权流程即可。

4. 核对账单账号参数

确认代码中BILLING_ACCOUNT参数的取值格式正确,billingAccounts/后缀的账单ID需要和控制台账单页面展示的完全一致,不要多写/漏写字符。

5. 工作负载身份配置校验

如果你的云函数开启了工作负载身份配置,需要额外确认Kubernetes服务账号和GCP服务账号的绑定关系是否正确,避免云函数实际运行时使用的身份和你授权的账号不一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 12:21:01