对象存储服务 OBS-ACL:使用头域设置ACL
使用头域设置ACL
权限控制策略
OBS支持在创建桶或上传对象时通过头域设置桶或对象的权限控制策略(使用示例见创桶请求示例,对象上传请求示例),其设置的权限控制策略只能选择预定义的几种策略。其中,x-obs-acl比较特殊,可以设置六种权限,这六种权限对桶或对象的Owner不产生影响,即Owner拥有完全控制的权限。其详细情况如下图所示。
预定义的权限控制策略 |
描述 |
---|---|
private |
桶或对象的所有者拥有完全控制的权限,其他任何人都没有访问权限。 |
public-read |
设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据。 设在对象上,所有人可以获取该对象内容和元数据。 |
public-read-write |
设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、上传对象、删除对象、初始化段任务、上传段、合并段、拷贝段、取消多段上传任务。 设在对象上,所有人可以获取该对象内容和元数据。 |
public-read-delivered |
设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据,可以获取该桶内对象的内容和元数据。 不能应用在对象上。 |
public-read-write-delivered |
设在桶上,所有人可以获取该桶内对象列表、桶内多段任务、桶的元数据、上传对象、删除对象、初始化段任务、上传段、合并段、拷贝段、取消多段上传任务,可以获取该桶内对象的内容和元数据。 不能应用在对象上。 |
bucket-owner-full-control |
设在对象上,桶和对象的所有者拥有对象的完全控制权限,其他任何人都没有访问权限。 默认情况下,上传对象至其他用户的桶中,桶拥有者没有对象的控制权限。对象拥有者为桶拥有者添加此权限控制策略后,桶所有者可以完全控制对象。 例如,用户A上传对象x至用户B的桶中,系统默认用户B没有对象x的控制权。当用户A为对象x设置bucket-owner-full-control策略后,用户B就拥有了对象x的控制权。 |

系统默认权限控制策略为private权限。
在创建桶或上传对象时,可以用来设置权限控制策略的其他头域如下所示:
头域 |
含义 |
---|---|
x-obs-grant-read |
授权给指定domain下的所有用户有READ权限。 |
x-obs-grant-write |
授权给指定domain下的所有用户有WRITE权限。 |
x-obs-grant-read-acp |
授权给指定domain下的所有用户有READ_ACP权限。 |
x-obs-grant-write-acp |
授权给指定domain下的所有用户有WRITE_ACP权限。 |
x-obs-grant-full-control |
授权给指定domain下的所有用户有FULL_CONTROL权限。 |
x-obs-grant-read-delivered |
授权给指定domain下的所有用户有对桶和桶内对象的READ权限,且对象继承桶权限。 不能应用在对象上。 |
x-obs-grant-full-control-delivered |
授权给指定domain下的所有用户有对桶和桶内对象的FULL_CONTROL权限,且对象继承桶权限。 不能应用在对象上。 |