以下页面讨论使用 Google Cloud 控制台时,对 Cloud Storage 存储桶和对象执行各种操作所需的 Identity and Access Management (IAM) 权限。将 IAM 权限捆绑在一起即可创建角色,您可以为用户和群组分配角色。
使用 Google Cloud 控制台需要的常用权限
通常具有某些权限才能使用 Google Cloud 控制台:
涉及存储桶的所有操作都应具有项目级层的
resourcemanager.projects.get
和storage.buckets.list
权限。这些权限让您可以访问 Console 浏览器的存储桶列表页面,您可以在该页面中创建、查看和更新存储桶。
请求中包含结算项目的所有操作都需要指定项目的
serviceusage.services.use
权限。此权限可确保您有权对指定的项目进行结算。例如,在访问启用了请求者付款功能的存储分区时,将包含结算项目。
执行特定操作所需的权限
操作 | 必需的 IAM 权限(除了上面列出的权限以外) |
---|---|
创建存储分区 | storage.buckets.create |
列出或过滤存储分区 | 无其他权限 |
查看以下存储分区信息:
|
storage.buckets.get |
更改以下存储分区设置:
|
storage.buckets.get storage.buckets.update |
启用请求者付款功能 | storage.buckets.get storage.buckets.update |
停用请求者付款功能 | storage.buckets.get storage.buckets.update resourcemanager.projects.createBillingAssignment 3 |
更改禁止公开访问设置 | storage.buckets.get storage.buckets.setIamPolicy storage.buckets.update |
更改存储分区权限 | storage.buckets.get storage.buckets.getIamPolicy storage.buckets.setIamPolicy storage.buckets.update |
删除空存储分区 | storage.buckets.delete storage.objects.list |
删除非空存储分区 | storage.buckets.delete storage.objects.delete storage.objects.list |
上传对象或对象文件夹 | storage.objects.create storage.objects.delete 1 |
查看对象的详细信息5 | storage.objects.get storage.objects.list |
查看对象的版本记录 | storage.objects.get storage.objects.list |
下载对象5或对象文件夹 | storage.objects.get storage.objects.list |
列出存储分区中的对象 | storage.objects.list |
确定对象是否可公开访问5 | storage.buckets.getIamPolicy storage.objects.list storage.objects.getIamPolicy 4 |
重命名对象或恢复非当前对象版本 | storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 4storage.objects.setIamPolicy 4 |
复制对象 | storage.objects.create storage.objects.delete 1storage.objects.get storage.objects.list storage.objects.getIamPolicy 2、4storage.objects.setIamPolicy 2、4 |
移动对象 | storage.objects.create storage.objects.delete 1storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 2、4storage.objects.setIamPolicy 2、4 |
查看对象的访问权限5、6 | storage.objects.get storage.objects.list storage.objects.getIamPolicy |
修改对象的访问权限5、6 | storage.objects.get storage.objects.list storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
修改对象的元数据5 | storage.objects.get storage.objects.list storage.objects.update |
添加或移除对象的保全5 | storage.objects.get storage.objects.list storage.objects.update |
删除对象5、非当前对象版本或对象的文件夹 | storage.objects.delete storage.objects.list |
查看项目的 HMAC 密钥 | resourcemanager.projects.get storage.hmacKeys.list |
为服务帐号创建 HMAC 密钥 | resourcemanager.projects.get storage.hmacKeys.list storage.hmacKeys.create |
为服务帐号停用或重新启用 HMAC 密钥 | resourcemanager.projects.get storage.hmacKeys.list storage.hmacKeys.update |
删除服务帐号的 HMAC 密钥 | resourcemanager.projects.get storage.hmacKeys.list storage.hmacKeys.delete |
1仅当目标存储分区中已存在同名对象时,才需要此权限。
2仅在保留当前应用于源对象的权限时,才需要此权限。
3仅当您的请求中未包含结算项目时,才需要此权限。如需了解详情,请参阅请求者付款功能的使用和访问要求。
4 此权限不适用于启用了统一存储分区级访问权限的存储分区。
5如果在相关对象的详情页面上执行此操作,并且您不会从存储分区的整个对象列表中访问详情页面,则此操作不需要 storage.objects.list
。
6 此操作不适用于启用了统一存储分区级访问权限的存储分区。
后续步骤
如需查看角色及其所含权限的列表,请参阅适用于 Cloud Storage 的 IAM 角色。
在项目和存储分区级层分配 IAM 角色。