对单个IAM用户授予桶的指定操作权限
推荐配置方法
对单个IAM用户授予资源级别权限,推荐使用桶策略。
配置须知
按照本案例配置后,可以正常通过API或SDK完成桶删除操作,但如果通过控制台或OBS Browser+登录桶列表,会出现无权限的相关提示信息。
报错原因:控制台或OBS Browser+登录后,加载桶列表会调用获取桶列表(ListAllMyBuckets)等接口,删除桶时会先调用列举多版本对象(ListBucketVersions)接口。而授予的权限中并没有包含这些操作的权限,所以会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。
如果希望IAM用户能在控制台或OBS Browser+顺利完成桶删除操作,桶策略中要额外配置ListBucketVersions权限,同时请按照后续操作继续配置IAM自定义策略授予ListAllMyBuckets权限。
配置步骤
- 在OBS管理控制台左侧导航栏选择“桶列表”。
- 在桶列表单击目标桶的桶名称,进入“对象”页面。
- 在左侧导航栏,单击“访问权限控制>桶策略”,进入桶策略页面。
- 在“桶策略”页面,单击“创建”。
- 根据使用习惯,策略配置方式以可视化视图为例。单击“可视化视图”。
- 配置桶策略内容。
图1 配置桶策略
表1 桶策略配置说明 参数
说明
策略名称
输入自定义策略的名称
策略内容
效力
允许
被授权用户
- 被授权用户:当前账号
- 选择子用户:选择被授权的IAM用户
授权资源
- 资源范围:当前桶
授权操作
- 动作范围:自定义配置
- 选择动作:
- DeleteBucket(删除桶)
- ListBucketVersions(列举桶内多版本对象)
说明:
如果需要配置其他指定的权限,选择对应动作即可。OBS支持的动作
- 核对权限配置信息,确认无误后单击“创建”,完成桶策略创建。
后续操作
如果希望在控制台和OBS Browser+顺利完成删除桶操作,需要能在控制台或OBS Browser+“看到”桶,即需要通过IAM自定义策略配置列举桶(obs:bucket:ListAllMyBuckets)权限。
- 使用账号登录华为云,在右上角单击“控制台”。
- 在控制台页面,鼠标移动至右上方的用户名,在下拉列表中选择“统一身份认证”。
- 在左侧导航窗格中,单击“权限管理”>“权限”>“创建自定义策略”。
- 配置自定义策略参数。
图2 配置自定义策略
表2 自定义策略参数配置说明 参数
说明
策略名称
输入自定义策略的名称。
策略配置方式
根据使用习惯进行选择,此处以“可视化视图”为例。
策略内容
- 选择“允许”
- 选择“对象存储服务 (OBS)”
- 勾选“列表”操作中的“obs:bucket:ListAllMyBuckets”
- 选择“所有资源”
作用范围
默认为“全局级服务”。
- 单击“确定”,完成自定义策略创建。
- 创建用户组并授权。
按照IAM文档指导,将前面步骤创建的自定义策略添加到用户组中。
- 将需要授权的IAM用户加入到创建的用户组中,授权完成。
由于缓存的存在,授予OBS相关的策略后,大概需要等待10~15分钟策略才能生效。