不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
百度云存储BCS文件访问控制权限相关测试
编辑:dnawo 日期:2014-01-09

如上图所示,在BCS管理控制台中文件访问权限简单的分为私有和公开,调用Get_Acl可以查看详细的ACL:


现在另一用户A想下载Hosts.apk和AppLock.apk两个文件,结果发现AppLock.apk无需URL签名就能下载,而Hosts.apk加了URL签名仍不能下载,提示用户验证失败即没有权限:

既是权限问题,我们调用Put_Acl设置用户A的下载权限:

再测试,用户A可以下载Hosts.apk了。接下来的问题是Bucket也有访问权限,它对文件访问有什么影响?

在官方文档中有如下说明:

bucket policy与object policy之间的关系:
·bucket类型的请求需要进行bucket policy的权限校验;
·object类型的请求同时进行bucket policy和object policy的权限校验;
·bucket policy与object policy间相互独立:相互独立在权限校验流程中的含义为:判断的先后不影响判定结果;
·policy合并的概念:由于policy内statement的相互独立和policy间的相互独立;在判定过程中,多个policy(p_1,p_2...p_n)合并一个policy(p),p = p_1 + p_2 + ...+ p_n。
·bucket类型的请求需要进行bucket policy的权限校验;
·object类型的请求同时进行bucket policy和object policy的权限校验;
·bucket policy与object policy间相互独立:相互独立在权限校验流程中的含义为:判断的先后不影响判定结果;
·policy合并的概念:由于policy内statement的相互独立和policy间的相互独立;在判定过程中,多个policy(p_1,p_2...p_n)合并一个policy(p),p = p_1 + p_2 + ...+ p_n。
附1:快速权限设置
通过提交statement可以非常详细的设置权限,例如上边添加用户A的下载权限,此外,还可以在请求头添加x-bs-acl快速设置权限,x-bs-acl值有private/public-read/public-write/public-read-write/public-control五种,下边分别测试与其对应的statement:

①.x-bs-acl: private
复制内容到剪贴板
程序代码

{"statements":[{"action":["*"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["psp:dnawo"]}]}
②.x-bs-acl: public-read
复制内容到剪贴板
程序代码

{"statements":[{"action":["*"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["psp:dnawo"]},{"action":["get_object"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["*"]}]}
③.x-bs-acl: public-write
复制内容到剪贴板
程序代码

{"statements":[{"action":["*"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["psp:dnawo"]},{"action":["put_object"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["*"]}]}
④.x-bs-acl: public-read-write
复制内容到剪贴板
程序代码

{"statements":[{"action":["*"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["psp:dnawo"]},{"action":["get_object","put_object"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["*"]}]}
⑤.x-bs-acl: public-control
复制内容到剪贴板
程序代码

{"statements":[{"action":["*"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["psp:dnawo"]},{"action":["*"],"effect":"allow","resource":["mzwu-disk1\/Hosts.apk"],"user":["*"]}]}
资料参考
[1].REST API:http://developer.baidu.com/wiki/index.php?title=docs/cplat/stor/api#Put_Acl
[2].URL签名算法:http://developer.baidu.com/wiki/index.php?title=docs/cplat/stor/access/signed-url
[3].ACL概述:http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/access/acl
[4].policy语法介绍:http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/access/acl/policy
[5].常见错误:http://developer.baidu.com/wiki/index.php?title=docs/cplat/bcs/access/acl/error
评论: 0 | 引用: 0 | 查看次数: 3667
发表评论
请登录后再发表评论!