華為云計算 云知識 設(shè)置對象ACLSetObjectAcl
設(shè)置對象ACLSetObjectAcl

 

接口說明

OBS支持對對象的操作進(jìn)行權(quán)限控制。默認(rèn)情況下,只有對象的創(chuàng)建者才有該對象的讀寫權(quán)限。用戶也可以設(shè)置其他的訪問策略,比如對一個對象可以設(shè)置公共訪問策略,允許所有人對其都有讀權(quán)限。SSE-KMS方式加密的對象即使設(shè)置了ACL,跨租戶也不生效。

OBS用戶在上傳對象時可以設(shè)置權(quán)限控制策略,也可以通過ACL操作API接口對已存在的對象更改或者獲取ACL(access control list) 。一個對象的ACL最多支持100條Grant授權(quán)。

本節(jié)將介紹如何更改對象ACL,改變對象的訪問權(quán)限。

多版本

默認(rèn)情況下,更改的是最新版本的對象ACL。要設(shè)置指定版本的對象ACL,請求可以帶參數(shù)versionId。

URL
PUT  https://obs.cn-north-4.myhuaweicloud.com/{object_key} 
請求參數(shù)
名稱 類型 IN 必選 描述
Authorization
 
string header

請求消息中可帶的簽名信息。

Date
 
string header

請求發(fā)起端的日期和時間,例如:Wed, 27 Jun 2018 13:39:15 +0000。 默認(rèn)值:無。 條件:如果消息頭中帶了x-obs-date字段,則可以不帶該字段,其他情況下必選。

object_key
 
string path

設(shè)置ACL對象的名稱。

bucket_name
 
string query

請求的桶名稱。

acl
 
string query

表示請求 對象acl api。

versionId
 
string query

指定設(shè)置ACL對象的版本號。

Body參數(shù)
名稱 類型 必選 描述
Owner
 
Owner object

桶擁有者信息,包含租戶ID。

Delivered
 
boolean

對象ACL是否繼承桶的ACL。 類型:布爾類型。默認(rèn)true。

AccessControlList
 
Array of Grant objects

訪問控制列表,包含Grant、 Grantee、Permission三個元素。

參數(shù):
Owner
名稱 類型 必選 描述
ID
 
string

用戶的DomainID(帳號ID)。

參數(shù):
AccessControlList
名稱 類型 必選 描述
Grantee
 
Grantee object

用于標(biāo)記用戶及用戶的權(quán)限。單個桶的ACL,Grant元素不能超過100個

Permission
 
string

授予的權(quán)限

Delivered
 
boolean

桶的ACL是否向桶內(nèi)對象傳遞

參數(shù):
AccessControlList.Grantee
名稱 類型 必選 描述
ID
 
string

被授權(quán)用戶的租戶Id

返回參數(shù)
返回碼: 200

請求成功響應(yīng)消息。

名稱 類型 必選 描述
Content-Length
 
string

響應(yīng)消息體的字節(jié)長度。

Connection
 
string

指明與服務(wù)器的連接是長連接還是短連接。

Date
 
string

OBS系統(tǒng)響應(yīng)的時間。

ETag
 
string

對象的base64編碼的128位MD5摘要。ETag是對象內(nèi)容的唯一標(biāo)識,可以通過該值識別對象內(nèi)容是否有變化。比如上傳對象時ETag為A,下載對象時ETag為B,則說明對象內(nèi)容發(fā)生了變化。實(shí)際的ETag是對象的哈希值。ETag只反映變化的內(nèi)容,而不是其元數(shù)據(jù)。上傳的對象或拷貝操作創(chuàng)建的對象,通過MD5加密后都有唯一的ETag。如果通過多段上傳對象,則無論加密方法如何,MD5會拆分ETag,此類情況ETag就不是MD5的摘要。

x-obs-id-2
 
string

幫助定位問題的特殊符號。

x-obs-request-id
 
string

由OBS創(chuàng)建來唯一確定本次請求的值,可以通過該值來定位問題。

x-obs-version-id
 
string

被更改ACL的對象的版本號。

返回碼: 400

請求失敗響應(yīng)消息。

名稱 類型 必選 描述
Code
 
string

錯誤響應(yīng)消息體XML中錯誤響應(yīng)對應(yīng)的HTTP消息返回碼,具體的錯誤碼請參見錯誤碼-表2。

Message
 
string

錯誤響應(yīng)消息體XML中具體錯誤更全面、詳細(xì)的英文解釋,具體的錯誤消息請參見錯誤碼-表2。

RequestId
 
string

本次錯誤請求的請求ID,用于錯誤定位。

HostId
 
string

返回該消息的服務(wù)端ID。

Resource
 
string

該錯誤相關(guān)的桶或?qū)ο筚Y源。

請求示例
示例 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"
錯誤碼
請參考 錯誤碼說明。