以下页面讨论了在 Google Cloud 控制台的 Cloud Storage 部分中执行操作所需的 Identity and Access Management (IAM) 权限。将 IAM 权限捆绑在一起即可创建角色,您可以为用户和群组授予角色。
使用 Google Cloud 控制台需要的常用权限
通常具有某些权限才能使用 Google Cloud 控制台:
涉及存储桶的所有操作都应具有项目级层的
resourcemanager.projects.get
和storage.buckets.list
权限。这些权限让您可以访问“存储桶”页面,您可以在该页面中创建、查看和更新存储桶。
请求中包含结算项目的所有操作都需要指定项目的
serviceusage.services.use
权限。此权限可确保您有权对指定的项目进行结算。例如,在访问启用了请求者付款功能的存储桶时,将包含结算项目。
执行特定操作所需的权限
操作 | 必需的 IAM 权限(除了上面列出的权限以外) |
---|---|
创建存储桶 | storage.buckets.create storage.buckets.enableObjectRetention 1 |
将标记附加到存储桶 | storage.buckets.createTagBinding |
列出或过滤存储桶 | 无其他权限 |
列出直接附加到存储桶的标记 | storage.buckets.listTagBindings |
列出继承的标记以及直接附加到存储桶的标记 | storage.buckets.listEffectiveTags |
查看以下存储桶信息:
|
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.buckets.deleteTagBinding |
创建文件夹 | storage.folders.create |
获取文件夹的元数据 | storage.folders.get |
列出文件夹 | storage.folders.list |
重命名文件夹 | storage.folders.rename (针对源存储桶)storage.folders.create (针对目标存储桶) |
删除文件夹 | storage.folders.delete |
上传对象或对象文件夹 | storage.objects.create storage.objects.delete 2storage.objects.setRetention 4 |
查看对象的详细信息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 7 |
重命名对象或恢复非当前对象版本 | storage.objects.create storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 7storage.objects.setIamPolicy 7 |
复制对象 | storage.objects.create storage.objects.delete 2storage.objects.get storage.objects.list storage.objects.getIamPolicy 7、8storage.objects.setIamPolicy 7、8 |
移动对象 | storage.objects.create storage.objects.delete 2storage.objects.delete storage.objects.get storage.objects.list storage.objects.getIamPolicy 7、8storage.objects.setIamPolicy 7、8 |
查看对象的访问权限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 storage.objects.setRetention storage.objects.overrideUnlockedRetention 9 |
添加或移除对象的保全5 | storage.objects.get storage.objects.list storage.objects.update |
删除对象5、非当前对象版本或对象的文件夹 | storage.objects.delete storage.objects.list |
恢复已删除的对象 | storage.objects.create storage.objects.delete 2storage.objects.list storage.objects.restore |
批量恢复已删除的对象 | storage.objects.create storage.objects.delete 10storage.objects.restore storage.buckets.restore storage.objects.setIamPolicy 7,11 |
查看项目的 Cloud Storage 服务代理的名称 | resourcemanager.projects.get |
查看项目的服务账号 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 |
为登录时使用的用户账号创建、查看或删除 HMAC 密钥 | resourcemanager.projects.get |
1 仅当启用存储桶以支持对象保留配置时,才需要此权限。
2 仅当目标存储桶中已存在同名对象时,才需要此权限。
3仅当您的请求中未包含结算项目时,才需要此权限。如需了解详情,请参阅请求者付款功能的使用和访问要求。
4 仅当在上传对象过程中添加保留配置时,才需要此权限。
5如果在相关对象的详情页面上执行此操作,并且您不会从存储桶的整个对象列表中访问详情页面,则此操作不需要 storage.objects.list
。
6 此操作不适用于启用了统一存储桶级访问权限的存储桶。
7 此权限不适用于启用了统一存储桶级访问权限的存储桶。
8 仅在保留当前应用于源对象的权限时,才需要此权限。
9 更改现有保留配置以锁定、缩减或移除配置时需要此权限。
10 仅当目标存储桶中已存在同名对象并且您选择了覆盖当前对象选项时,才需要此权限。
11 只有在选择复制来源访问权限控制 (ACL) 选项时,才需要此权限。
后续步骤
如需查看角色及其所含权限的列表,请参阅适用于 Cloud Storage 的 IAM 角色。
在项目和存储桶级层分配 IAM 角色。