Cloud Build第二代触发器推送不触发且手动运行报PERMISSION_DENIED
Cloud Build第二代触发器权限异常问题
问题描述
Cloud Build第二代触发器在GitHub推送事件时不触发,手动运行触发器会返回PERMISSION_DENIED错误,错误中引用了十六进制编码的项目编号。
复现步骤
- 创建第二代GitHub连接(区域:us-central1)
- 将GitHub仓库关联至该连接
- 创建监听指定分支的推送触发器
- 向该分支推送代码,无构建触发
- 执行命令:
gcloud builds triggers run <trigger-id> --branch=develop --region=us-central1 - 观察到
PERMISSION_DENIED错误
预期行为
向develop分支推送代码时触发触发器,手动运行触发器成功。
实际行为
推送代码无构建触发,手动运行返回:
PERMISSION_DENIED: Permission 'cloudbuild.builds.create' denied on resource 'projects/<hex-of-project-number>'
错误中的值是实际项目编号的十六进制编码,例如项目编号544772962319的十六进制为0000007ed6ffb80f,该十六进制项目ID不被API识别,与实际项目ID不匹配。
环境信息
- 项目ID:
<my-project> - 区域:
us-central1 - 连接状态:
COMPLETE (healthy) - 关联仓库:GitHub组织下的3个私有仓库
- 受影响角色:项目所有者及拥有
roles/cloudbuild.builds.editor权限的成员
已排查项
- IAM:已确认拥有
roles/cloudbuild.builds.editor权限,包含cloudbuild.builds.create权限 - 计费:已启用
- 组织策略:无相关限制
- 拒绝策略:无
- Cloud Build API:已启用
- 通过REST API复现相同错误(非gcloud CLI问题)
- 连接及仓库关联已验证正常
内容的提问来源于stack exchange,提问作者Jimmy Maina
相关产品推荐
相关产品推荐

