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

使用Google Cloud OIDC完成GitLab CI/CD认证后无法列出存储桶求助

排查步骤与解决方案

1. 验证自定义权限的有效性

  • 确认自定义权限包含storage.buckets.list核心权限,且权限作用域覆盖目标项目——存储桶列表操作需要项目级权限,仅绑定单个存储桶的权限无法完成列表请求。
  • 检查服务账号与自定义权限的绑定状态,GCP权限生效可能存在1-5分钟延迟,若刚配置完可等待片刻再重试。

2. 核对GitLab CI/CD的身份上下文

  • 在CI作业中添加gcloud auth list命令,验证当前活跃账号是否为预期的服务账号,避免身份映射错误。
  • 执行存储桶列表命令前,务必通过gcloud config set project <你的项目ID>指定目标项目,否则会默认使用服务账号关联的默认项目,可能与操作目标不符。

3. 排查权限冲突与组织政策限制

  • 通过GCP IAM控制台的「权限检查」功能,输入服务账号和storage.buckets.list权限,确认是否存在拒绝权限或继承权限覆盖的情况。
  • 检查项目所属组织的政策,是否启用了「限制存储桶可见性」类的规则,这类规则会阻止跨桶的列表操作。

4. 验证GitLab OIDC配置细节

  • 确认GCP中配置的OIDC受众(Audience)与GitLab CI的CI_JOB_JWT_V2令牌声明一致,避免因受众不匹配导致身份认证后权限未正确生效。
  • 在CI作业中添加echo $CI_JOB_JWT_V2输出令牌,用JWT解码工具验证sub、aud等声明是否符合GCP的身份映射规则。

5. 本地隔离测试

  • 临时使用服务账号密钥,在本地执行gcloud auth activate-service-account --key-file=密钥文件路径,再运行gcloud storage buckets list。如果本地也失败,说明问题出在GCP权限配置;如果本地成功,则问题定位在GitLab的OIDC身份映射或作业上下文。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 16:07:06