Appearance
Bucket权限管理
设置Bucket的访问权限
如下代码将Bucket的权限设置为了private:
python
fos_client.set_bucket_canned_acl(bucket_name, canned_acl.PRIVATE)
其中canned_acl中包含三个参数:PRIVATE、PUBLIC_READ、PUBLIC_READ_WRITE,它们分别对应的相关权限为:private、public-read、public-read-write。关于权限的具体内容可以参考《FOS API文档 使用CannedAcl方式的权限控制》。
设置更多Bucket访问权限
- 通过设置referer白名单方式设置防盗链
python
myAcl =[{"grantee":[{"id": "*"}],
"permission":["FULL_CONTROL"],
"condition":{"referer":{"stringEquals":["http://test/index"]}}}]
fos_client.set_bucket_acl(bucket_name, myAcl)
- 限制客户端IP访问,只允许部分客户端IP访问
python
myAcl = [{"grantee":[{"id":"*"}],
"permission":["FULL_CONTROL"],
"condition":{"ipAddress":["192.170.0.6"]}}]
fos_client.set_bucket_acl(bucket_name, myAcl)
查看Bucket的权限
如下代码可以查看Bucket的权限:
python
response = fos_client.get_bucket_acl(bucket_name)
fos_client.set_bucket_acl(bucket_name, response.access_control_list)
get_bucket_acl方法返回的解析类中可供调用的参数有:
参数 | 说明 |
---|---|
owner | Bucket owner信息 |
id | Bucket owner的租户CODE和租户ID的组合字符串,组合方式:{租户CODE}- |
acl | 标识Bucket的权限列表 |
grantee | 标识被授权人 |
-id | 被授权租户CODE和租户ID的组合字符串 |
permission | 标识被授权租户的权限 |
+resource | ACL配置项所影响的资源 |