PutBucketAcl介面用於設定或修改儲存空間(Bucket)的存取權限(ACL)。
注意事項
使用PutBucketAcl介面時,有如下注意事項:
該介面的要求者需要對Bucket有寫入ACL的許可權。
PutBucketAcl為覆蓋語義,即新傳入的ACL將覆蓋原有的ACL。
如果指定要設定ACL的Bucket不存在,調用該介面時將建立Bucket。
許可權說明
阿里雲帳號預設擁有全部許可權。阿里雲帳號下的RAM使用者或RAM角色預設沒有任何許可權,需要阿里雲帳號或帳號管理員通過RAM Policy或Bucket Policy授予操作許可權。
API | Action | 說明 |
PutBucketAcl | oss:PutBucketAcl | 設定或修改Bucket ACL。 |
請求文法
PUT /?acl HTTP/1.1
x-oss-acl: Permission
Host: BucketName.oss-cn-hangzhou.aliyuncs.com
Date: GMT Date
Authorization: SignatureValue
要求標頭
名稱 | 類型 | 是否必選 | 樣本值 | 描述 |
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: Thu, 17 Apr 2025 03:21:12 GMT
Authorization: OSS4-HMAC-SHA256 Credential=LTAI********************/20250417/cn-hangzhou/oss/aliyun_v4_request,Signature=a7c3554c729d71929e0b84489addee6b2e8d5cb48595adfc51868c299c0c218e
返回樣本
正常返回樣本
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如下:
命令列工具ossutil
PutBucketAcl介面所對應的ossutil命令,請參見put-bucket-acl。
錯誤碼
錯誤碼 | HTTP狀態代碼 | 描述 |
AccessDenied | 403 |
|