华为云对象存储OBS对IAM用户组授予OBS指定文件夹的指定操作权限_云淘科技

场景介绍

本案例介绍如何为华为云帐号下的多个IAM用户或用户群组授予OBS某个桶下指定文件夹的指定操作权限。

推荐配置方法

IAM自定义策略

配置须知

按照本案例配置后,可以正常通过API或SDK完成权限所允许的操作,但如果通过控制台或OBS Browser+登录,可能会出现无权限的相关提示信息。

报错原因:通过控制台或者OBS Browser+登录后,加载桶列表时会调用获取桶列表(ListAllMyBuckets)等接口,加载对象列表时会调用列举桶内对象(ListBucket)等接口,其他页面也会调用其他的OBS接口。如果指定的权限中没有包含如obs:bucket:ListAllMyBuckets、obs:bucket:ListBucket及一些控制台和OBS Browser+加载页面时需要调用的接口权限,会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。

如果希望IAM用户能在控制台或OBS Browser+顺利完成桶和对象相关操作,建议至少在自定义策略中包含obs:bucket:ListAllMyBuckets和obs:bucket:ListBucket两个权限。(本案例中的权限2和权限3已包含)

obs:bucket:ListAllMyBuckets面向所有资源,资源选择时要选择所有资源。

obs:bucket:ListBucket只面向授权的桶,资源选择时根据情况选择所有资源或者指定的桶。

配置步骤

使用帐号登录华为云,在右上角单击“控制台”。
在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
在左侧导航窗格中,单击“权限管理”>“权限”>“创建自定义策略”。
配置自定义策略参数。

图1 配置自定义策略

表1 自定义策略参数配置说明

参数

说明

策略名称

输入自定义策略的名称

策略配置方式

根据使用习惯进行选择,此处以“可视化视图”为例

策略内容

【权限1】

选择“允许”
选择“对象存储服务 (OBS)”
勾选“只读”“写”和“权限”中全部Object的相关权限
选择“特定资源 > 通过资源路径指定”指定文件夹

【格式】

obs:*:*:object:桶名称/文件夹名称/*

【说明】

对于桶资源,IAM自动生成资源路径前缀obs:*:*:object:

通过桶名称/文件夹名称指定具体的资源路径,支持通配符*。例如:

OBS:*:*:object:example-002/folder-001/*表示example-002桶下folder-001文件夹下的任意对象。

【权限2】(被授权用户需要在控制台或OBS Browser+操作时必选)

选择“允许”
选择“对象存储服务 (OBS)”
勾选“列表”操作中的“obs:bucket:ListBucket”
选择“特定资源 > 通过资源路径指定”指定桶

【格式】

obs:*:*:bucket:桶名称

选择“添加条件”

条件键:obs:prefix
运算符:StringMatch
值:文件夹名称/

【说明】

如果希望用户只有列举桶下某一个文件夹的权限,则需要针对obs:bucket:ListBucket这个动作添加请求条件。prefix为列举桶内对象携带的参数,这样用户在列举桶内对象指定参数prefix以文件夹名称/开头的对象时,能够列举桶内的对象。

【权限3】(被授权用户需要在控制台或OBS Browser+操作时必选)

选择“允许”
选择“对象存储服务 (OBS)”
勾选“列表”操作中的“obs:bucket:ListAllMyBuckets”
选择“所有资源”

作用范围

默认为“全局级服务”

单击“确定”,完成自定义策略创建。
创建用户组并授权。

按照IAM文档指导,将前面步骤创建的自定义策略添加到用户组中。

将需要授权的IAM用户加入到创建的用户组中,授权完成。

由于缓存的存在,授予OBS相关的策略后,大概需要等待10~15分钟策略才能生效。

验证

使用IAM用户登录OBS控制台。
可以在桶列表中看到所有的桶。选择目标桶example-002,进入目标桶。

图2 查看桶列表

配置完成进入桶后仍然会出现无权限相关提示,属于正常现象,因为控制台还调用了其他高级配置的接口,但此时已可以正常完成文件夹中允许的操作。

单击左侧导航栏“对象”。会出现无权限相关提示,且看不到任何对象,属于正常现象。

图3 进入桶example-002

无权限的原因为在控制台列举对象,是列举根文件夹下的对象,与自定义策略中配置的列举“folder-001/”文件夹下的对象不匹配,符合预期结果。

在搜索框输入“folder-001/”,查看folder-001文件夹下的对象列表,可以看到该文件夹下有一个“222.txt”和“111.txt”。

图4 查看文件

单击”新建文件夹”,文件夹folder-002可以创建成功。

图5 创建文件夹成功

单击“上传对象”,文件333.txt上传成功。

图6 上传对象成功

如果需要配置其他指定的权限完成其他操作,可前往“帐号名 > 统一身份认证 > 权限”页面配置的自定义策略中继续配置相关权限即可。

父主题: 对当前帐号下多个IAM用户或用户群组授权

同意关联代理商云淘科技,购买华为云产品更优惠(QQ 78315851)

内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家