全部產品
Search
文件中心

Object Storage Service:GetObjectACL

更新時間:Feb 28, 2024

調用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許可權。

有效值:

  • default(預設值):繼承Bucket ACL

  • private:私人

  • public-read:公用讀取

  • public-read-write:公用讀寫

父節點: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 qn6qrrqxo2oawuk53otfjbyc:CTkuxpLAi4XZ+WwIfNm0Fmgb****

    返回樣本

    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 qctg2ns3l8u51iu:w4DK66Kb/0M9GJKdsrpNs8l1****

    返回樣本

    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為目錄,則返回該錯誤。