权限管理
如果您需要对购买的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分钟权限才能生效。
表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常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。
操作名称 |
Tenant Administrator |
Tenant Guest |
OBS Administrator |
OBS Buckets Viewer |
OBS ReadOnlyAccess |
OBS OperateAccess |
---|---|---|---|---|---|---|
列举桶 |
可以 |
可以 |
可以 |
可以 |
可以 |
可以 |
创建桶 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
删除桶 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
获取桶基本信息 |
可以 |
可以 |
可以 |
可以 |
可以 |
可以 |
获取桶监控数据 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理桶访问权限 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理桶策略 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
修改桶存储类别 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
列举对象 |
可以 |
可以 |
可以 |
不可以 |
可以 |
可以 |
列举多版本对象 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
不可以 |
上传文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
新建文件夹 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
删除文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
删除文件夹 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
下载文件 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
删除多版本文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
下载多版本文件 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
修改对象存储类别 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
恢复文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
取消删除文件 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
删除碎片 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
管理对象访问权限 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
设置对象元数据 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
获取对象元数据 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
管理多版本控制 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理日志记录 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理事件通知 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理桶标签 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理生命周期规则 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理静态网站托管 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理CORS规则 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理防盗链 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
域名管理 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理跨区域复制 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
管理图片处理 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
追加写对象 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
设置对象ACL |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
设置指定版本对象ACL |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
获取对象ACL |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
获取指定版本对象ACL |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
多段上传 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
列举已上传段 |
可以 |
可以 |
可以 |
不可以 |
不可以 |
可以 |
取消多段上传任务 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
可以 |
在线解压 |
可以 |
不可以 |
不可以 |
不可以 |
不可以 |
不可以 |
管理对象标签 |
可以 |
不可以 |
可以 |
不可以 |
不可以 |
不可以 |
OBS控制台功能依赖的权限
控制台功能 |
依赖服务 |
需配置角色/策略 |
---|---|---|
获取已有域名列表(在配置自定义域名和加速域名时,获取在华为云已有的域名列表) |
域名注册服务 Domains |
需要增加Domains:domains:getDetails权限后才能访问已有的域名列表。 |
设置镜像回源规则 |
对象存储服务 OBS |
|
获取镜像回源规则 |
对象存储服务 OBS |
需要增加Tenant Administrator权限后才能获取镜像回源规则 |
删除镜像回源规则 |
对象存储服务 OBS |
需要增加Tenant Administrator权限后才能删除镜像回源规则 |
设置DIS通知策略 |
对象存储服务 OBS |
|
获取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、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 |
需要增加Tenant Administrator权限后才能查询工作流实例列表 |
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权限后才能删除桶触发器 |