华为云对象存储OBS对单个IAM用户授予指定对象的读权限_云淘科技
场景介绍
本案例介绍如何为华为云帐号下的某个IAM用户授予OBS桶中某个对象或某类对象的读权限。
推荐配置方法
对单个IAM用户授予资源级别权限,推荐使用桶策略。
配置须知
本案例预置的“对象只读”模板允许指定IAM用户对桶内指定对象执行以下权限:
GetObject(获取对象内容、获取对象元数据)
GetObjectVersion(获取指定版本对象内容、获取指定版本对象元数据)
GetObjectVersionAcl(获取指定版本对象ACL)
GetObjectAcl(获取对象ACL)
RestoreObject(恢复归档存储对象)
按照本案例配置后,可以正常通过API或SDK完成读操作(下载指定对象),但如果通过控制台或OBS Browser+登录,会出现无权限的相关提示信息。
报错原因:通过控制台或者OBS Browser+登录后,加载桶列表时会调用获取桶列表(ListAllMyBuckets)等接口,加载对象列表时会调用列举桶内对象(ListBucket)等接口,其他页面也会调用其他的OBS接口。而授予的只读权限中并没有包含这些操作的权限,所以会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。
如果希望IAM用户能在控制台或OBS Browser+顺利完成相关读操作,请按照后续操作继续配置IAM自定义策略。
配置步骤
在OBS管理控制台左侧导航栏选择“桶列表”。
在桶列表单击目标桶的桶名称,进入“对象”页面。
在左侧导航栏,单击“访问权限控制>桶策略”,进入桶策略页面。
在“桶策略”页面,单击“创建”。
根据使用习惯,策略配置方式以可视化视图为例。单击“可视化视图”。
配置桶策略内容。
图1 配置桶策略
参数 |
说明 |
|
---|---|---|
策略名称 |
输入自定义策略的名称 |
|
策略内容 |
效力 |
允许 |
被授权用户 |
被授权用户:当前帐号 |
|
授权资源 |
资源范围:指定对象 说明: 指定对象支持输入多个资源路径,单击“添加资源路径”按钮即可。 如果指定某个对象:对象名称。 如果指定某个对象集:“对象名称前缀”+“*”、“*”+“对象名后缀”或“*”。 |
|
授权操作 |
动作范围:模板配置 |
核对权限配置信息,确认无误后单击“创建”,完成桶策略创建。
权限配置信息可以在桶策略列表查看。
图2 查看桶策略列表权限配置信息
后续操作
如果希望在控制台或OBS Browser+顺利完成读操作,需要能“看到”桶和桶中的对象,即需要通过IAM自定义策略配置列举桶(obs:bucket:ListAllMyBuckets)和列举桶中对象(obs:bucket:ListBucket)的权限。
obs:bucket:ListAllMyBuckets面向所有资源,obs:bucket:ListBucket只面向授权的桶,所以策略要分别添加两条权限。
使用帐号登录华为云,在右上角单击“控制台”。
在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
在左侧导航窗格中,单击“权限管理”>“权限”>“创建自定义策略”。
配置自定义策略参数。
图3 配置自定义策略
参数 |
说明 |
---|---|
策略名称 |
输入自定义策略的名称 |
策略配置方式 |
根据使用习惯进行选择,此处以“可视化视图”为例 |
策略内容 |
【权限1】 选择“允许” 【权限2】 选择“允许” |
作用范围 |
默认为“全局级服务” |
单击“确定”,完成自定义策略创建。
创建用户组并授权。
按照IAM文档指导,将前面步骤创建的自定义策略添加到用户组中。
将需要授权的IAM用户加入到创建的用户组中,授权完成。
由于缓存的存在,授予OBS相关的策略后,大概需要等待10~15分钟策略才能生效。
父主题: 对当前帐号下单个IAM用户授权
同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家