更新时间:2025-12-19 GMT+08:00
分享

基于IAM进行权限管理

如果您需要对华为云上购买的OBS资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。如果华为云账号已经能满足您的要求,不需要通过IAM对用户进行权限管理,您可以跳过本章节,不影响您使用OBS服务的其它功能。

IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。

通过IAM,您可以通过授权控制他们对华为云资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有OBS的使用权限,但是不希望他们拥有删除OBS桶等高危操作的权限,那么您可以使用IAM进行权限分配,通过授予用户仅能使用OBS,但是不允许删除OBS桶的权限,控制他们对OBS资源的使用范围。

目前IAM支持两类授权,一类是角色与策略授权,另一类为身份策略授权。

两者有如下的区别和关系:

表1 两类授权的区别

名称

核心关系

涉及的权限

授权方式

适用场景

角色与策略授权

用户-权限-授权范围

  • 系统角色
  • 系统策略
  • 自定义策略

为主体授予角色或策略

核心关系为“用户-权限-授权范围”,每个用户根据所需权限和所需授权范围进行授权,无法直接给用户授权,需要维护更多的用户组,且支持的条件键较少,难以满足细粒度精确权限控制需求,更适用于对细粒度权限管控要求较低的中小企业用户。

身份策略授权

用户-策略

  • 系统身份策略
  • 自定义身份策略
  • 为主体授予身份策略
  • 身份策略附加至主体

核心关系为“用户-策略”,管理员可根据业务需求定制不同的访问控制策略,能够做到更细粒度更灵活的权限控制,新增资源时,对比角色与策略授权,基于身份策略的授权模型可以更快速地直接给用户授权,灵活性更强,更方便,但相对应的,整体权限管控模型构建更加复杂,对相关人员专业能力要求更高,因此更适用于中大型企业。

例如:如果需要对IAM用户授予可以创建华北-北京四区域的ECS和华南-广州区域的OBS的权限,基于角色与策略授权的场景中,由于涉及到两个需要授权的区域,所以管理员需要创建两个自定义策略,并且为IAM用户同时授予这两个自定义策略才可以实现权限控制。在基于身份策略授权的场景中,管理员仅需要创建一个自定义身份策略,在策略中通过条件键“g:RequestedRegion”的配置即可达到策略对于授权区域的控制。将身份策略附加主体或为主体授予该身份策略即可获得相应权限,权限配置方式更细粒度更灵活。

两种授权场景下的策略/身份策略、授权项等并不互通,推荐使用身份策略进行授权。例如,如果您使用基于身份策略的授权方式给用户授权,那么配置策略时,策略中的action需要使用基于身份策略的授权项,并使用基于身份策略的条件键和运算符。角色与策略权限管理身份策略权限管理分别介绍两种模型的系统权限。

关于IAM的详细介绍,请参见IAM产品介绍

角色与策略权限管理

OBS服务支持角色与策略授权。默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略或角色,才能使得用户组中的用户获得对应的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。

OBS部署时不区分物理区域,为全局级服务。授权时,在全局级服务中设置权限,访问OBS时,不需要切换区域。

表2所示,包括了OBS的所有系统权限。角色与策略授权场景的系统角色/策略和身份策略授权场景的系统身份策略并不互通。

表2 OBS系统权限

系统角色/策略名称

描述

类别

依赖关系

Tenant Administrator

拥有该权限的用户拥有除IAM外,其他所有服务的管理员权限。

系统角色

Tenant Guest

拥有该权限的用户拥有除IAM外,其他所有服务的只读权限。

系统策略

OBS Administrator

拥有该权限的用户为OBS管理员,可以对账号下的所有OBS资源执行任意操作。

系统策略

OBS Buckets Viewer

拥有该权限的用户可以执行获取桶列表、获取桶元数据、获取桶区域位置的操作,无其他权限。

系统角色

OBS ReadOnlyAccess

拥有该权限的用户可以执行获取桶列表、获取桶元数据、获取桶区域位置、列举桶内对象(不包含多版本)的操作,无其他权限。

说明:

拥有该权限的用户如果在管理控制台上列举对象失败,可能是因为桶中存在多版本对象。此时需要额外授予该用户列举多版本对象的权限(obs:bucket:ListBucketVersions),才能在控制台正常看到对象列表。

系统策略

OBS OperateAccess

拥有该权限的用户可以执行OBS ReadOnlyAccess的所有操作,在此基础上还可以执行上传对象、下载对象、删除对象、获取对象ACL等对象基本操作。

说明:

拥有该权限的用户如果在管理控制台上列举对象失败,可能是因为桶中存在多版本对象。此时需要额外授予该用户列举多版本对象的权限(obs:bucket:ListBucketVersions),才能在控制台正常看到对象列表。

系统策略

表3列出了OBS常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。

表3 常用操作与系统权限的关系

操作名称

Tenant Administrator

Tenant Guest

OBS Administrator

OBS Buckets Viewer

OBS ReadOnlyAccess

OBS OperateAccess

获取桶列表

可以

可以

可以

可以

可以

可以

创建桶

可以

不可以

可以

不可以

不可以

不可以

列举桶内对象

可以

可以

可以

不可以

可以

可以

获取桶元数据

可以

可以

可以

可以

可以

可以

获取桶区域位置

可以

可以

可以

可以

可以

可以

删除桶

可以

不可以

可以

不可以

不可以

不可以

设置桶策略

可以

不可以

可以

不可以

不可以

不可以

获取桶策略

可以

可以

可以

不可以

不可以

不可以

删除桶策略

可以

不可以

可以

不可以

不可以

不可以

设置桶ACL

可以

不可以

可以

不可以

不可以

不可以

获取桶ACL

可以

可以

可以

不可以

不可以

不可以

设置桶日志管理配置

可以

不可以

可以

不可以

不可以

不可以

获取桶日志管理配置

可以

可以

可以

不可以

不可以

不可以

设置桶的生命周期配置

可以

不可以

可以

不可以

不可以

不可以

获取桶的生命周期配置

可以

可以

可以

不可以

不可以

不可以

删除桶的生命周期配置

可以

不可以

可以

不可以

不可以

不可以

设置桶的多版本状态

可以

不可以

可以

不可以

不可以

不可以

获取桶的多版本状态

可以

可以

可以

不可以

不可以

不可以

设置桶的事件通知

可以

不可以

可以

不可以

不可以

不可以

获取桶的事件通知

可以

可以

可以

不可以

不可以

不可以

设置桶默认存储类型

可以

不可以

可以

不可以

不可以

不可以

获取桶默认存储类型

可以

可以

可以

不可以

不可以

不可以

设置桶的跨区域复制配置

可以

不可以

可以

不可以

不可以

不可以

获取桶的跨区域复制配置

可以

可以

可以

不可以

不可以

不可以

删除桶的跨区域复制配置

可以

不可以

可以

不可以

不可以

不可以

设置桶标签

可以

不可以

可以

不可以

不可以

不可以

获取桶标签

可以

可以

可以

不可以

不可以

不可以

删除桶标签

可以

不可以

可以

不可以

不可以

不可以

设置桶配额

可以

不可以

可以

不可以

不可以

不可以

获取桶配额

可以

可以

可以

不可以

不可以

不可以

获取桶存量信息

可以

可以

可以

不可以

不可以

不可以

设置桶清单

可以

不可以

可以

不可以

不可以

不可以

获取桶清单

可以

可以

可以

不可以

不可以

不可以

列举桶清单

可以

可以

可以

不可以

不可以

不可以

删除桶清单

可以

不可以

可以

不可以

不可以

不可以

设置桶的自定义域名

可以

不可以

可以

不可以

不可以

不可以

获取桶的自定义域名

可以

可以

可以

不可以

不可以

不可以

删除桶的自定义域名

可以

不可以

可以

不可以

不可以

不可以

设置桶的加密配置

可以

不可以

可以

不可以

不可以

不可以

获取桶的加密配置

可以

可以

可以

不可以

不可以

不可以

删除桶的加密配置

可以

不可以

可以

不可以

不可以

不可以

设置桶归档存储对象直读策略

可以

不可以

可以

不可以

不可以

不可以

获取桶归档存储对象直读策略

可以

可以

可以

不可以

不可以

不可以

删除桶归档存储对象直读策略

可以

不可以

可以

不可以

不可以

不可以

设置镜像回源规则

可以

不可以

可以

不可以

不可以

不可以

获取镜像回源规则

可以

可以

可以

不可以

不可以

不可以

删除镜像回源规则

可以

不可以

可以

不可以

不可以

不可以

设置DIS通知策略

可以

不可以

可以

不可以

不可以

不可以

获取DIS通知策略

可以

可以

可以

不可以

不可以

不可以

删除DIS通知策略

可以

不可以

可以

不可以

不可以

不可以

设置在线解压策略

可以

不可以

可以

不可以

不可以

不可以

获取在线解压策略

可以

可以

可以

不可以

不可以

不可以

删除在线解压策略

可以

不可以

可以

不可以

不可以

不可以

配置桶级默认WORM策略

可以

不可以

可以

不可以

不可以

不可以

获取桶级默认WORM策略

可以

可以

可以

不可以

不可以

不可以

设置桶的网站配置

可以

不可以

可以

不可以

不可以

不可以

获取桶的网站配置

可以

可以

可以

不可以

不可以

不可以

删除桶的网站配置

可以

不可以

可以

不可以

不可以

不可以

设置桶的CORS配置

可以

不可以

可以

不可以

不可以

不可以

获取桶的CORS配置

可以

可以

可以

不可以

不可以

不可以

删除桶的CORS配置

可以

不可以

可以

不可以

不可以

不可以

PUT上传

可以

不可以

可以

不可以

不可以

可以

POST上传

可以

不可以

可以

不可以

不可以

可以

复制对象

可以

不可以

可以

不可以

不可以

可以

下载对象

可以

可以

可以

不可以

不可以

可以

获取对象元数据

可以

可以

可以

不可以

不可以

可以

删除对象

可以

不可以

可以

不可以

不可以

可以

批量删除对象

可以

不可以

可以

不可以

不可以

可以

恢复归档存储或深度归档存储对象

可以

不可以

可以

不可以

不可以

不可以

追加写对象

可以

不可以

可以

不可以

不可以

可以

设置对象ACL

可以

不可以

可以

不可以

不可以

不可以

获取对象ACL

可以

可以

可以

不可以

不可以

可以

修改对象元数据

可以

不可以

可以

不可以

不可以

不可以

修改写对象

可以

不可以

可以

不可以

不可以

可以

截断对象

可以

不可以

可以

不可以

不可以

可以

重命名对象

可以

不可以

可以

不可以

不可以

可以

设置对象标签

可以

不可以

可以

不可以

不可以

不可以

获取对象标签

可以

可以

可以

不可以

不可以

不可以

删除对象标签

可以

不可以

可以

不可以

不可以

不可以

配置对象级WORM保护策略

可以

不可以

可以

不可以

不可以

不可以

列举桶中已初始化多段任务

可以

可以

可以

不可以

不可以

不可以

初始化上传段任务

可以

不可以

可以

不可以

不可以

可以

上传段

可以

不可以

可以

不可以

不可以

可以

拷贝段

可以

不可以

可以

不可以

不可以

不可以

列举已上传未合并的段

可以

可以

可以

不可以

不可以

可以

合并段

可以

不可以

可以

不可以

不可以

可以

取消多段上传任务

可以

不可以

可以

不可以

不可以

可以

OBS控制台功能依赖的角色或策略

表4 OBS管理控制台依赖服务的角色或策略

控制台功能

依赖服务

需配置角色/策略

获取已有域名列表(在配置自定义域名和加速域名时,获取在华为云已有的域名列表)

域名注册服务 Domains

需要增加Domains:domains:getDetails权限后才能访问已有的域名列表。

设置镜像回源规则

对象存储服务 OBS

  • 需要增加Tenant Administrator权限后才能设置镜像回源规则。
  • 镜像回源需使用IAM委托功能,创建云服务委托,委托OBS获取源站数据。委托需要给OBS服务授予obs:object:PutObject权限。
  • 如果桶开启了SSE-KMS服务端加密功能,对OBS的云服务委托中还需要配置kms:cmk:get、kms:cmk:list、kms:cmk:create、kms:dek:create、kms:dek:crypto权限。

获取镜像回源规则

对象存储服务 OBS

需要增加Tenant Administrator权限后才能获取镜像回源规则。

删除镜像回源规则

对象存储服务 OBS

需要增加Tenant Administrator权限后才能删除镜像回源规则。

设置DIS通知策略

对象存储服务 OBS

  • 需要增加Tenant Administrator权限后才能设置DIS通知策略。
  • 使用DIS消息通知需要创建对OBS云服务的委托,委托赋予的权限需为数据接入服务DIS的DIS Administrator或DIS User权限。

获取DIS通知策略

对象存储服务 OBS

需要增加Tenant Administrator权限后才能获取DIS通知策略。

删除DIS通知策略

对象存储服务 OBS

需要增加Tenant Administrator权限后才能删除DIS通知策略。

设置在线解压策略

对象存储服务 OBS

需要增加Tenant Administrator权限后才能设置在线解压策略。

获取在线解压策略

对象存储服务 OBS

需要增加Tenant Administrator权限后才能获取在线解压策略。

删除在线解压策略

对象存储服务 OBS

需要增加Tenant Administrator权限后才能删除在线解压策略。

服务端加密

密钥管理服务 KMS

当桶或者桶内对象开启了SSE-KMS服务端加密功能,需要为请求者配置kms:cmk:get、kms:cmk:list、kms:cmk:create、kms:dek:create、kms:dek:crypto权限,才能上传下载对象。

data+创建工作流

数据工坊 DWR

需要增加dwr:workflow:createWorkflow权限后才能创建工作流。

data+查询工作流详情

数据工坊 DWR

需要增加dwr:workflow:getWorkflowDetailInfo权限后才能查询工作流详情。

data+删除工作流

数据工坊 DWR

需要增加dwr:workflow:deleteWorkflow权限后才能删除工作流。

data+更新工作流

数据工坊 DWR

需要增加dwr:workflow:updateWorkflow权限后才能更新工作流。

data+查询工作流列表

数据工坊 DWR

需要增加dwr:workflow:listWorkflows权限后才能查询工作流列表。

data+API异步启动工作流

数据工坊 DWR

需要增加dwr:workflow:executeAsync权限后才能API异步启动工作流。

data+查询工作流实例

数据工坊 DWR

需要增加dwr:workflow:getWorkflowExecutionInfo权限后才能查询工作流实例。

data+恢复失败状态的工作流实例

数据工坊 DWR

需要增加dwr:workflow:executeRestoration权限后才能恢复失败状态的工作流实例。

data+开通授权

数据工坊 DWR

需要增加dwr:workflow:createAssumeRole权限后才能开通授权。

data+查询授权

数据工坊 DWR

需要增加dwr:workflow:getAuthorizationStatus权限后才能查询授权。

data+查询华为云算子模板详情

数据工坊 DWR

需要增加dwr:workflow:getSystemActionTemplate权限后才能查询华为云算子模板详情。

data+查询华为云算子模板列表

数据工坊 DWR

需要增加dwr:workflow:listSystemActionTemplates权限后才能查询华为云算子模板列表。

data+配置桶触发器

数据工坊 DWR

  • 需要增加Tenant Administrator权限后才能配置桶触发器。

data+查询桶触发器

数据工坊 DWR

  • 需要增加Tenant Administrator权限后才能查询桶触发器。

data+删除桶触发器

数据工坊 DWR

  • 需要增加Tenant Administrator权限后才能删除桶触发器。

身份策略权限管理

OBS服务支持身份策略授权。如表5所示,包括了OBS身份策略中的所有系统身份策略。身份策略授权场景的系统身份策略和角色与策略授权场景的系统角色/策略并不互通。

表5 OBS系统策略

系统策略名称

描述

策略类别

OBSFullAccessPolicy

对象存储服务(OBS)管理员权限。

系统身份策略

OBSBucketsViewerPolicy

只有对象存储服务(OBS)获取桶列表、获取桶元数据、获取桶区域位置,无其他权限。

系统身份策略

OBSReadOnlyPolicy

只有对象存储服务(OBS)获取桶列表、获取桶元数据、列举桶内对象、查询桶位置权限,无其他权限。

系统身份策略

OBSBasicOperationsPolicy

具有对象存储服务(OBS)查看桶列表、获取桶元数据、列举桶内对象、查询桶位置、上传对象、获取对象、删除对象、获取对象ACL等对象基本操作权限。

系统身份策略

OBSAssumeLoggingPolicy

具有OBS服务桶日志委托上传对象相关权限。

系统身份策略

OBSConsoleFullAccessPolicy

具有对象存储服务(OBS)管理控制台使用所有权限。

系统身份策略

表6列出了OBS常用操作与系统策略的授权关系,您可以参照该表选择合适的系统策略。

表6 常用操作与系统策略的关系

操作名称

OBSFullAccessPolicy

OBSBucketsViewerPolicy

OBSReadOnlyPolicy

OBSBasicOperationsPolicy

OBSAssumeLoggingPolicy

OBSConsoleFullAccessPolicy

获取桶列表

可以

可以

可以

可以

不可以

可以

创建桶

可以

不可以

不可以

不可以

不可以

可以

列举桶内对象

可以

不可以

可以

可以

不可以

可以

获取桶元数据

可以

可以

可以

可以

不可以

可以

获取桶区域位置

可以

可以

可以

可以

不可以

可以

删除桶

可以

不可以

不可以

不可以

不可以

可以

设置桶策略

可以

不可以

不可以

不可以

不可以

可以

获取桶策略

可以

不可以

不可以

不可以

不可以

可以

删除桶策略

可以

不可以

不可以

不可以

不可以

可以

设置桶ACL

可以

不可以

不可以

不可以

不可以

可以

获取桶ACL

可以

不可以

不可以

不可以

不可以

可以

设置桶日志管理配置

可以

不可以

不可以

不可以

不可以

可以

获取桶日志管理配置

可以

不可以

不可以

不可以

不可以

可以

设置桶的生命周期配置

可以

不可以

不可以

不可以

不可以

可以

获取桶的生命周期配置

可以

不可以

不可以

不可以

不可以

可以

删除桶的生命周期配置

可以

不可以

不可以

不可以

不可以

可以

设置桶的多版本状态

可以

不可以

不可以

不可以

不可以

可以

获取桶的多版本状态

可以

不可以

不可以

不可以

不可以

可以

设置桶的事件通知

可以

不可以

不可以

不可以

不可以

可以

获取桶的事件通知

可以

不可以

不可以

不可以

不可以

可以

设置桶默认存储类型

可以

不可以

不可以

不可以

不可以

可以

获取桶默认存储类型

可以

不可以

不可以

不可以

不可以

可以

设置桶的跨区域复制配置

可以

不可以

不可以

不可以

不可以

可以

获取桶的跨区域复制配置

可以

不可以

不可以

不可以

不可以

可以

删除桶的跨区域复制配置

可以

不可以

不可以

不可以

不可以

可以

设置桶标签

可以

不可以

不可以

不可以

不可以

可以

获取桶标签

可以

不可以

不可以

不可以

不可以

可以

删除桶标签

可以

不可以

不可以

不可以

不可以

可以

设置桶配额

可以

不可以

不可以

不可以

不可以

可以

获取桶配额

可以

不可以

不可以

不可以

不可以

可以

获取桶存量信息

可以

不可以

不可以

不可以

不可以

可以

设置桶清单

可以

不可以

不可以

不可以

不可以

可以

获取桶清单

可以

不可以

不可以

不可以

不可以

可以

列举桶清单

可以

不可以

不可以

不可以

不可以

可以

删除桶清单

可以

不可以

不可以

不可以

不可以

可以

设置桶的自定义域名

可以

不可以

不可以

不可以

不可以

可以

获取桶的自定义域名

可以

不可以

不可以

不可以

不可以

可以

删除桶的自定义域名

可以

不可以

不可以

不可以

不可以

可以

设置桶的加密配置

可以

不可以

不可以

不可以

不可以

可以

获取桶的加密配置

可以

不可以

不可以

不可以

不可以

可以

删除桶的加密配置

可以

不可以

不可以

不可以

不可以

可以

设置桶归档存储对象直读策略

可以

不可以

不可以

不可以

不可以

可以

获取桶归档存储对象直读策略

可以

不可以

不可以

不可以

不可以

可以

删除桶归档存储对象直读策略

可以

不可以

不可以

不可以

不可以

可以

设置镜像回源规则

可以

不可以

不可以

不可以

不可以

可以

获取镜像回源规则

可以

不可以

不可以

不可以

不可以

可以

删除镜像回源规则

可以

不可以

不可以

不可以

不可以

可以

设置DIS通知策略

可以

不可以

不可以

不可以

不可以

可以

获取DIS通知策略

可以

不可以

不可以

不可以

不可以

可以

删除DIS通知策略

可以

不可以

不可以

不可以

不可以

可以

设置在线解压策略

可以

不可以

不可以

不可以

不可以

可以

获取在线解压策略

可以

不可以

不可以

不可以

不可以

可以

删除在线解压策略

可以

不可以

不可以

不可以

不可以

可以

配置桶级默认WORM策略

可以

不可以

不可以

不可以

不可以

可以

获取桶级默认WORM策略

可以

不可以

不可以

不可以

不可以

可以

设置桶的网站配置

可以

不可以

不可以

不可以

不可以

可以

获取桶的网站配置

可以

不可以

不可以

不可以

不可以

可以

删除桶的网站配置

可以

不可以

不可以

不可以

不可以

可以

设置桶的CORS配置

可以

不可以

不可以

不可以

不可以

可以

获取桶的CORS配置

可以

不可以

不可以

不可以

不可以

可以

删除桶的CORS配置

可以

不可以

不可以

不可以

不可以

可以

PUT上传

可以

不可以

不可以

可以

可以

可以

POST上传

可以

不可以

不可以

可以

可以

可以

复制对象

可以

不可以

不可以

可以

可以

可以

下载对象

可以

不可以

不可以

可以

不可以

可以

获取对象元数据

可以

不可以

不可以

可以

不可以

可以

删除对象

可以

不可以

不可以

可以

不可以

可以

批量删除对象

可以

不可以

不可以

可以

不可以

可以

恢复归档存储或深度归档存储对象

可以

不可以

不可以

不可以

不可以

可以

追加写对象

可以

不可以

不可以

可以

可以

可以

设置对象ACL

可以

不可以

不可以

不可以

不可以

可以

获取对象ACL

可以

不可以

不可以

可以

不可以

可以

修改对象元数据

可以

不可以

不可以

不可以

不可以

可以

修改写对象

可以

不可以

不可以

不可以

可以

可以

截断对象

可以

不可以

不可以

不可以

可以

可以

重命名对象

可以

不可以

不可以

不可以

可以

可以

设置对象标签

可以

不可以

不可以

不可以

不可以

可以

获取对象标签

可以

不可以

不可以

不可以

不可以

可以

删除对象标签

可以

不可以

不可以

不可以

不可以

可以

配置对象级WORM保护策略

可以

不可以

不可以

不可以

不可以

可以

列举桶中已初始化多段任务

可以

不可以

不可以

不可以

不可以

可以

初始化上传段任务

可以

不可以

不可以

可以

可以

可以

上传段

可以

不可以

不可以

可以

可以

可以

拷贝段

可以

不可以

不可以

不可以

不可以

可以

列举已上传未合并的段

可以

不可以

不可以

可以

不可以

可以

合并段

可以

不可以

不可以

可以

可以

可以

取消多段上传任务

可以

不可以

不可以

可以

不可以

可以

相关文档