調用GetObjectACL介面擷取儲存空間(Bucket)下某個檔案(Object)的存取權限(ACL)。
版本控制
調用GetObjectACL介面時,預設只能擷取Object目前的版本的ACL。您可以通過指定versionId參數來擷取指定Object版本的ACL。如果Object的對應版本為刪除標記(Delete Marker),則OSS將返回404 Not Found。
如果一個Object從未設定過ACL,則調用GetObjectACL時,返回的ObjectACL為default,表示該Object的ACL遵循Bucket ACL。即如果Bucket的存取權限是private,則該Object的存取權限也是private。
請求文法
GET /ObjectName?acl HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
要求標頭
此介面僅涉及公用要求標頭。更多資訊,請參見公用要求標頭(Common Request Headers)。
回應標頭
此介面僅包含公用回應標頭。更多資訊,請參見公用回應標頭(Common Response Headers)。
響應元素
名稱 | 類型 | 樣本值 | 描述 |
AccessControlList | 容器 | 不涉及 | 儲存ACL資訊的容器。 父節點:AccessControlPolicy |
AccessControlPolicy | 容器 | 不涉及 | 儲存Get Object ACL結果的容器。 父節點:None |
DisplayName | 字串 | 0022012**** | Bucket擁有者的名稱,與使用者ID保持一致。 父節點:AccessControlPolicy.Owner |
Grant | 枚舉字串 | private | Object的ACL許可權。 有效值:
父節點:AccessControlPolicy.AccessControlList |
ID | 字串 | 0022012**** | Bucket擁有者的使用者ID。 父節點:AccessControlPolicy.Owner |
Owner | 容器 | 不涉及 | 儲存Bucket擁有者資訊的容器。 父節點:AccessControlPolicy |
樣本
未開啟版本控制
請求樣本
GET /test-object?acl HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Wed, 29 Apr 2015 05:21:12 GMT Authorization: OSS qn6q**************:77Dv****************
返回樣本
HTTP/1.1 200 OK x-oss-request-id: 559CC9BDC755F95A64485981 Date: Wed, 29 Apr 2015 05:21:12 GMT Content-Length: 253 Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" ?> <AccessControlPolicy> <Owner> <ID>0022012****</ID> <DisplayName>0022012****</DisplayName> </Owner> <AccessControlList> <Grant>public-read </Grant> </AccessControlList> </AccessControlPolicy>
已啟用版本控制
請求樣本
GET /example?acl&versionId=CAEQMhiBgMC1qpSD0BYiIGQ0ZmI5ZDEyYWVkNTQwMjBiNTliY2NjNmY3ZTVk**** HTTP/1.1 Host: oss-example.oss-cn-hangzhou.aliyuncs.com Date: Tue, 09 Apr 2019 06:30:10 GMT Authorization: OSS qn6q**************:77Dv****************
返回樣本
HTTP/1.1 200 OK x-oss-version-id: CAEQMhiBgMC1qpSD0BYiIGQ0ZmI5ZDEyYWVkNTQwMjBiNTliY2NjNmY3ZTVk**** x-oss-request-id: 5CAC3BF2B7AEADE017000621 Date: Tue, 09 Apr 2019 06:30:10 GMT Content-Length: 261 Content-Type: application/xml Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <AccessControlPolicy> <Owner> <ID>1234513715092****</ID> <DisplayName>1234513715092****</DisplayName> </Owner> <AccessControlList> <Grant>public-read</Grant> </AccessControlList> </AccessControlPolicy>
SDK
此介面所對應的各語言SDK如下:
錯誤碼
錯誤碼 | HTTP狀態代碼 | 錯誤資訊 | 描述 |
AccessDenied | 403 | You do not have read acl permission on this object. | 沒有操作許可權。只有Bucket的擁有者才能使用GetObjectACL介面來擷取該Bucket下某個Object的ACL。 |
FileAlreadyExists | 409 | The object you specified already exists and is a directory. | Bucket開啟階層命名空間後,當您要擷取該Bucket下某個Object的存取權限時,如果設定的Object為目錄,則返回該錯誤。 |