对象存储BOS

    PutBucketAcl

    接口描述

    本接口用于设置Bucket的访问权限。目前BOS支持两种方式设置ACL。第一种是使用CannedAcl,在PutBucketAcl的时候,通过头域的“x-bce-acl"来设置,当前可设置的权限包括:private, public-read, public-read-write(大小写敏感)。第二种方式是上传一个ACL文件,文件格式参见ACL文件格式

    注意:
    BOS系统不支持在同一请求中,同时设置“x-bce-acl”和上传ACL文件。

    请求(Request)

    • 请求语法

      PUT /?acl HTTP/1.1
      Host: <BucketName>.bj.bcebos.com
      x-bce-date: <Date>
      Content-Length: <ContentLength>
      Content-Type:application/json; charset=utf-8
      Authorization: <AuthorizationString>
      x-bce-acl: <ACLString>
    • 请求参数

      无特殊参数

    • 请求头域

      名称 类型 描述 是否必需
      x-bce-acl String Bucket设置的ACL权限,支持:private、public-read、public-read-write

    响应(Response)

    • 响应头域

      无特殊Header参数返回

    • 响应元素

    注意事项

    1. 只有Bucket的拥有者和被授予FULL_CONTROL权限的用户才能设置Bucket的ACL权限。
    2. 在创建Bucket时,Bucket权限会默认设置为private。

    示例

    • 使用CannedAcl的请求示例

      PUT /?acl HTTP/1.1
      Host: BucketName.bj.bcebos.com
      x-bce-date: 2016-04-06T08:23:49Z 
      Authorization: AuthorizationString
      x-bce-acl: public-read
      Content-Type: application/json; charset=utf-8
      Content-length: 0
    • 上传ACL文件的示例

      PUT /?acl HTTP/1.1
      Host: BucketName.bj.bcebos.com
      x-bce-date: 2016-04-06T08:23:49Z 
      Content-Length :1324
      Content-Type: application/json; charset=utf-8
      Authorization: AuthorizationString
      
      {
          "accessControlList":[
               { 
                     "grantee":[{
                        "id":"168bf6fd8fa74d9789f35a283a1f15e2"
                      }],
                      "permission":["READ"]
                }
           ]
      }
    • 响应示例

      HTTPS/1.1 200 OK
      x-bce-request-id: 4db2b34d-654d-4d8a-b49b-3049ca786409
      Content-Length: 0
      Date: Wed, 06 Apr 2016 06:34:40 GMT
      Server: BceBos
    上一篇
    基础操作
    下一篇
    GetBucketAcl