文档首页 > > 最佳实践> 企业数据权限控制> 给业务部门授予独立的资源权限

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

分享
更新时间:2020/09/01 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控制台。
    3. 在OBS控制台左侧导航栏选择“对象存储”,单击页面右上角的“创建桶”按钮。
    4. 根据页面提示,选择“区域”、“存储类别”及“桶策略”,并输入“桶名称”。

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

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

  3. 配置允许上传权限

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

    1. 分别使用部门A、B的管理员用户登录控制台首页。
    2. 在控制台首页选择“所有服务 > 存储 > 对象存储服务”,进入OBS控制台。
    3. 在OBS控制台左侧导航栏选择“对象存储”,在桶列表单击本部门的桶名称,进入桶概览页面。
    4. 在左侧导航栏单击“访问权限控制”,单击“桶策略”页签。
    5. 单击“高级桶策略”下的“创建桶策略”。
    6. 按照表1创建一条高级桶策略。
      图3 允许列举桶内对象的桶策略
      表1 允许列举桶内对象的桶策略参数说明

      参数

      配置

      策略模式

      选择“自定义模式”。

      效果

      选择“Allow”。

      被授权用户

      选择“包含”、“当前账号”,并单击下方的下拉框,选择被授权用户。此处选择本部门中允许上传数据的用户。

      资源

      选择“包含”,并选择“配置到整个桶”。

      动作

      选择“包含”,并选择列举桶内对象对应的动作名称“ListBucket”。

    7. 单击“确定”,当界面出现类似“创建桶策略成功”的提示时,表示权限配置成功。
    8. 再次单击“高级桶策略”下的“创建桶策略”。
    9. 按照表2创建另一条高级桶策略。
      图4 允许上传的桶策略
      表2 允许上传的桶策略参数说明

      参数

      配置

      策略模式

      选择“自定义模式”。

      效果

      选择“Allow”。

      被授权用户

      选择“包含”、“当前账号”,并单击下方的下拉框,选择被授权用户。此处选择本部门中允许上传数据的用户。

      资源

      选择“包含”,选择“指定资源”,并根据上传数据的范围填写资源名称:

      • 若允许上传到整个桶的任意位置,资源名称填写“*”。
      • 若只允许上传到桶中的某个或多个文件夹下,资源名称填写可上传的文件夹路径+通配符(例如:example-folder/*),多个资源名称之间以英文逗号(,)分隔。

      动作

      选择“包含”,并选择上传数据对应的动作名称“PutObject”。

    10. 单击“确定”,当界面出现类似“创建桶策略成功”的提示时,表示权限配置成功。

  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. 按照表3创建一条高级桶策略。

    图5 拒绝其他部门管理员访问桶的桶策略
    表3 拒绝其他部门管理员访问桶的桶策略参数说明

    参数

    配置

    策略模式

    选择“自定义模式”。

    效果

    选择“Deny”。

    被授权用户

    选择“包含”、“当前账号”,并单击下方的下拉框,选择被授权用户。此处选择其他部门的管理员。

    资源

    选择“包含”,并选择“配置到整个桶”。

    动作

    选择“包含”,并选择“*”。

  7. 单击“确定”,当界面出现类似“创建桶策略成功”的提示时,表示权限配置成功。
  8. 再次单击“高级桶策略”下的“创建桶策略”。
  9. 按照表4创建另一条高级桶策略。

    图6 拒绝其他部门管理员访问桶内资源的桶策略
    表4 拒绝其他部门管理员访问桶内资源的桶策略参数说明

    参数

    配置

    策略模式

    选择“自定义模式”。

    效果

    选择“Deny”。

    被授权用户

    选择“包含”、“当前账号”,并单击下方的下拉框,选择被授权用户。此处选择其他部门的管理员。

    资源

    选择“包含”,并选择“指定资源”,“资源名称”填写“*”。

    动作

    选择“包含”,并选择“*”。

  10. 单击“确定”,当界面出现类似“创建桶策略成功”的提示时,表示权限配置成功。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!非常感谢您的反馈,我们会继续努力做到更好!
反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问