权限管理
如果您需要对OBS资源,为企业中的员工设置不同的用户访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制云服务资源的访问。
通过IAM,您可以在帐号中给员工创建IAM用户,并授权控制他们对资源的访问范围。例如您的员工中有负责软件开发的人员,您希望他们拥有OBS的使用权限,但是不希望他们拥有删除OBS资源等高危操作的权限,那么您可以使用IAM为开发人员创建用户,通过授予仅能使用OBS,但是不允许删除OBS资源的权限,控制他们对OBS资源的使用范围。
如果帐号已经能满足您的要求,不需要创建独立的IAM用户进行权限管理,您可以跳过本章节,不影响您使用OBS的其它功能。
OBS权限
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授予策略,才能使得用户组中的用户获得策略定义的权限,这一过程称为授权。授权后,用户就可以基于策略对云服务进行操作。IAM系统预置了各服务的常用权限,例如完全控制权限、只读权限,您可以直接使用这些系统策略。
OBS部署时不区分物理区域,为全局级服务。授权时,在全局项目中设置策略,访问OBS时,不需要切换区域。
- RBAC策略:RBAC策略是将服务作为一个整体进行授权,授权后,用户可以拥有这个服务的所有权限,如访问整个服务、管理整个服务,RBAC策略无法针对服务中的具体操作做权限控制。
- 细粒度策略:细粒度策略以API接口为粒度进行权限拆分,授权更加精细,可以精确到具体操作。授权后,用户可以对这个服务执行特定的操作。
由于缓存的存在,对用户、用户组以及企业项目授予OBS相关的RBAC策略和细粒度策略后,大概需要等待10~15分钟策略才能生效。
表1为OBS的所有系统策略。
策略名称 |
描述 |
策略类别 |
---|---|---|
Tenant Administrator |
操作权限:对帐号拥有的所有云资源执行任意操作。 OBS策略在“全局服务>对象存储服务”下配置。 |
RBAC策略 |
Tenant Guest |
操作权限:对帐号拥有的所有云资源的只读权限。 OBS策略在“全局服务>对象存储服务”下配置。 |
RBAC策略 |
OBS Buckets Viewer |
操作权限:可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象的操作。 OBS策略在“全局服务>对象存储服务”下配置。 |
RBAC策略 |
OBS Viewer |
操作权限:可以执行列举桶、获取桶基本信息、获取桶元数据、列举对象的操作。 该策略是细粒度授权的系统策略,开启细粒度授权的用户可以使用该策略,并能够以该策略为模板创建自定义策略。 OBS策略在“全局服务>对象存储服务”下配置。 |
细粒度策略 |
OBS Operator |
操作权限:可以执行OBS Viewer的所有操作,在此基础上还可以执行上传对象、下载对象、删除对象、获取对象ACL等对象基本操作。 该策略是细粒度授权的系统策略,开启细粒度授权的用户可以使用该策略,并能够以该策略为模板创建自定义策略。 OBS策略在“全局服务>对象存储服务”下配置。 |
细粒度策略 |
用户拥有OBS资源权限后,对应在OBS上可以执行的具体操作下表所示。
操作名称 |
Tenant Administrator |
Tenant Guest |
OBS Buckets Viewer |
OBS Viewer |
OBS Operator |
---|---|---|---|---|---|
列举桶 |
可以 |
可以 |
可以 |
可以 |
可以 |
创建桶 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
删除桶 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
获取桶基本信息 |
可以 |
可以 |
可以 |
可以 |
可以 |
管理桶访问权限 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理桶策略 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
修改桶存储类别 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
列举对象 |
可以 |
可以 |
可以 |
可以 |
可以 |
列举多版本对象 |
可以 |
可以 |
不可以 |
不可以 |
不可以 |
上传文件 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
新建文件夹 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
删除文件 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
删除文件夹 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
下载文件 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
删除多版本文件 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
下载多版本文件 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
修改对象存储类别 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
恢复文件 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
取消删除文件 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
删除碎片 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
管理对象访问权限 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
设置对象元数据 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
获取对象元数据 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
管理多版本控制 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理日志记录 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理事件通知 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理标签 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理生命周期规则 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理静态网站托管 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理CORS规则 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理防盗链 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
域名管理 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
追加写对象 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
设置对象ACL |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
设置指定版本对象ACL |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
获取对象ACL |
可以 |
可以 |
不可以 |
不可以 |
可以 |
获取指定版本对象ACL |
可以 |
可以 |
不可以 |
不可以 |
可以 |
多段上传 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |
列举已上传段 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
取消多段上传任务 |
可以 |
不可以 |
不可以 |
不可以 |
可以 |