PutBucketAcl接口用于设置或修改存储空间(Bucket)的访问权限(ACL)。
注意事项
使用PutBucketAcl接口时,有如下注意事项:
该接口的请求者需要对Bucket有写入ACL的权限。
PutBucketAcl为覆盖语义,即新传入的ACL将覆盖原有的ACL。
如果指定要设置ACL的Bucket不存在,调用该接口时将新建Bucket。
请求语法
PUT /?acl HTTP/1.1
x-oss-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
当您在OSS ON云盒中调用该接口时,您需要将Host替换为云盒Endpoint。更多信息,请参见云盒Endpoint。
请求头
名称 | 类型 | 是否必选 | 示例值 | 描述 |
x-oss-acl | 字符串 | 是 | private | 指定Bucket的访问权限ACL。 PutBucketAcl接口通过Put请求中的x-oss-acl请求头来设置访问权限,如果没有该请求头,则访问权限设置不生效。 取值:public-read-write、public-read、private。
|
此接口涉及的其他公共请求头,请参见公共请求头(Common Request Headers)。
响应头
此接口仅涉及公共响应头,请参见公共响应头(Common Response Headers)。
示例
请求示例
PUT /?acl HTTP/1.1
x-oss-acl: public-read
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Fri, 24 Feb 2012 03:21:12 GMT
Authorization: OSS qn6q**************:77Dv****************
返回示例
正常返回示例
HTTP/1.1 200 OK x-oss-request-id: 534B371674E88A4D8906**** Date: Fri, 24 Feb 2012 03:21:12 GMT Content-Length: 0 Connection: keep-alive Server: AliyunOSS
设置读写权限无效的返回示例
HTTP/1.1 400 Bad Request x-oss-request-id: 56594298207FB3044385**** Date: Fri, 24 Feb 2012 03:55:00 GMT Content-Length: 309 Content-Type: text/xml; charset=UTF-8 Connection: keep-alive Server: AliyunOSS <?xml version="1.0" encoding="UTF-8"?> <Error> <Code>InvalidArgument</Code> <Message>no such bucket access control exists</Message> <RequestId>5***9</RequestId> <HostId>***-test.example.com</HostId> <ArgumentName>x-oss-acl</ArgumentName> <ArgumentValue>error-acl</ArgumentValue> </Error>
SDK
此接口所对应的各语言SDK如下:
错误码
错误码 | HTTP状态码 | 描述 |
AccessDenied | 403 |
|