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}