对象存储服务 OBS-ACL:使用头域设置ACL

时间:2025-02-12 14:56:09

使用头域设置ACL

权限控制策略

OBS支持在创建桶或上传对象时通过头域设置桶或对象的权限控制策略(使用示例见创桶请求示例对象上传请求示例),其设置的权限控制策略只能选择预定义的几种策略。其中,x-obs-acl比较特殊,可以设置六种权限,这六种权限对桶或对象的Owner不产生影响,即Owner拥有完全控制的权限。其详细情况如下图所示。

表4 OBS预定义的权限控制策略

预定义的权限控制策略

描述

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权限。

在创建桶或上传对象时,可以用来设置权限控制策略的其他头域如下所示:

表5 通过头域设置桶或对象ACL的头域格式

头域

含义

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权限,且对象继承桶权限。

不能应用在对象上。

support.huaweicloud.com/perms-cfg-obs/obs_40_0005.html