Bucket ACL管理
更新时间:2025-06-30
设置 Bucket ACL
描述: 配置Bucket ACL有两种方法: 1. 使用CannedAcl; 2. 通过上传ACL配置文件设置Bucket ACL。
命令格式:
Plain Text
1bcecmd bosapi put-bucket-acl --bucket-name BUCKET-NAME [--acl-config-file ACL-CONFIG-FILE] [--canned CANNED]
说明:
- 使用
--acl-config-file
指定ACL配置文件,ACL配置文件格式请参考 Bucket权限控制;- 使用
--canned
设置 CannedACL,当前支持的CannedAcl包括 private(私有)、public-read(公共读)、public-read-write(公共读写);--acl-config-file
和--canned
不能同时使用;- 配置CannedACL时,如果配置失败则会打印错误信息,如果配置成功则不会输出任何消息;
- 通过上传ACL配置文件设置Bucket ACL时,如果设置成功会打印ACL配置信息,失败则会打印ACL配置文件的内容和错误信息。
示例:
-
使用CannedAcl方式的权限控制
操作示例:
Plain Text1$ bcecmd bosapi put-bucket-acl --bucket-name bucket1 --canned private
返回示例: 无
-
通过上传ACL配置文件设置Bucket ACL
操作示例:
Plain Text1$ bcecmd bosapi put-bucket-acl --bucket-name bucket1 --acl-config-file acl-config.json
返回示例:
Plain Text1{ 2 "accessControlList": [ 3 { 4 "grantee": [ 5 { 6 "id": "e13b12d213213213232323f492323" 7 } 8 ], 9 "permission": [ 10 "READ" 11 ] 12 } 13 ] 14}
追加 Bucket ACL
描述: 追加Bucket ACL的功能是:在指定Bucket原有的ACL配置的基础上,追加新的ACL规则,ACL规则同样由ACL配置文件指定。
命令格式:
Plain Text
1bcecmd bosapi append-bucket-acl --bucket-name BUCKET-NAME [--acl-config-file ACL-CONFIG-FILE]
说明:
- 使用
--acl-config-file
指定ACL配置文件,ACL配置文件格式请参考 Bucket权限控制;- 如果ACL配置文件中指定的ACL规则与已有ACL规则相同,则会自动过滤掉,并输出提示信息。
- 通过上传ACL配置文件追加Bucket ACL时,如果设置成功会打印ACL配置信息,失败则会打印ACL配置文件的内容和错误信息。
示例:
-
通过上传ACL配置文件追加Bucket ACL
操作示例:
Plain Text1$ bcecmd bosapi append-bucket-acl --bucket-name bucket1 --acl-config-file acl-config.json
返回示例:
Plain Text1{ 2 "accessControlList": [ 3 { 4 "grantee": [ 5 { 6 "id": "e13b12d213213213232323f492323" 7 } 8 ], 9 "permission": [ 10 "READ" 11 ] 12 }, 13 { 14 "grantee": [ 15 { 16 "id": "b13a56d27878788766e4989989212" 17 } 18 ], 19 "permission": [ 20 "READ" 21 ] 22 } 23 ] 24}
-
ACL配置文件示例
ACL配置文件中可包含单条或多条ACL规则,示例如下:
示例1:
采用json array的格式指定一条或多条ACL规则。
Plain Text1[ 2 { 3 "grantee": [ 4 { 5 "id": "b13a56d27878788766e4989989212" 6 } 7 ], 8 "permission": [ 9 "READ" 10 ] 11 }, 12 { 13 "grantee": [ 14 { 15 "id": "c89d235665666655f478823567981" 16 } 17 ], 18 "permission": [ 19 "READ" 20 ] 21 }, 22 ...... 23]
示例2:
采用一般json格式指定需要追加的ACL规则。
Plain Text1{ 2 "accessControlList": [ 3 { 4 "grantee": [ 5 { 6 "id": "e13b12d213213213232323f492323" 7 } 8 ], 9 "permission": [ 10 "FULL_CONTROL" 11 ] 12 }, 13 { 14 "grantee": [ 15 { 16 "id": "e56d577879621c56a577879677765" 17 } 18 ], 19 "permission": [ 20 "READ" 21 ] 22 } 23 ] 24}
获取Bucket ACL
描述: 获取Bucket 的ACL配置。
命令格式:
Plain Text
1bcecmd bosapi get-bucket-acl --bucket-name BUCKET-NAME
操作示例:
Plain Text
1bcecmd bosapi get-bucket-acl --bucket-name bucket1
返回示例:
Plain Text
1{
2 "accessControlList": [
3 {
4 "grantee": [
5 {
6 "id": "e13b12d213213213232323f492323"
7 }
8 ],
9 "permission": [
10 "FULL_CONTROL"
11 ],
12 "condition": {
13 "ipAddress": null,
14 "referer": {
15 "stringLike": null,
16 "stringEquals": null
17 }
18 }
19 }
20 ],
21 "owner": {
22 "id": "e13b12d213213213232323f492323"
23 }
24}