概述
OBS Browser支持通过桶策略、对象策略、桶ACL和对象ACL进行权限控制。
- 桶策略:桶策略是作用于所配置的OBS桶及桶内对象的。OBS桶拥有者通过桶策略可为IAM用户或其他账号授权桶及桶内对象的操作权限。
- 对象策略:主账号将对象的读写权限授权给该账号下的IAM用户。
- ACL:OBS ACL是基于账号级别的读写权限控制,提供桶和对象的ACL配置。
桶策略
桶的拥有者可以通过编写桶策略(Bucket Policy)设置桶的访问权限。
桶策略可基于各种参数,如效果、被授权用户、资源、动作、条件等,提供对桶和对象的集中访问控制。附加到某个桶上的权限适用于该桶内所有对象。设置桶策略后,后续对该桶的访问请求都将受到桶策略的限制,这种限制表现为接受或拒绝请求。
详情请参见Policy格式。
对象策略
对象策略是指主账号将对象的读写权限授权给该账号下的IAM用户。
ACL
桶/对象ACL支持授权给如下用户读写权限:
被授权用户 |
描述 |
---|---|
拥有者 |
桶的拥有者是指创建桶的账号。桶拥有者默认拥有所有的桶访问权限,其中桶ACL的读取和写入这两种权限永远拥有,且不支持修改。 对象的拥有者是上传对象的账号,而不是对象所属的桶的拥有者。对象拥有者默认永远拥有对象读取权限、ACL的读取和写入权限,且不支持修改。
须知:
不建议修改桶拥有者的对桶读取和写入权限。 |
匿名用户 |
未注册云服务的普通访客。如果匿名用户被授予了访问桶/对象的权限,则表示所有人都可以访问对应的桶/对象,并且不需要经过任何身份认证。
须知:
开启匿名用户的桶/对象访问权限后,所有人都可以在不经过身份认证的情况下,对桶/对象进行访问。 |
注册用户组 |
注册用户组代表所有注册了云服务的账号(仅指账号,不包括通过IAM创建的用户组或用户)。注册用户必须要经过身份认证(目前主要通过AK/SK进行身份认证),才可以获取对应的访问权限。例如,当注册用户组被授予桶写入权限后,世界上任何已通过身份验证的云服务账号,都可以向您的桶上传、覆盖和删除对象。 |
日志投递用户组
说明:
仅桶ACL支持。 |
日志投递用户组用于投递OBS桶及对象的访问日志。由于OBS本身不能在账号的桶中创建或上传任何文件,因此在需要为桶记录访问日志时,只能由账号授予日志投递用户组一定权限后,OBS才能将访问日志写入指定的日志存储桶中。该用户组仅用于OBS内部的日志记录。
须知:
当日志记录开启后,目标存储桶的日志投递用户组会同步开启桶的写入权限和ACL读取权限。如果手动将日志投递用户组的桶写入权限和ACL读取权限关闭,桶的日志记录会失败。 |
桶ACL的访问权限如表2所示:
权限 |
选项 |
描述 |
---|---|---|
桶访问权限 |
读取权限 |
此权限可以获取该桶内对象列表和桶的元数据。 |
写入权限 |
此权限可以上传、覆盖和删除该桶内任何对象。 |
|
ACL访问权限 |
读取权限 |
此权限可以获取对应的桶的权限控制列表。 桶的拥有者默认永远具有ACL的读取权限。 |
写入权限 |
此权限可以更新对应桶的权限控制列表。 桶的拥有者默认永远具有ACL的写入权限。 |
对象ACL的访问权限如表3所示:
权限 |
选项 |
描述 |
---|---|---|
对象访问权限 |
读取权限 |
此权限可以获取该对象内容和元数据。 |
ACL访问权限 |
读取权限 |
此权限可以获取对应的对象的权限控制列表。 对象的拥有者默认永远具有ACL的读取权限 |
写入权限 |
此权限可以更新对象的权限控制列表。 对象的拥有者默认永远具有ACL的写入权限。 |
每一次对桶/对象的授权操作都将覆盖桶/对象已有的权限列表,而不会对其新增权限。