设置Bucket的访问权限
所有文档

          对象存储 BOS

          设置Bucket的访问权限

          接口说明

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

          注意事项

          1. BOS系统不支持在同一请求中,同时设置“x-bce-acl”和上传ACL文件。
          2. 只有Bucket的拥有者和被授予FULL_CONTROL权限的用户才能设置Bucket的ACL权限。
          3. 在创建Bucket时,Bucket权限会默认设置为private。

          请求URI

          PUT /v1/{bucketName}/?acl

          参数名称 参数类型 是否必须 描述 示例值 参数位置
          bucketName String bucket名称 "bucketName_example" Path

          请求头参数

          参数名称 参数类型 是否必须 描述 示例值
          xBceAcl String Bucket设置的ACL权限,支持:private、public-read、public-read-write "xBceAcl_example"

          请求体参数

          请求体字段数据结构说明

          参数名称 参数类型 是否必须 描述 示例值
          accessControlList List<AccessControlList> 标识acl主体的开始,由一或多组acl配置项组成,其中acl配置项由grantee+permission+resource+condition组合而成。

          AccessControlList字段数据结构说明

          参数名称 参数类型 是否必须 描述 示例值
          effect String 指定与该条acl配置项匹配的Request能否执行,取值为Allow或Deny。Allow表示可以执行;Deny表示拒绝执行。 Allow
          grantee List<Grantee> 标识被授权人。
          permission List<String> ACL配置项所影响的权限,可选值为READ、LIST、WRITE、和GetObject。权限详细解释请参见"Bucket ACL支持的permission权限"。
          resource List<String> ACL配置项所影响的资源,表示对resource指定范围的资源设置访问权限,支持通配符。如://xxx。 resource不填或填Bucket名称,等同于resource字段设为[, /_],即对Bucket和所有Object设置访问权限。
          notResouce String ACL配置项所影响的资源,表示对notResource指定范围以外的资源设置访问权限,支持通配符。如://xxx*,表示对BucketName中ObjectKey之外的Object或者以XXX为前缀的Object之外的其他Object设置访问权限。如果notResource字段不填则等同于没有配置notResource,即采用默认配置,对Bucket及所有Object设置访问权限。
          condition Condition ACL配置项所包含的限制条件,支持配置IP地址和Referer名单

          Grantee字段数据结构说明

          参数名称 参数类型 是否必须 描述 示例值
          id String 标识被授权人的Account ID,用户的Account ID可以登录控制台点击账户名下的“用户信息->基本信息”查看。 10eb6f5ff6ff4605bf044313e8f3ffa5

          Condition字段数据结构说明

          参数名称 参数类型 是否必须 描述 示例值
          currentTime CurrentTime condition配置项所包含的时间限制条件,支持配置"dateLessThan","dateLessThanEquals", "dateGreaterThan"和"dateGreaterThanEquals",四个配置项可以任选若干进行设置,匹配有效的条件是所设置配置项均需匹配。
          secureTransport Boolean 标识是否只允许https方式访问。可选值“true”、"false",不设置时视为“false”。当设置为"true"时,表示只允许https方式访问。 true
          ipAddress List<String> 标识授予访问权限的ip
          referer Referer 标识授予访问权限的referer

          CurrentTime字段数据结构说明

          参数名称 参数类型 是否必须 描述 示例值
          dateLessThan String 2020-07-01T12:00:00Z
          dateGreaterThan String 2018-03-01T15:00:00Z

          Referer字段数据结构说明

          参数名称 参数类型 是否必须 描述 示例值
          stringLike List<String>
          stringEquals List<String>

          响应体参数

          请求示例

          PUT /v1/bucketName_example/?acl
          <公共请求头>
          x-bce-acl: xBceAcl_example
          
          
          {
            "accessControlList" : [ {
              "notResouce" : "notResouce",
              "condition" : {
                "currentTime" : {
                  "dateLessThan" : "2020-07-01T12:00:00Z",
                  "dateGreaterThan" : "2018-03-01T15:00:00Z"
                },
                "secureTransport" : true,
                "referer" : {
                  "stringLike" : [ "http://www.abc.com/*" ],
                  "stringEquals" : [ "http://www.abc.com" ]
                },
                "ipAddress" : [ "192.168.1.1" ]
              },
              "resource" : [ "bucket1/*" ],
              "effect" : "Allow",
              "grantee" : [ {
                "id" : "10eb6f5ff6ff4605bf044313e8f3ffa5"
              } ],
              "permission" : [ "FULL_CONTROL" ]
            } ]
          }

          响应示例

          错误码

          请参考通用错误码

          上一篇
          基础操作
          下一篇
          获取Bucket的访问权限