对象存储服务 OBS-IAM权限:IAM权限简介
IAM 权限简介
默认情况下,管理员创建的IAM用户没有任何权限,需要将其加入用户组,并给用户组授予策略和角色,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于被授予的权限对云服务进行操作。
对于OBS,IAM权限作用于OBS所有的桶和对象。如果要授予IAM用户操作OBS资源的权限,则需要向IAM用户所属的用户组授予一个或多个OBS权限。
OBS部署时不区分物理区域,为全局级服务。授权时,在全局级服务中设置权限,访问OBS时,不需要切换区域。
根据授权精细程度分为角色和策略。
- 角色:IAM最初提供的一种根据用户的工作职能定义权限的粗粒度授权机制。该机制以服务为粒度,提供有限的服务相关角色用于授权。由于华为云各服务之间存在业务依赖关系,因此给用户授予角色时,可能需要一并授予依赖的其他角色,才能正确完成业务。角色并不能满足用户对精细化授权的要求,无法完全达到企业对权限最小化的安全管控要求。
- 策略:IAM最新提供的一种细粒度授权的能力,可以精确到具体服务的操作、资源以及请求条件等。基于策略的授权是一种更加灵活的授权方式,能够满足企业对权限最小化的安全管控要求。例如:针对OBS服务,管理员能够控制IAM用户仅能对某一个桶资源进行指定的管理操作。多数细粒度策略以API接口为粒度进行权限拆分,OBS支持的API授权项请参见权限和授权项说明。

由于缓存的存在,对用户、用户组以及企业项目授予OBS相关的角色和策略后,大概需要等待10~15分钟权限才能生效。
IAM中为各云服务预置了系统权限,方便您快速完成基础权限配置,表1为OBS的所有系统权限。
如果系统预置的OBS权限,不满足您的授权要求,可以创建自定义策略。自定义策略中可以添加的授权项(Action)请参考桶相关授权项和对象相关授权项。
系统角色/策略名称 |
描述 |
类别 |
依赖关系 |
---|---|---|---|
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),才能在控制台正常看到对象列表。 |
系统策略 |
无 |
下表列出了OBS常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。
操作名称 |
Tenant Administrator |
Tenant Guest |
OBS Administrator |
OBS Buckets Viewer |
OBS ReadOnlyAccess |
OBS OperateAccess |
---|---|---|---|---|---|---|
列举桶 |
可以 |
可以 |
可以 |
可以 |
可以 |
可以 |
创建桶 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
删除桶 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
获取桶基本信息 |
可以 |
可以 |
可以 |
可以 |
可以 |
可以 |
获取桶监控数据 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理桶访问权限 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理桶策略 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
修改桶存储类别 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
列举对象 |
可以 |
可以 |
可以 |
不可以 |
可以 |
可以 |
列举多版本对象 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
不可以 |
上传文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
新建文件夹 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
删除文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
删除文件夹 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
下载文件 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
删除多版本文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
下载多版本文件 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
修改对象存储类别 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
恢复文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
取消删除文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
删除碎片 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
管理对象访问权限 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
设置对象元数据 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
获取对象元数据 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
管理多版本控制 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理日志记录 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理事件通知 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理标签 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理生命周期规则 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理静态网站托管 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理CORS规则 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理防盗链 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
域名 管理 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理跨区域复制 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理图片处理 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
追加写对象 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
设置对象ACL |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
设置指定版本对象ACL |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
获取对象ACL |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
获取指定版本对象ACL |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
多段上传 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
列举已上传段 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
取消多段上传任务 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |