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

GCP跨项目存储桶授权:含GCR镜像构建场景

刚好之前处理过类似的GCP跨项目权限问题,给你详细拆解下这两个场景的配置步骤:

1. 通用场景:授权某GCP项目访问另一项目的Cloud Storage存储桶

最常用的方式是通过IAM角色直接授权项目对应的主体,步骤如下:

  • 授权项目级主体访问目标桶
    每个GCP项目都有默认的服务账号和成员组,你可以根据需求选择授权对象:

    1. 打开Cloud Storage控制台,定位到目标存储桶(比如项目B的桶)
    2. 切换到「权限」标签页,点击「添加」按钮
    3. 在「新成员」输入框中填写要授权的项目标识:
      • 若要授权项目A的所有成员访问:输入group:project-editors-<PROJECT_A_NUMBER>@google.com(编辑组)或group:project-viewers-<PROJECT_A_NUMBER>@google.com(查看组)
      • 若要授权项目A的默认服务账号访问:输入[PROJECT_A_NUMBER]@cloudservices.gserviceaccount.com
    4. 选择匹配需求的IAM角色:
      • 只读访问选Storage Object Viewer
      • 读写操作选Storage Object Admin
      • 桶级管理(比如创建/删除桶)选Storage Admin
    5. 点击「保存」,等待1-2分钟让权限生效
  • 细粒度授权(可选)
    如果不想给整个项目授权,也可以创建专用服务账号,给它分配桶的权限,然后在项目A中使用该服务账号的密钥进行访问。这种方式更适合特定应用,而非项目级的全局授权。

2. 具体场景:项目A的GCR构建访问项目B的桶,同时授权项目B读取项目A的桶

这个场景需要分两部分配置,分别处理Cloud Build的权限和项目B的读取权限:

2.1 让项目A的GCR构建(Cloud Build)访问项目B的存储桶

Cloud Build在构建镜像时,默认使用项目A的Cloud Build专用服务账号,格式为[PROJECT_A_NUMBER]@cloudbuild.gserviceaccount.com。我们需要给这个账号授权项目B的桶权限:

  • 控制台配置步骤:

    1. 进入项目B的Cloud Storage控制台,找到目标桶的「权限」页面
    2. 添加成员:输入项目A的Cloud Build服务账号
    3. 根据构建需求选择角色:比如仅读取对象选Storage Object Viewer,需要写入则选Storage Object Admin
    4. 保存后,Cloud Build在构建过程中就能正常访问该桶了
  • 命令行快速配置(可选):

    # 给项目A的Cloud Build账号授权项目B的桶只读权限
    gsutil iam ch serviceAccount:[PROJECT_A_NUMBER]@cloudbuild.gserviceaccount.com:roles/storage.objectViewer gs://PROJECT_B_BUCKET_NAME
    

2.2 授权项目B拥有项目A存储桶的读取权限

这部分和通用场景逻辑一致,核心是给项目B的主体授权项目A的桶:

  • 控制台配置步骤:

    1. 进入项目A的Cloud Storage控制台,找到目标桶的「权限」页面
    2. 添加成员:输入项目B的默认服务账号[PROJECT_B_NUMBER]@cloudservices.gserviceaccount.com
    3. 选择Storage Object Viewer角色(只读权限)
    4. 保存等待权限生效
  • 细粒度优化:如果项目B中只有特定服务(比如GKE、Cloud Function)需要访问,可以给对应服务的专用服务账号授权,遵循最小权限原则,避免过度授权。

额外注意事项

  • 权限生效可能有1-5分钟的延迟,刚配置完如果出现访问报错,稍等片刻再重试
  • 始终遵循最小权限原则,不要分配超出需求的角色(比如不要直接给Owner角色)
  • 可以通过GCP的IAM权限检查工具,验证配置是否正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:01:56