文档简介:
桶ACL和对象ACL
访问控制列表(Access Control List,ACL)是一个指定被授权者和所授予权限的授权列表。
OBS桶和对象的ACL是基于账号的访问控制,默认情况下,创建桶和对象时会同步创建ACL,授权拥有者对桶和对象资源的完全控制权限。
OBS ACL是基于账号级别的读写权限控制,权限控制细粒度不如桶策略和IAM策略。一般情况下,建议使用IAM策略和桶策略进行访问控制。
OBS支持通过ACL对表2-9所示用户或用户组授予桶的访问权限。
表2-8 OBS支持的被授权用户
被授权用户 |
描述 |
特定用户 |
ACL支持通过账号授予桶/对象的访问权限。授予账号权限后,账号下所有具有OBS资源权限的主子账号都可以拥有此桶/对象的访问权限。 当需要为不同主子账号授予不同的权限时,可以通过桶策略配置,具体操作请参见为主子账号授予指定桶的操作权限。 |
拥有者 |
桶的拥有者是指创建桶的账号。桶拥有者默认拥有所有的桶访问权限,其中桶ACL的读取和写入这两种权限永远拥有,且不支持修改。 对象的拥有者是上传对象的账号,而不是对象所属的桶的拥有者。对象拥有者默认永远拥有对象读取权限、ACL的读取和写入权限,且不支持修改。 须知 不建议修改桶拥有者的对桶读取和写入权限。 |
匿名用户 |
未注册云服务的普通访客。如果匿名用户被授予了访问桶/对象的权限,则表示所有人都可以访问对应的桶/对象,并且不需要经过任何身份认证。 须知 开启匿名用户的桶/对象访问权限后,所有人都可以在不经过身份认证的情况下,对桶/对象进行访问。 |
注册用户组 |
注册用户组代表所有注册了云服务的账号(仅指账号,不包括通过IAM创建的用户组或用户)。注册用户必须要经过身份认证(目前主要通过AK/SK进行身份认证),才可以获取对应的访问权限。例如,当注册用户组被授予桶写入权限后,世界上任何已通过身份验证的云服务账号,都可以向您的桶上传、覆盖和删除对象。 |
日志投递用户组 说明 仅桶ACL支持。 |
日志投递用户组用于投递OBS桶及对象的访问日志。由于OBS本身不能在账户的桶中创建或上传任何文件,因此在需要为桶记录访问日志时,只能由账户授予日志投递用户组一定权限后,OBS才能将访问日志写入指定的日志存储桶中。该用户组仅用于OBS内部的日志记录。 须知 当日志记录开启后,目标存储桶的日志投递用户组会同步开启桶的写入权限和ACL读取权限。若手动将日志投递用户组的桶写入权限和ACL读取权限关闭,桶的日志记录会失败。 |
ACL权限
桶ACL的访问权限如表2-11所示:
表2-9 桶ACL访问权限
权限 |
选项 |
描述 |
桶访问权限 |
读取权限 |
此权限可以获取该桶内对象列表和桶的元数据。 |
写入权限 |
此权限可以上传、覆盖和删除该桶内任何对象。 |
|
ACL访问权限 |
读取权限 |
此权限可以获取对应的桶的权限控制列表。 桶的拥有者默认永远具有ACL的读取权限。 |
写入权限 |
此权限可以更新对应桶的权限控制列表。 桶的拥有者默认永远具有ACL的写入权限。 |
对象ACL的访问权限如表2-12所示:
表2-10 对象ACL访问权限
权限 |
选项 |
描述 |
对象访问权限 |
读取权限 |
此权限可以获取该对象内容和元数据。 |
ACL访问权限 |
读取权限 |
此权限可以获取对应的对象的权限控制列表。 对象的拥有者默认永远具有ACL的读取权限 |
写入权限 |
此权限可以更新对象的权限控制列表。 对象的拥有者默认永远具有ACL的写入权限。 |
说明:
每一次对桶/对象的授权操作都将覆盖桶/对象已有的权限列表,而不会对其新增权限。
桶ACL使用场景
在以下场景,建议您使用桶ACL:
-
授予日志投递用户组桶写入权限,用以存储桶访问请求日志。
-
授予指定账号桶读取权限和桶写入权限,用以共享桶数据或挂载外部桶。
对象ACL使用场景
在以下场景,建议您使用对象ACL:
-
需要对象级的访问权限控制时。桶策略可以授予对象或对象集访问权限,当授予一个对象集权限后,想对对象集中某一个对象再进行单独授权,通过配置桶策略的方法显然不太实际。此时建议使用对象ACL,使得单个对象的权限控制更加方便。
-
使用对象链接访问对象时。一般使用对象ACL,将某一个对象通过对象链接开放给匿名用户进行读取操作。