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

如何为GCP服务账号配置资源级权限实现仅可访问指定Cloud Storage存储桶

配置错误根因

你遇到的403问题完全由Deployment Manager配置的结构错误导致,GCP完全支持给服务账号授予单个存储桶的访问权限,不需要开放项目内所有存储桶的权限。
核心错误有2处:

  • bindings字段要求为数组类型,你当前配置为单个对象,不符合GCP资源的IAM绑定字段规范
  • 单个绑定内的成员字段为复数members(值为成员列表),你错误使用了单数member字段

错误格式的bindings会被Deployment Manager直接忽略,因此你实际没有成功给存储桶配置对应权限,这也是Policy Analyzer查询不到权限记录的原因。你之前查看到的权限绑定大概率是手动临时配置或者看错了资源。

修正后的配置代码
def GenerateConfig(context):
    """Generate configuration for a cloud storage bucket for experiment data."""
    resources = []
    resources.append({
        'type': 'storage.v1.bucket',
        'name': 'mybucket',
        'properties': {
            'predefinedAcl': 'projectPrivate',
            'projection': 'full',
            'location': 'europe-west2',
            'storageClass': 'STANDARD',
            'bindings': [
                {
                    'role': 'roles/storage.objectCreator',
                    'members': ['serviceAccount:my-service@my-project.iam.gserviceaccount.com']
                }
            ]
        }
    })
    return {'resources': resources}
部署后验证步骤
  1. 部署完成后执行命令gsutil iam get gs://mybucket,确认返回的绑定列表中存在对应服务账号的roles/storage.objectCreator权限
  2. 用服务账号身份执行测试写入命令gsutil cp test_file gs://mybucket/验证权限是否生效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:54:03