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

如何为用户配置Cloud Build仅查看权限?需可查看构建详情

解决方案:创建自定义IAM角色实现细粒度权限

要解决权限过窄或过宽的矛盾,最佳方案是创建自定义IAM角色,仅包含查看Cloud Build构建及测试详情所需的最小权限,避免授予过宽的项目访问权限。

所需核心权限

以下是实现目标必须的权限:

  • cloudbuild.builds.get:允许获取单个构建的完整详情(包括测试运行相关元数据)
  • cloudbuild.builds.list:允许列出项目内的所有构建记录
  • cloudbuild.builds.logs.get:允许查看构建的完整日志(测试运行的具体输出通常包含在日志中)
  • logging.logEntries.list:若测试详情需从Cloud Logging读取(部分场景下Cloud Build日志会同步到Logging),需添加此权限

创建自定义角色的步骤

方式1:通过gcloud命令行创建

替换YOUR_PROJECT_ID为你的项目ID,执行以下命令:

gcloud iam roles create cloudbuild.test.viewer \
  --project=YOUR_PROJECT_ID \
  --title="Cloud Build Test Viewer" \
  --description="仅查看Cloud Build构建及测试详情,无项目其他资源访问权限" \
  --permissions=cloudbuild.builds.get,cloudbuild.builds.list,cloudbuild.builds.logs.get,logging.logEntries.list

方式2:通过GCP控制台创建

  1. 进入GCP控制台的IAM与管理 > 角色页面
  2. 点击创建角色,填写名称、描述
  3. 在添加权限中搜索并添加上述四个权限
  4. 保存角色后,将其分配给目标用户/用户组

可选:添加权限条件(限定GitHub相关构建)

如果仅需要让用户查看GitHub触发的构建,可以给自定义角色添加条件绑定,过滤特定来源的构建:

  • 匹配指定GitHub触发器的条件表达式:
    resource.labels.trigger_id == "YOUR_GITHUB_TRIGGER_ID"
    
  • 宽泛匹配GitHub来源的条件表达式:
    resource.name.contains("github")
    
    (注:需替换YOUR_GITHUB_TRIGGER_ID为你的GitHub触发器ID)

验证权限

分配角色后,让用户尝试:

  1. 访问Cloud Build控制台的构建列表
  2. 点击单个构建查看详情及日志
  3. 确认无法访问项目内其他资源(如Compute Engine、Storage等)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 23:47:15