更新时间:2022-08-16 GMT+08:00

桶策略和对象策略

桶和对象的拥有者

桶的拥有者是创建桶的帐号。一个帐号下的IAM用户创建的桶,桶拥有者为该IAM用户的父级帐号。

对象的拥有者是上传对象的帐号,而不是对象所属的桶的拥有者。例如,如果帐号B被授予访问帐号A的桶的权限,然后帐号B上传一个文件到桶中,则帐号B是对象的拥有者,而不是帐号A。

桶策略

桶策略是作用于所配置的OBS桶及桶内对象的。OBS桶拥有者通过桶策略可为IAM用户或其他帐号授权桶及桶内对象的操作权限。

桶策略的应用场景

  • 不用IAM策略控制访问权限的情况下,允许其他帐号访问OBS资源,可以使用桶策略的方式授权其他帐号对应的权限。
  • 当不同的桶对于不同的IAM用户有不同的访问控制需求时,需使用桶策略分别授权IAM用户不同的权限。
  • 桶拥有者允许其他帐号访问自己的桶时,可使用桶策略授权其他帐号对应的权限。

标准桶策略

标准桶策略提供三种策略供用户直接设置。

  • 私有:除桶ACL授权外的其他用户无桶的访问权限。
  • 公共读:任何用户都可以对桶内对象进行读操作。
  • 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。

桶创建成功后,默认桶策略为私有,仅桶拥有者具有完全控制权限,其他用户在未经授权的情况下均无访问权限。为确保数据安全,不推荐用户使用公共读或公共读写,建议使用私有。

表1 标准桶策略描述

参数

私有

公共读

公共读写

效果

允许

允许

被授权用户

*(任何用户)

*(任何用户)

资源

*(桶内所有对象)

*(桶内所有对象)

动作

  • GetObject
  • GetObjectVersion
  • ListBucket
  • GetObject
  • GetObjectVersion
  • PutObject
  • DeleteObject
  • DeleteObjectVersion
  • ListBucket

条件

高级桶策略:

高级桶策略提供三种方式,方便用户快速设置桶策略。

  • 只读模式:被授权用户将拥有桶内指定对象的读权限,对应可以执行获取对象内容及元数据操作。
  • 读写模式:被授权用户将拥有桶内指定对象的读写权限,对应可以执行获取对象内容及元数据、上传对象、删除对象等操作。
  • 自定义模式:自定义配置被授权用户可以拥有桶或对象的操作权限,由效果、被授权用户、资源、动作和条件5个桶策略基本参数共同决定。

通常情况下,在控制台上通过高级桶策略给其他用户授予桶中资源的某些操作权限,需要同时授予用户桶的读权限ListBucket(配置策略时资源留空表示对桶授权),否则可能导致用户从控制台进入桶后提示没有权限。

对象策略

对象策略即为桶策略中针对对象的策略,桶策略中针对对象的策略是通过配置资源来实现对象匹配的,资源可配置“*”(表示所有对象)或对象前缀(表示对象集)。对象策略则是直接选定对象后,配置到选定的对象资源的策略。