以下页面讨论了在 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.createstorage.buckets.enableObjectRetention1 |
| 将标记附加到存储桶 | storage.buckets.createTagBinding |
| 列出或过滤存储桶 | 无其他权限 |
| 列出直接附加到存储桶的标记 | storage.buckets.listTagBindings |
| 列出继承的标记以及直接附加到存储桶的标记 | storage.buckets.listEffectiveTags |
查看以下存储桶信息:
|
storage.buckets.get |
更改以下存储桶设置:
|
storage.buckets.getstorage.buckets.updatestorage.buckets.enableObjectRetention1 |
| 启用请求者付款功能 | storage.buckets.getstorage.buckets.update |
| 停用请求者付款功能 | storage.buckets.getstorage.buckets.updateresourcemanager.projects.createBillingAssignment3 |
| 更改禁止公开访问设置 | storage.buckets.getstorage.buckets.setIamPolicystorage.buckets.update |
| 更改存储桶权限 | storage.buckets.getstorage.buckets.getIamPolicystorage.buckets.setIamPolicystorage.buckets.update |
| 删除空存储分区 | storage.buckets.deletestorage.objects.list |
| 删除非空存储桶 | storage.buckets.deletestorage.objects.deletestorage.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.createstorage.objects.delete2storage.objects.setRetention4 |
| 查看对象的详细信息5 | storage.objects.getstorage.objects.list |
| 查看对象的版本记录 | storage.objects.getstorage.objects.list |
| 下载对象5或对象文件夹 | storage.objects.getstorage.objects.list |
| 列出存储桶中的对象,包括非当前对象和软删除的对象 | storage.objects.list |
| 确定对象是否可公开访问5 | storage.buckets.getIamPolicystorage.objects.liststorage.objects.getIamPolicy7 |
| 重命名对象或恢复非当前对象版本 | storage.objects.createstorage.objects.deletestorage.objects.getstorage.objects.liststorage.objects.getIamPolicy7storage.objects.setIamPolicy7 |
| 复制对象 | storage.objects.createstorage.objects.delete2storage.objects.getstorage.objects.liststorage.objects.getIamPolicy7、8storage.objects.setIamPolicy7、8 |
| 移动对象 | storage.objects.createstorage.objects.delete2storage.objects.deletestorage.objects.getstorage.objects.liststorage.objects.getIamPolicy7、8storage.objects.setIamPolicy7、8 |
| 查看对象的访问权限5、6 | storage.objects.getstorage.objects.liststorage.objects.getIamPolicy |
| 修改对象的访问权限5、6 | storage.objects.getstorage.objects.liststorage.objects.getIamPolicystorage.objects.setIamPolicystorage.objects.update |
| 修改对象的元数据5 | storage.objects.getstorage.objects.liststorage.objects.update |
| 添加、更改或移除对象的保留配置5 | storage.objects.getstorage.objects.liststorage.objects.updatestorage.objects.setRetentionstorage.objects.overrideUnlockedRetention9 |
| 添加或移除对象的保全5 | storage.objects.getstorage.objects.liststorage.objects.update |
| 删除对象5、非当前对象版本或对象的文件夹 | storage.objects.deletestorage.objects.list |
| 恢复已删除的对象 | storage.objects.createstorage.objects.delete2storage.objects.liststorage.objects.restore |
| 批量恢复已删除的对象 | storage.objects.createstorage.objects.delete10storage.objects.restorestorage.buckets.restorestorage.objects.setIamPolicy7,11 |
| 查看项目的 Cloud Storage 服务代理的名称 | resourcemanager.projects.get |
| 查看项目的服务账号 HMAC 密钥 | resourcemanager.projects.getstorage.hmacKeys.list |
| 为服务账号创建 HMAC 密钥 | resourcemanager.projects.getstorage.hmacKeys.liststorage.hmacKeys.create |
| 为服务账号停用或重新启用 HMAC 密钥 | resourcemanager.projects.getstorage.hmacKeys.liststorage.hmacKeys.update |
| 删除服务账号的 HMAC 密钥 | resourcemanager.projects.getstorage.hmacKeys.liststorage.hmacKeys.delete |
| 为登录时使用的用户账号创建、查看或删除 HMAC 密钥 | resourcemanager.projects.get |
| 在项目、文件夹或组织中配置、更新或停用 Storage Intelligence 配置 | storage.intelligenceConfigs.update |
| 查看项目、文件夹或组织中的 Storage Intelligence 配置 | storage.intelligenceConfigs.get |
| 使用 Anywhere Cache 创建缓存 | storage.anywhereCaches.create |
| 使用 Anywhere Cache 列出缓存 | storage.anywhereCaches.list |
| 使用 Anywhere Cache 更新缓存 | storage.anywhereCaches.update |
| 使用 Anywhere Cache 暂停缓存 | storage.anywhereCaches.pause |
| 使用 Anywhere Cache 恢复缓存 | storage.anywhereCaches.resume |
| 使用 Anywhere Cache 获取缓存的元数据 | storage.anywhereCaches.get |
| 使用 Anywhere Cache 停用缓存 | storage.anywhereCaches.disable |
1 仅当启用存储桶以支持对象保留配置时,才需要此权限。
2 仅当目标存储桶中已存在同名对象时,才需要此权限。
3仅当您的请求中未包含结算项目时,才需要此权限。如需了解详情,请参阅请求者付款功能的使用和访问要求。
4仅当在对象上传过程中添加保留配置时,才需要此权限。
5如果在相关对象的详情页面上执行此操作,并且您不会从存储桶的整个对象列表中访问详情页面,则此操作不需要 storage.objects.list。
6 此操作不适用于启用了统一存储桶级访问权限的存储桶。
7 此权限不适用于启用了统一存储桶级访问权限的存储桶。
8 仅在保留当前应用于源对象的权限时,才需要此权限。
9 更改现有保留配置以锁定、缩减或移除配置时需要此权限。
10 仅当目标存储桶中已存在同名对象并且您选择了覆盖当前对象选项时,才需要此权限。
11 只有在选择复制来源访问权限控制 (ACL) 选项时,才需要此权限。
后续步骤
如需查看角色及其所含权限的列表,请参阅适用于 Cloud Storage 的 IAM 角色。
在项目和存储桶级层分配 IAM 角色。