以下页面讨论使用 Cloud Console 时,对 Cloud Storage 存储分区和对象执行各种操作所需的 Identity and Access Management (IAM) 权限。将 IAM 权限捆绑在一起即可创建角色,您可以为用户和群组分配角色。
使用 Cloud Console 需要的常用权限
通常具有某些权限才能使用 Cloud Console:
涉及存储分区的所有操作都需要项目级层的
resourcemanager.projects.get
和storage.buckets.list
权限。这些权限让您可以访问 Console 浏览器的存储分区页面,您可以在该页面中创建、查看和更新存储分区。
通常,涉及对象的操作需要项目或存储分区级的
storage.objects.list
权限。如果您只访问特定对象的详情页面,并且无需访问存储分区中的整个对象列表,则无需此权限。
请求中包含结算项目的所有操作都需要指定项目的
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 |
停用请求者付款功能 | storage.buckets.get storage.buckets.update resourcemanager.projects.createBillingAssignment 3 |
设置或更新对象生命周期政策 | storage.buckets.get storage.buckets.update |
查看对象生命周期政策 | storage.buckets.get |
设置或移除存储分区的默认 Cloud Key Management Service 密钥 | storage.buckets.get storage.buckets.update |
查看存储分区的默认 Cloud Key Management Service 密钥 | storage.buckets.get |
设置、移除或锁定存储分区的保全政策 | storage.buckets.get storage.buckets.update |
查看存储分区的保留政策 | storage.buckets.get |
设置或移除存储分区的统一存储分区级层访问权限 | storage.buckets.get storage.buckets.update |
查看存储分区的统一存储分区级层访问权限状态 | storage.buckets.get |
更改存储分区权限 | 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 |
查看对象的详情页面5 | storage.objects.get |
下载对象5 | storage.objects.get |
列出存储分区中的对象 | 无其他权限 |
确定对象是否可公开访问5 | storage.buckets.getIamPolicy storage.objects.getIamPolicy 4 |
重命名对象 | storage.objects.create storage.objects.delete storage.objects.get storage.objects.getIamPolicy 4storage.objects.setIamPolicy 4 |
复制对象 | storage.objects.create storage.objects.delete 1storage.objects.get storage.objects.getIamPolicy 2、4storage.objects.setIamPolicy 2、4 |
移动对象 | storage.objects.create storage.objects.delete 1storage.objects.delete storage.objects.get storage.objects.getIamPolicy 2、4storage.objects.setIamPolicy 2、4 |
查看对象的访问权限5、6 | storage.objects.get storage.objects.getIamPolicy |
修改对象的访问权限5、6 | storage.objects.get storage.objects.getIamPolicy storage.objects.setIamPolicy storage.objects.update |
修改对象的元数据 | storage.objects.get storage.objects.update |
添加或移除对象的保全 | storage.objects.get storage.objects.update |
删除对象5 | storage.objects.delete |
查看项目的 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 角色。