OBS服务细粒度访问控制的两种实现方法的对比

举报
晓望峰 发表于 2019/11/26 13:41:04 2019/11/26
【摘要】 当前有两种方式可以实现OBS服务的细粒度访问控制: 1、IAM的OBS策略,即 IAM上针对OBS服务的细粒度策略控制 2、OBS桶策略,即OBS桶自身的高级策略控制 本文将对这二者进行一次详细的对比分析。

当前有两种方式可以实现OBS服务的细粒度访问控制:

  • IAM的OBS策略,即 IAM上针对OBS服务的细粒度策略控制

  • OBS桶策略,即OBS桶自身的高级策略控制


本文将对这二者进行一次详细的对比分析。


两种策略的相同/相似之处

两种策略控制机制,都可以通过 “Web/普通视图”和 “JSON视图”两种方式进行策略的定义,如下图所示

1574743065504551.gif


并且它们的JSON代码定义都是由基本的 Statement 来构成,每个Statement都可包含 Effect、Action、Resource、Condition 这几个key,并且这些Key的含义也基本类似


IAM的OBS策略 和 OBS桶策略 的JSON视图实例对比

1574735655820361.jpg


从两种策略的JSON表达式中看不同之处

  • OBS桶策略的每一个Statement必须包含一个 Principal -> ID 字段,指定一个或多个目标账号id(domain/xxx) 和 目标用户id(user/xxx);
    IAM的OBS策略中每一个Statement中不需要指定账号和用户信息,因为这个信息是在用户组/委托授权的时候,动态确定的
    ——这就意味着一个OBS桶策略只能适用于一个账户/用户规则,而一个IAM的OBS策略可以适用于多个账户/用户规则

  • Action 中的JSON元素格式不同:IAM的OBS策略中action格式形如 obs:bucket:GetBucketAcl,而OBS桶策略的action格式形如 GetBucketAcl
    ——这就意味着它们所支持的细粒度Action规则并不完全相同,具体内容详见官网描述的OBS桶策略支持的Action 、IAM的OBS策略支持的桶授权项 和 对象授权项

    特别需要注意的是,“列举所有桶”、“创建桶”、“删除桶”等几个常用操作的权限控制,只能在IAM的OBS策略中被支持

  • Resource 中的JSON元素格式也不同:OBS桶策略的每一个Statement中,Resource字段中只能包含一条规则,要么指定该桶本身,要么指定该桶内的对象;而IAM的OBS策略的每个Statement中,Resource字段可以同时指定多条规则,包含多个目标桶资源和多个对象资源
    ——这就意味着一条OBS桶策略只能适配该桶自身及桶内的对象,而一条IAM的OBS策略可以适配多个桶及桶内的对象,显然IAM的OBS策略工作的效率更高,如果多个桶的权限控制策略是一样的,只需要创建和维护一条IAM的OBS策略即可

两种策略的“项目”感知能力不同

华为云上的一个企业账号下,经常需要对各种云服务资源(自然也包括OBS服务)进行基于“项目”的“物理隔离(IAM项目机制)”或“逻辑隔离(企业项目机制)”,在这种情况下,对不同的“项目”的授权只能基于IAM策略


总结

  1. 本质而言,“OBS桶策略”和“IAM的OBS策略”都是OBS资源与IAM管理的结合

  2. OBS桶策略是基于单个OBS Bucket的,可见的IAM体系要素也仅有“企业账户”和“IAM用户”两点而已,局限性很大

  3. IAM策略是IAM体系中进行授权管理的基本要素,能够与IAM体系中其他的所有机制无缝结合,从而更灵活方便地实现各种华为云资源的分配和管理。OBS桶策略能够实现的所有功能,IAM的OBS策略都能够完成,并能实现对OBS服务整体性操作(而非单个OBS桶)的权限管

  4. 由此,优先推荐客户使用IAM的OBS策略实现OBS服务细粒度访问控制

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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