更新时间:2024-03-04 GMT+08:00

给业务部门授予独立的资源权限

通常一个企业可能会分设多个业务部门,各业务部门之间的数据需要独立管理。在此场景下,可以考虑给各业务部门分配各自所需的IAM用户,通过桶策略给每个业务部门下的IAM用户授予独立的资源权限。

场景假设

假设某企业下有A和B两个不同的业务部门,希望各业务部门的数据存放在自己的桶中,且各业务部门的用户分别拥有本部门桶的上传权限。

在本场景下两个部门的管理员、用户与桶之间的逻辑关系如图1所示。

图1 逻辑关系

本例中仅为部门用户配置上传权限,您可根据实际业务需求配置其他的权限。关于桶策略的权限说明,请参见桶策略

方案及流程

A、B两部门的管理员可以通过桶策略配置仅自己部门的用户拥有部门桶的上传权限,具体配置流程如图2所示。

图2 权限控制流程

前提条件

已拥有企业账号。

详细配置步骤

  1. 创建部门管理员和用户

    部门管理员和用户都属于IAM用户,需要使用企业账号创建,部门用户也可以使用部门管理员创建。本例中需要分别为A、B部门创建一个管理员,并根据各部门的实际用户数创建用户。

    由于部门管理员需要执行创建用户、创建桶、配置桶策略等操作,因此需要将部门管理员加入“admin”用户组。而部门用户不需要执行创建用户、创建桶、配置桶策略等操作,需要能够列举账号下的所有桶,因此一般将部门用户加入具有“OBS Buckets Viewer”权限的用户组。有关权限的详细介绍请参见用户权限

    1. 创建部门管理员和部门用户对应的IAM用户。如何创建请参见创建IAM用户
    2. 将部门管理员加入“admin”用户组,并将部门用户加入具有“OBS Buckets Viewer”权限的用户组。如何加入用户组并授权请参见给IAM用户授权

  2. 创建桶

    部门A、B的管理员用户分别创建属于自己部门的桶。

    1. 分别使用部门A、B的管理员用户登录控制台首页。
    2. 在控制台首页选择“服务列表 > 存储 > 对象存储服务 OBS”,进入OBS控制台。
    3. 在OBS控制台左侧导航栏选择“对象存储”,单击页面右上角的“创建桶”按钮。
    4. 根据页面提示,选择“区域”、“桶名称”、“存储类别”及“桶策略”等,详情请参见创建桶

      为确保数据安全,“桶策略”建议选择“私有”,其他参数请根据页面提示进行配置。

    5. 单击“立即创建”,完成桶创建。

  3. 配置允许上传权限

    部门A、B的管理员用户分别在自己部门的桶中为本部门用户配置上传权限。

    1. 分别使用部门A、B的管理员用户登录控制台首页。
    2. 在控制台首页选择“服务列表 > 存储 > 对象存储服务”,进入OBS控制台。
    3. 在OBS控制台左侧导航栏选择“对象存储”,在桶列表单击本部门的桶名称,进入桶对象页面。
    4. 在左侧导航栏单击“访问权限控制 > 桶策略”。
    5. 单击“创建”。
    6. 根据使用习惯,策略配置方式以可视化视图为例。单击“可视化视图”。
    7. 配置如下参数,授予部门内用户访问桶(列举对象)和上传对象的权限。
      表1 授予访问桶和上传对象的权限参数配置

      参数

      说明

      策略名称

      输入自定义策略的名称

      策略内容

      效力

      允许

      被授权用户

      • 被授权用户:当前账号
      • 选择子用户:选择部门中允许上传数据的用户

      授权资源

      • 方式一:
        • 资源范围:整个桶(包括桶内对象)
      • 方式二:
        • 资源范围:当前桶、指定对象
        • 指定对象 - 资源路径:*(*表示桶内所有对象)
          说明:

          如果只允许上传到桶中的某个或多个文件夹下,桶内对象选择“指定对象”后,资源路径填写可上传的文件夹路径+通配符(例如:example-folder/*),支持配置多个资源路径。

      授权操作

      • 动作范围:自定义配置
      • 选择动作:
        • ListBucket(列举桶内对象,获取桶元数据)
        • PutObject(可用作于PUT上传,POST上传,上传段,初始化上传段任务,合并段)
    8. 单击右下角的“创建”,完成桶策略创建。

  4. 验证权限

    权限授予成功后,部门A、B的用户可以通过OBS控制台、OBS Browser+以及API&SDK等多种方式验证上传权限。

    验证的关键点如下(以A部门用户进行验证为例):

    1. A部门用户在A部门的桶中上传对象成功。

      如果进一步规定了用户仅拥有某个文件夹的上传权限,需同时确保:

      1. 在策略指定的文件夹中上传对象成功。
      2. 在其他文件夹或桶的根目录上传对象失败。
    2. A部门用户在B部门的桶中上传对象失败。
    3. A部门用户在A部门的桶中下载、删除对象失败。
    4. A部门用户在B部门的桶中下载、删除对象失败。

    同时满足以上几点要求,说明权限配置成功。

部门管理员权限控制说明

按照上述方法配置后,所有部门管理员会拥有其他部门桶资源的全部权限。如果要拒绝其他部门管理员访问本部门的桶资源,请按照下述步骤配置桶策略。

  1. 使用本部门管理员用户登录控制台首页。
  2. 在控制台首页选择“服务列表 > 存储 > 对象存储服务”,进入OBS控制台。
  3. 在OBS控制台左侧导航栏选择“对象存储”,在桶列表单击本部门的桶名称,进入桶对象页面。
  4. 在左侧导航栏单击“访问权限控制 > 桶策略”。
  5. 单击“创建”。
  6. 根据使用习惯,策略配置方式以可视化视图为例。单击“可视化视图”。
  7. 配置如下参数,拒绝其他部门管理员访问本部门的桶。

    表2 拒绝其他部门管理员访问本部门的桶

    参数

    说明

    策略名称

    输入自定义策略的名称

    策略内容

    效力

    拒绝

    被授权用户

    • 被授权用户:当前账号
    • 选择子用户:选择其他部门管理员

    授权资源

    • 方式一:
      • 资源范围:整个桶(包括桶内对象)
    • 方式二:
      • 资源范围:当前桶、指定对象
      • 指定对象 - 资源路径:*(*表示桶内所有对象)

    授权操作

    • 动作范围:自定义配置
    • 选择动作:*(表示所有动作)

  8. 单击右下角的“创建”,完成桶策略创建。