更新时间:2024-10-15 GMT+08:00

权限管理

OBS资源权限管理

OBS桶和对象的权限可以通过IAM用户权限、桶策略和ACL共同控制,本章节介绍使用IAM进行权限管理。

更多关于OBS资源权限管理的内容请参见权限管理

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

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

如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用OBS的其它功能。

IAM是华为云提供权限管理的基础服务,无需付费即可使用,您只需要为您账号中的资源进行付费。关于IAM的详细介绍,请参见《IAM产品介绍》

OBS权限

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

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

根据授权精细程度分为角色和策略。

  • 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
  • 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对OBS服务,管理员能够控制IAM用户仅能对某一个桶资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,OBS支持的API授权项请参见权限和授权项说明

由于缓存的存在,对用户、用户组以及企业项目授予OBS相关的角色和策略后,大概需要等待10~15分钟权限才能生效。

表1OBS的所有系统权限。

表1 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),才能在控制台正常看到对象列表。

系统策略

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

表2 OBS操作与资源权限关系

操作名称

Tenant Administrator

Tenant Guest

OBS Administrator

OBS Buckets Viewer

OBS ReadOnlyAccess

OBS OperateAccess

列举桶

可以

可以

可以

可以

可以

可以

创建桶

可以

不可以

可以

不可以

不可以

不可以

删除桶

可以

不可以

可以

不可以

不可以

不可以

获取桶基本信息

可以

可以

可以

可以

可以

可以

管理桶访问权限

可以

不可以

可以

不可以

不可以

不可以

管理桶策略

可以

不可以

可以

不可以

不可以

不可以

修改桶存储类别

可以

不可以

可以

不可以

不可以

不可以

列举对象

可以

可以

可以

不可以

可以

可以

列举多版本对象

可以

可以

可以

不可以

不可以

不可以

上传文件

可以

不可以

可以

不可以

不可以

可以

新建文件夹

可以

不可以

可以

不可以

不可以

可以

删除文件

可以

不可以

可以

不可以

不可以

可以

删除文件夹

可以

不可以

可以

不可以

不可以

可以

下载文件

可以

可以

可以

不可以

不可以

可以

删除多版本文件

可以

不可以

可以

不可以

不可以

可以

下载多版本文件

可以

可以

可以

不可以

不可以

可以

修改对象存储类别

可以

不可以

可以

不可以

不可以

不可以

恢复文件

可以

不可以

可以

不可以

不可以

不可以

取消删除文件

可以

不可以

可以

不可以

不可以

可以

删除碎片

可以

不可以

可以

不可以

不可以

可以

管理对象访问权限

可以

不可以

可以

不可以

不可以

不可以

设置对象元数据

可以

不可以

可以

不可以

不可以

不可以

获取对象元数据

可以

可以

可以

不可以

不可以

可以

管理多版本控制

可以

不可以

可以

不可以

不可以

不可以

管理日志记录

可以

不可以

可以

不可以

不可以

不可以

管理标签

可以

不可以

可以

不可以

不可以

不可以

管理生命周期规则

可以

不可以

可以

不可以

不可以

不可以

管理静态网站托管

可以

不可以

可以

不可以

不可以

不可以

管理CORS规则

可以

不可以

可以

不可以

不可以

不可以

管理防盗链

可以

不可以

可以

不可以

不可以

不可以

域名管理

可以

不可以

可以

不可以

不可以

不可以

管理跨区域复制

可以

不可以

可以

不可以

不可以

不可以

管理图片处理

可以

不可以

可以

不可以

不可以

不可以

追加写对象

可以

不可以

可以

不可以

不可以

可以

设置对象ACL

可以

不可以

可以

不可以

不可以

不可以

设置指定版本对象ACL

可以

不可以

可以

不可以

不可以

不可以

获取对象ACL

可以

可以

可以

不可以

不可以

可以

获取指定版本对象ACL

可以

可以

可以

不可以

不可以

可以

多段上传

可以

不可以

可以

不可以

不可以

可以

列举已上传段

可以

可以

可以

不可以

不可以

可以

取消多段上传任务

可以

不可以

可以

不可以

不可以

可以

在线解压

可以

不可以

不可以

不可以

不可以

不可以

OBS控制台功能依赖的权限

表3 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、kms:dek:crypto权限。

获取镜像回源规则

对象存储服务 OBS

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

删除镜像回源规则

对象存储服务 OBS

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

设置在线解压策略

对象存储服务 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、kms:dek:crypto权限,才能上传下载对象。