权限控制概述

权限控制概述

默认情况下,OS2的资源(桶和对象)都是私有的,只有资源拥有者可以访问OS2资源,其他用户在未经授权的情况下均无访问权限。

OS2的权限控制是指通过设置访问策略向IAM用户或者匿名用户授予资源的控制权限。例如,你拥有一个桶,你可以授权一个其他的IAM用户上传对象到你的桶中;你也可以将桶开放给匿名用户访问,即桶作为一个公共资源,能被互联网上任何人访问。

1. OS2权限控制模型

OS2提供多种权限控制方式,包括IAM权限、桶策略、ACL。

OS2权限控制方式和应用场景

方式 说明 应用场景
IAM权限 IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。 使用策略控制账号下整个云资源的权限时,使用IAM权限授权。
使用策略控制账号下OS2所有的桶和对象的权限时,使用IAM权限授权。
使用策略控制账号下OS2指定资源的权限时,使用IAM权限授权。
桶策略 桶策略是作用于所配置的OS2桶及桶内对象的。桶拥有者通过桶策略可为IAM用户或其他账号授权桶及桶内对象精确的操作权限。 允许云平台其他账号访问OS2资源,可以使用桶策略的方式授权对应权限。(暂未开放)
当不同的桶对于不同的IAM用户有不同的访问控制需求时,需使用桶策略分别授权IAM用户不同的权限。
ACL ACL是基于资源的授权策略,可授予Bucket和Object访问权限。 允许匿名用户访问OS2资源,可以使用ACL的方式授权对应权限。

2. OS2权限控制要素

权限5要素

OS2的权限控制模型中,以下5个要素共同决定了授权的结果:

  • 被授权用户 (Principal)
  • 效果 (Effect)
  • 资源 (Resource)
  • 动作 (Action)
  • 条件 (Condition)

不同权限控制方式中的OS2权限控制要素

方式 被授权用户 支持的效果 被授权资源 被授权动作 是否支持配置条件
IAM权限 IAM用户 允许
拒绝
OS2所有资源或指定资源 OS2所有操作权限 支持
桶策略 帐号、IAM用户 允许
拒绝
指定桶及桶内资源 除OS2服务级别(ListBuckets、PutBucket)以外的所有操作权限 支持
桶ACL 匿名用户 允许 桶内所有资源 读、写、删操作权限 不支持
对象ACL 匿名用户 允许 对象 读、写、删操作权限 不支持

被授权用户的概念说明
账号:用户注册平台账号后自动创建,该账号对其所拥有的资源和IAM用户具有完全的访问控制权限。

IAM用户:由管理员在IAM中创建的用户,是云服务的使用者,对应员工、系统或应用程序,具有身份凭证(密码和访问密钥),可以登录管理控制台或者访问API。

匿名用户:未注册平台账号的普通访客。

3. 访问控制机制冲突时,如何工作?

访问控制基本原则

OS2权限控制要素中,Effect(效果)包含两种:Allow(允许)和Deny(拒绝),分别表示允许或拒绝执行某操作的权限。

  • 基于最小权限原则,权限控制策略的结果默认为Deny, 显式的Deny始终优先于Allow
    例如:
    IAM权限授权了用户访问对象的权限,但是桶策略拒绝了该用户访问对象的权限,且没有ACL时,该用户不能访问对象。

  • 没有策略授予Allow权限时,默认情况即为Deny权限。当有策略授权Allow权限,且没有其他策略Deny该权限时,Allow的权限才能生效。
    例如:
    某个桶已经存在多条Allow权限的桶策略,再新增Allow权限的桶策略,会在原权限的基础上进行叠加,增大用户的权限;如果新增Deny权限的桶策略,则会根据Deny优先原则调整用户的权限,即使Deny策略中定义的动作在其他桶策略中Allow。

访问策略授权过程

桶策略、IAM权限和ACL交叉控制下的Allow和Deny作用结果

个结果匹配 ""

    无结果匹配 ""