华为云计算 云知识 设置对象ACLSetObjectAcl
设置对象ACLSetObjectAcl

 

接口说明

OBS支持对对象的操作进行权限控制。默认情况下,只有对象的创建者才有该对象的读写权限。用户也可以设置其他的访问策略,比如对一个对象可以设置公共访问策略,允许所有人对其都有读权限。SSE-KMS方式加密的对象即使设置了ACL,跨租户也不生效。

OBS用户在上传对象时可以设置权限控制策略,也可以通过ACL操作API接口对已存在的对象更改或者获取ACL(access control list) 。一个对象的ACL最多支持100条Grant授权。

本节将介绍如何更改对象ACL,改变对象的访问权限。

多版本

默认情况下,更改的是最新版本的对象ACL。要设置指定版本的对象ACL,请求可以带参数versionId。

URL
PUT  https://obs.cn-north-4.myhuaweicloud.com/{object_key} 
请求参数
名称 类型 IN 必选 描述
Authorization
 
string header

请求消息中可带的签名信息。

Date
 
string header

请求发起端的日期和时间,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默认值:无。 条件:如果消息头中带了x-obs-date字段,则可以不带该字段,其他情况下必选。

object_key
 
string path

设置ACL对象的名称。

bucket_name
 
string query

请求的桶名称。

acl
 
string query

表示请求 对象acl api。

versionId
 
string query

指定设置ACL对象的版本号。

Body参数
名称 类型 必选 描述
Owner
 
Owner object

桶拥有者信息,包含租户ID。

Delivered
 
boolean

对象ACL是否继承桶的ACL。 类型:布尔类型。默认true。

AccessControlList
 
Array of Grant objects

访问控制列表,包含Grant、 Grantee、Permission三个元素。

参数:
Owner
名称 类型 必选 描述
ID
 
string

用户的DomainID(帐号ID)。

参数:
AccessControlList
名称 类型 必选 描述
Grantee
 
Grantee object

用于标记用户及用户的权限。单个桶的ACL,Grant元素不能超过100个

Permission
 
string

授予的权限

Delivered
 
boolean

桶的ACL是否向桶内对象传递

参数:
AccessControlList.Grantee
名称 类型 必选 描述
ID
 
string

被授权用户的租户Id

返回参数
返回码: 200

请求成功响应消息。

名称 类型 必选 描述
Content-Length
 
string

响应消息体的字节长度。

Connection
 
string

指明与服务器的连接是长连接还是短连接。

Date
 
string

OBS系统响应的时间。

ETag
 
string

对象的base64编码的128位MD5摘要。ETag是对象内容的唯一标识,可以通过该值识别对象内容是否有变化。比如上传对象时ETag为A,下载对象时ETag为B,则说明对象内容发生了变化。实际的ETag是对象的哈希值。ETag只反映变化的内容,而不是其元数据。上传的对象或拷贝操作创建的对象,通过MD5加密后都有唯一的ETag。如果通过多段上传对象,则无论加密方法如何,MD5会拆分ETag,此类情况ETag就不是MD5的摘要。

x-obs-id-2
 
string

帮助定位问题的特殊符号。

x-obs-request-id
 
string

由OBS创建来唯一确定本次请求的值,可以通过该值来定位问题。

x-obs-version-id
 
string

被更改ACL的对象的版本号。

返回码: 400

请求失败响应消息。

名称 类型 必选 描述
Code
 
string

错误响应消息体XML中错误响应对应的HTTP消息返回码,具体的错误码请参见错误码-表2

Message
 
string

错误响应消息体XML中具体错误更全面、详细的英文解释,具体的错误消息请参见错误码-表2

RequestId
 
string

本次错误请求的请求ID,用于错误定位。

HostId
 
string

返回该消息的服务端ID。

Resource
 
string

该错误相关的桶或对象资源。

请求示例
示例 1
 
"/ObjectName?acl"
 
"PUT /obj2?acl HTTP/1.1\nUser-Agent: curl/7.29.0\nHost: examplebucket.obs.cn-north-4.myhuaweicloud.com\nAccept: */*\nDate: WED, 01 Jul 2015 04:42:34 GMT\nAuthorization: OBS H4IPJX0TQTHTHEBQQCEC:8xAODun1ofjkwHm8YhtN0QEcy9M=\nContent-Length: 727\n\n<AccessControlPolicy xmlns=\"http://obs.cn-north-4.myhuaweicloud.com/doc/2015-06-30/\">\n <Owner> \n <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID> \n </Owner> \n <Delivered>false</Delivered>\n <AccessControlList> \n <Grant> \n <Grantee> \n <ID>b4bf1b36d9ca43d984fbcb9491b6fce9</ID> \n </Grantee> \n <Permission>FULL_CONTROL</Permission> \n </Grant> \n <Grant> \n <Grantee> \n <ID>783fc6652cf246c096ea836694f71855</ID> \n </Grantee> \n <Permission>READ</Permission>\n </Grant> \n <Grant> \n <Grantee> \n <Canned>Everyone</Canned> \n </Grantee> \n <Permission>READ</Permission> \n </Grant> \n </AccessControlList> \n</AccessControlPolicy>\n"
错误码
请参考 错误码说明

 

上一篇:删除VPN连接DeleteVpnConnection 下一篇:智慧教学云平台教师使用手册-专业课管理

对象存储服务 OBS     

对象存储服务(Object Storage Service)是一款稳定、安全、高效、易用的云存储服务,具备标准Restful API接口,可存储任意数量和形式的非结构化数据。