【存储】十分钟从入门到精通(上)——对象存储服务OBS权限配置实践

举报
云技术搬运工 发表于 2020/09/29 09:57:34 2020/09/29
【摘要】 作为公有云的数据底座,大量的应用场景产生的数据都会存储到OBS对象存储服务中,如直播、电商、大数据可视化、机器学习、物联网等。其灵活的权限配置功能,能够解决如共享少部分数据或者数据全部托出等实际应用场景的数据管理诉求,obs对象存储目前有四种权限管理的方式供大家来选择。

作为公有云的数据底座,大量的应用场景产生的数据都会存储到OBS对象存储服务中,如直播、电商、大数据可视化、机器学习、物联网等。作为公有云的海量存储基础服务, OBS提供了灵活的权限配置功能,解决如共享少部分数据,或者数据全部托出等实际应用场景的管理诉求。

OBS目前有四种权限管理的方式供大家来选择,可以满足您对权限管理的需求。如果您需要设置更复杂的权限策略,控制子用户使用,通过阅读以下内容,四种方式配合使用效果更佳。

以下依次讲解四种方式的使用方式和特点:

1.    统一身份认证服务(IAM)——设置用户组对桶的访问权限,适用于管理多部门人员对OBS资源的访问权限。

2.    企业项目管理——用户只能列举到自己的桶。适用多企业项目,需要配合IAM权限。

3.    高级桶策略——实时生效,简单粗暴。适用单个桶灵活设置权限,可以指定任何人用。

4.    ACL——指定账户共享,范围小于高级桶策略,但是共享资源更精确。适用于对单个文件有共享读写需求的场景。

1.png


  统一身份认证服务

  介绍:

        IAM是一个总开关(相当于一个大超市,提供平台和规则的),各个服务(包括OBS)如果需要提供细粒度服务,就需要和IAM合作(按照IAM细粒度平台的规则),把自己的细粒度控制加入到IAM功能中(相当于超市中入住的品牌)。如果想详细的了解下IAM可参考https://support.huaweicloud.com/usermanual-obs/obs_03_0110.html

 

       OBS系统权限:

2.png


   应用场景:如下为 OBS常用操作与系统权限的授权关系,您可以参照该表选择合适的系统权限。https://support.huaweicloud.com/productdesc-obs/obs_03_0045.html

   系统权限和系统角色已经满足大部分使用OBS的场景,但是仍有高端玩家想通过手术刀般精确的方式控制用户组和OBS\资源\操作\请求条件的权限,那么IAM权限配置的奥义,duang!的一声出现在您面前——自定义权限配置。

   自定义权限配置:

1.         可视化视图创建

        IAMOBS细粒度权限配置时,可视化视图分为ReadOnlyReadWriteListOnlyPermissions 四大类操作分类,需要仔细关注Action。如下图所示。

3.png


特别注意:

这四大类的规则之间其实是没有继承性的,并且包含的相关Action项也并不完全。例如,客户如果只希望策略为允许“只读”,除了需要勾选 ReadOnly 之外,还需要 ListOnly 中的 obs:bucket:ListAllMyBuckets  obs:bucket:ListBucket 操作项。

l  没有obs:bucket:ListAllMyBuckets将无法列举所有桶——这对于通过Web页面访问OBS会产生致命影响,因为无法进入OBS控制台,但是对于API访问OBS服务没有影响。

l  没有obs:bucket:ListBucket 将无法列举桶内对象——这对于大数据业务中批量操作对象“列举目录”的操作是必须的。

再例如,如果客户希望策略为允许“读写”,则需要同时勾选 ReadOnlyReadWriteListOnly 中的各目标项,而不是仅仅勾选一个 ReadWrite,如下图所示

4.png


 

2.         JSON视图创建:

策略语法参数:https://support.huaweicloud.com/usermanual-obs/obs_03_0110.html

对象相关授权列表:https://support.huaweicloud.com/api-obs/obs_04_0112.html

OBS OperateAccessjson模式:

5.png


 自定义策略示例样例:

   此策略表示用户可以对OBS进行任何操作。

    {

        "Version": "1.1",

        "Statement": [

            {

                "Effect": "Allow",

                "Action": [

                    "obs:*:*"

                ]

            }

        ]

    }

   其他自定义策略样例详见:

         https://support.huaweicloud.com/usermanual-obs/obs_03_0121.html

   自定义权限书写注意事项:

         https://support.huaweicloud.com/usermanual-obs/obs_03_0154.html


   应用案例:

   配置某一个子用户,通过IAM权限设置,只能从源ip:100.125.125.125访问桶:obs-test,并且只有只读权限(包括查询桶ACL,桶策略,桶cors的权限等)

   步骤1:配置特定操作

6.png


   步骤2:配置特定资源:

7.png


   步骤3:配置特定条件,如图中只限制了100.125.125.125ipOBS具有访问权限

8.png


   建议采用最小权限原则,避免数据泄露,造成不必要的损失。

   注意事项:

1.    OBS细粒度特性白名单

当前要开通IAMOBS细粒度权限控制特性,务必记得要申请将目标账号加入在目标RegionOBS细粒度特性白名单:

当前IAM细粒度这个超市还处于试用期,OBS这个品牌是一个全局品牌(对应于全局服务概念),但是每个OBS商品是不同地方的生产厂生产的,当前在IAM细粒度超市试用期,OBS商品入驻超市之后,并不是任何一个人都随意买,而是需要在白名单中的人才能买,并且这个白名单当前是按照Region来制作的,四川的客户只能买四川省生成的OBS产品,广东省客户只能买广东省生产的OBS商品,所以需要使用OBS细粒度的客户,必须要申请加入这个白名单(截止2020/2/4)。申请方式如下:

https://support.huaweicloud.com/usermanual-obs/obs_03_0110.html

 

   说明:

l  Resource(资源)级别细粒度授权特性会逐步在各个区域上线,需要使用该特性时请确保桶所在区域已经支持。

l  使用Resource(资源)级别细粒度授权特性前,请提交工单OBS,申请开通Resource(资源)级别细粒度授权特性白名单。

 

2.    由于缓存的存在,IAM权限设置生效延迟

   说明:

   由于缓存的存在,对用户、用户组以及企业项目授予OBS相关的角色后,大概需要等待13分钟角色才能生效;授予OBS相关的策略后,大概需要等待5分钟策略才能生效。

 

  企业项目管理:

  介绍:

  可实现企业项目级别资源隔离,不同企业项目的用户只能列举自己的桶。创建企业项目à迁入资源à添加组à配置权限策略

 

  应用案例:

  配置某一个子用户,通过多企业项目+IAM权限,实现单用户对某一个桶有所有权限:

  步骤1IAM控制台创建一个子账号,一个用户组,并把子账号加入到该组;

9.png


  步骤2:登录进企业项目管理,创建企业项目;

10.png


  步骤3:迁入指定的桶资源;

14.png


  步骤4:添加组;

11.png

  步骤5:配置权限策略;

12.png


  步骤6:配置成功

13.png


  注意:权限需要在企业项目管理侧配置,在IAM侧配置可能会导致不生效。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。