对象存储服务 OBS-OBS不同权限控制方式的区别:OBS权限控制模型

时间:2025-03-04 11:34:30

OBS权限控制模型

OBS提供多种权限控制方式,包括 IAM 权限、桶策略、对象ACL、桶ACL。各个方式说明及应用场景如表1所示。

图1 OBS权限控制方式
表1 OBS权限控制方式说明和应用场景

方式

说明

应用场景

IAM权限

IAM权限是作用于云资源的,IAM权限定义了允许和拒绝的访问操作,以此实现云资源权限访问控制。管理员创建IAM用户后,需要将用户加入到一个用户组中,IAM可以对这个组授予OBS所需的权限,组内用户自动继承用户组的所有权限。

  • 使用策略控制账号下整个云资源的权限时,使用IAM权限授权。
  • 使用策略控制账号下OBS所有的桶和对象的权限时,使用IAM权限授权。
  • 使用策略控制账号下OBS指定资源的权限时,使用IAM权限授权。

桶策略

桶策略是作用于所配置的OBS桶及桶内对象的。桶拥有者通过桶策略可为IAM用户或其他账号授权桶及桶内对象精确的操作权限,桶ACL和对象ACL是对桶策略的补充(更多场景下是替代)。

  • 允许其他华为云账号访问OBS资源,可以使用桶策略的方式授权对应权限。
  • 当不同的桶对于不同的IAM用户有不同的访问控制需求时,需使用桶策略分别授权IAM用户不同的权限。

对象ACL

基于账号或用户组的对象级访问控制,对象的拥有者可以通过对象ACL向指定账号或用户组授予对象基本的读、写权限。

说明:
  • 默认情况下,创建对象时会同步创建ACL,授权对象拥有者拥有对象的完全控制权限。
  • 对象的拥有者是上传对象的账号,而不是对象所属的桶的拥有者。例如,如果账号B被授予访问账号A的桶的权限,然后账号B上传一个文件到桶中,则账号B是对象的拥有者,而不是账号A。默认情况下,账号A没有该对象的访问权限,也无法读取和修改该对象的ACL。
  • 需要对象级的访问权限控制时,桶策略可以授予对象或对象集访问权限,当授予一个对象集权限后,想对对象集中某一个对象再进行单独授权,通过配置桶策略的方法显然不太实际。此时建议使用对象ACL,使得单个对象的权限控制更加方便。
  • 使用对象链接访问对象时。一般使用对象ACL,将某一个对象通过对象链接开放给匿名用户进行读取操作。

桶ACL

基于账号或用户组的桶级访问控制,桶的拥有者可以通过桶ACL向指定账号或用户组授予桶基本的读、写权限。

说明:
  • 默认情况下,创建桶时会同步创建ACL,授权拥有者对桶的完全控制权限。
  • 桶ACL的权限控制粒度不如IAM权限和桶策略,一般情况下,建议使用IAM权限和桶策略进行权限访问控制。
  • 授予指定账号桶读取权限和桶写入权限,用以共享桶数据或挂载外部桶。比如,账号A授予账号B桶读取权限及桶写入权限后,账号B就可以通过OBS Browser+挂载外部桶、API&SDK等方式访问到该桶。
  • 授予日志投递用户组桶写入权限,用以存储桶访问请求日志。
support.huaweicloud.com/perms-cfg-obs/obs_40_0001.html