设置Bucket的访问权限
更新时间:2021-12-29
接口说明
本接口用于设置Bucket的访问权限。目前BOS支持两种方式设置ACL。第一种是使用CannedAcl,在PutBucketAcl的时候,通过头域的“x-bce-acl"来设置,当前可设置的权限包括:private, public-read, public-read-write(大小写敏感)。第二种方式是上传一个ACL文件,文件格式参见ACL文件格式。
注意事项
- BOS系统不支持在同一请求中,同时设置“x-bce-acl”和上传ACL文件。
- 只有Bucket的拥有者和被授予FULL_CONTROL权限的用户才能设置Bucket的ACL权限。
- 在创建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指定范围的资源设置访问权限,支持通配符。如: |
|
notResouce | String | 否 | ACL配置项所影响的资源,表示对notResource指定范围以外的资源设置访问权限,支持通配符。如: |
|
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> | 否 |
响应体参数
无
请求示例
JSON
1PUT /v1/bucketName_example/?acl
2<公共请求头>
3x-bce-acl: xBceAcl_example
4
5
6{
7 "accessControlList" : [ {
8 "notResouce" : "notResouce",
9 "condition" : {
10 "currentTime" : {
11 "dateLessThan" : "2020-07-01T12:00:00Z",
12 "dateGreaterThan" : "2018-03-01T15:00:00Z"
13 },
14 "secureTransport" : true,
15 "referer" : {
16 "stringLike" : [ "http://www.abc.com/*" ],
17 "stringEquals" : [ "http://www.abc.com" ]
18 },
19 "ipAddress" : [ "192.168.1.1" ]
20 },
21 "resource" : [ "bucket1/*" ],
22 "effect" : "Allow",
23 "grantee" : [ {
24 "id" : "10eb6f5ff6ff4605bf044313e8f3ffa5"
25 } ],
26 "permission" : [ "FULL_CONTROL" ]
27 } ]
28}
响应示例
无
错误码
请参考通用错误码