更新时间:2024-02-29 GMT+08:00

对单个IAM用户授予桶的指定操作权限

场景介绍

本案例介绍如何为账号下的某个IAM用户授予OBS桶的指定操作权限,此处以授予删除桶的权限为例。

如果需要配置其他指定的权限,在桶策略的动作名称中选择对应动作即可。OBS支持的动作

推荐配置方法

对单个IAM用户授予资源级别权限,推荐使用桶策略。

配置须知

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

报错原因:控制台或OBS Browser+登录后,加载桶列表会调用获取桶列表(ListAllMyBuckets)等接口,删除桶时会先调用列举多版本对象(ListBucketVersions)接口。而授予的权限中并没有包含这些操作的权限,所以会提示“拒绝访问,请检查相应权限”,或者“不允许在请求的资源上执行此操作”。

如果希望IAM用户能在控制台或OBS Browser+顺利完成桶删除操作,桶策略中要额外配置ListBucketVersions权限,同时请按照后续操作继续配置IAM自定义策略授予ListAllMyBuckets权限。

配置步骤

  1. 在OBS管理控制台左侧导航栏选择“对象存储”
  2. 在桶列表单击目标桶的桶名称,进入“概览”页面。
  3. 在左侧导航栏,单击“权限”,进入权限管理页面。
  4. 在“桶策略”页面“高级桶策略”下,单击“创建桶策略”。
  5. 配置桶策略参数。

    表1 桶策略参数配置说明

    参数

    说明

    策略模式

    选择“自定义模式”

    效果

    选择“Allow”

    被授权用户

    • 选择包含 > 当前账号
    • 用户名:选择被授权的IAM用户

    资源

    选择“包含 > 配置到整个桶”

    动作

    • 包含
    • 动作名称:
      • DeleteBucket
      • ListBucketVersions(被授权用户需要在控制台或OBS Browser+上访问时需要)

    如果需要配置其他指定的权限,选择对应动作即可。OBS支持的动作

  6. 单击“确定”,完成桶策略创建。

后续操作

如果希望在控制台和OBS Browser+顺利完成删除桶操作,需要能在控制台或OBS Browser+“看到”桶,即需要通过IAM自定义策略配置列举桶(obs:bucket:ListAllMyBuckets)权限。

  1. 使用云服务账号登录管理控制台。
  2. 在顶部导航栏选择“服务列表>管理与部署>统一身份认证服务”,进入“统一身份认证服务”管理控制台。
  3. 在左侧导航栏单击“策略”,进入“策略”界面。
  4. 单击右上角“创建自定义策略”。
  5. 配置自定义策略参数。

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

    参数

    说明

    策略名称

    输入自定义策略的名称。

    策略配置方式

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

    策略内容

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

    作用范围

    默认为“全局级服务”。

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

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

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

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