Put Bucket ACL接口用于修改Bucket访问权限。目前Bucket有三种访问权限:public-read-write,public-read和private。Put Bucket ACL操作通过Put请求中的“x-oss-acl”头来设置。这个操作只有该Bucket的创建者有权限执行。如果操作成功,则返回200;否则返回相应的错误码和提示信息。
请求语法PUT /?acl HTTP/1.1
x-oss-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
细节分析
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 qn6qrrqxo2oawuk53otfj byc:KU5h8YMUC78M30dXqf3JxrTZHiA=
HTTP/1.1 200 OK
x-oss-request-id: 534B371674E88A4D8906008B
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: 56594298207FB304438516F9
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>56594298207FB304438516F9</RequestId>
<HostId>leo.oss-test.aliyun-inc.com</HostId>
<ArgumentName>x-oss-acl</ArgumentName>
<ArgumentValue>error-acl</ArgumentValue>
</Error>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
您描述的是使用阿里云对象存储OSS(Object Storage Service)时,通过Put Bucket ACL接口来修改Bucket访问权限的操作细节。下面是对您提供信息的一个总结和补充说明:
权限类型:
public-read-write
:所有用户都可以读写该Bucket的内容。public-read
:所有用户可以读取该Bucket的内容,但只有拥有者可以写入。private
:只有Bucket的拥有者才能访问该Bucket。请求方式:通过HTTP PUT方法,向特定的URL发送请求,并在请求头中设置x-oss-acl
来指定新的ACL。
PUT /?acl HTTP/1.1
x-oss-acl: public-read
Host: your-bucket-name.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
x-oss-acl
头部,且Bucket属于请求者,则Bucket权限保持不变。HTTP/1.1 200 OK
x-oss-request-id: REQUEST_ID
Date: DATE_TIME
Content-Length: 0
Connection: keep-alive
Server: AliyunOSS
HTTP/1.1 400 Bad Request
x-oss-request-id: ERROR_REQUEST_ID
Date: DATE_TIME
Content-Length: LENGTH
Content-Type: text/xml; charset=UTF-8
Connection: keep-alive
Server: AliyunOSS
InvalidArgument
no such bucket access control exists
ERROR_REQUEST_ID
your-bucket-name.oss-region.aliyuncs.com
x-oss-acl
error-acl
在使用阿里云OSS服务时,通过精确设置Put Bucket ACL请求的参数,您可以有效地管理Bucket的访问权限,确保数据的安全性和适当的访问级别。务必确保遵循正确的请求格式和权限验证流程,以避免遇到错误和权限问题。