阅读924 返回首页    go iPhone_iPad_Mac_手机_平板_苹果apple


GetObjectACL__关于Object操作_API 参考_对象存储 OSS-阿里云

Get Object ACL用来获取某个Bucket下的某个Object的访问权限。

请求语法

GET /ObjectName?acl HTTP/1.1
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue

响应元素(Response Elements)

名称 描述
AccessControlList 存储ACL信息的容器
类型:容器
父节点:AccessControlPolicy
AccessControlPolicy 保存Get Object ACL结果的容器
类型:容器
父节点:None
DisplayName Bucket拥有者的名称.。(目前和ID一致)
类型:字符串
父节点:AccessControlPolicy.Owner
Grant Object的ACL权限。
类型:枚举字符串
有效值:private,public-read,public-read-write
父节点:AccessControlPolicy.AccessControlList
ID Bucket拥有者的用户ID
类型:字符串
父节点:AccessControlPolicy.Owner
Owner 保存Bucket拥有者信息的容器。
类型:容器
父节点:AccessControlPolicy

细节分析

  1. 只有Bucket的拥有者才能使用GetObjectACL这个接口来获取该Bucket下某个Object的ACL,非Bucket Owner调用该接口时,返回403 Forbidden消息。错误码:AccessDenied,提示You do not have read acl permission on this object.
  2. 如果从来没有对某个Object设置过ACL,则调用GetObjectACL时,OSS返回的ObjectACL会是default,表明该Object ACL遵循Bucket ACL。即:如果Bucket是private的,则该object也是private的;如果该object是public-read-write的,则该object也是public-read-write的。

示例

请求示例:

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+WwIfNm0FmgbrQ0=

返回示例:

HTTP/1.1 200 OK
x-oss-request-id: 559CC9BDC755F95A64485981
Date: Wed, 29 Apr 2015 05:21:12 GMT
Content-Length: 253
Content-Tupe: application/xml
Connection: keep-alive
Server: AliyunOSS

<?xml version="1.0" ?>
<AccessControlPolicy>
    <Owner>
        <ID>00220120222</ID>
        <DisplayName>00220120222</DisplayName>
    </Owner>
    <AccessControlList>
        <Grant>public-read </Grant>
    </AccessControlList>
</AccessControlPolicy>

最后更新:2016-11-23 17:16:08

  上一篇:go PutObjectACL__关于Object操作_API 参考_对象存储 OSS-阿里云
  下一篇:go PostObject__关于Object操作_API 参考_对象存储 OSS-阿里云