1020
阿里云
Bucket权限分离__权限管理_最佳实践_对象存储 OSS-阿里云
再来考虑一种场景,已经有别的用户在使用开发的App,那么可以考虑用单独的Bucket来存储用户的App数据,假定为ram-test-app。那么考虑到权限隔离的问题,就不应该让应用服务器访问到ram-test-app,即仅授予ram_test_pub这个账号ram-test-dev的读权限。这也是可以通过RAM的权限系统来完成的。具体操作步骤如下:
由于系统中没有Bucket级别的默认策略,因此需要自定义策略,如下图示:
这里Bucket访问的策略如下,其他更详细的可以参考 RAM策略的说明 和 OSS授权问题FAQ。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListObjects",
"oss:GetObject"
],
"Resource": [
"acs:oss:*:*:ram-test-dev",
"acs:oss:*:*:ram-test-dev/*"
]
}
]
}
设置完成之后可以在自定义授权策略列表中看到。
在用户的授权管理中将该策略加入授权范围,并且在用户管理> 管理 >用户授权策略 中将之前授予的OSS全部可读权限解除。
测试权限设置的有效性。
可以访问ram-test-dev的Object:
$./osscmd get oss://ram-test-dev/test.txt test.txt --host=oss-cn-hangzhou.aliyuncs.com -i 9EzKokeQfGvJRQKu -k I4u6pLNhrQNKnpWQuM4szJfxhOLRGm
100% The object test.txt is downloaded to test.txt, please check.
0.047(s) elapsed
访问ram-test-app的Object失败:
$./osscmd get oss://ram-test-app/test.txt test.txt --host=oss-cn-hangzhou.aliyuncs.com -i 9EzKokeQfGvJRQKu -k I4u6pLNhrQNKnpWQuM4szJfxhOLRGm
Error Headers:
[('content-length', '229'), ('server', 'AliyunOSS'), ('connection', 'keep-alive'), ('x-oss-request-id', '5646ED53F9EEA2F3324191A2'), ('date', 'Sat, 14 Nov 2015 08:14:11 GMT'), ('content-type', 'application/xml')]
Error Body:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>AccessDenied</Message>
<RequestId>5646ED53F9EEA2F3324191A2</RequestId>
<HostId>ram-test-app.oss-cn-hangzhou.aliyuncs.com</HostId>
</Error>
Error Status:
403
get Failed!
上传文件到oss-test-app也失败:
$./osscmd put test.txt oss://ram-test-app/test.txt --host=oss-cn-hangzhou.aliyuncs.com -i 9EzKokeQfGvJRQKu -k I4u6pLNhrQNKnpWQuM4szJfxhOLRGm
100% Error Headers:
[('content-length', '229'), ('server', 'AliyunOSS'), ('connection', 'keep-alive'), ('x-oss-request-id', '5646ED7BB8DE437A912DC7A8'), ('date', 'Sat, 14 Nov 2015 08:14:51 GMT'), ('content-type', 'application/xml')]
Error Body:
<?xml version="1.0" encoding="UTF-8"?>
<Error>
<Code>AccessDenied</Code>
<Message>AccessDenied</Message>
<RequestId>5646ED7BB8DE437A912DC7A8</RequestId>
<HostId>ram-test-app.oss-cn-hangzhou.aliyuncs.com</HostId>
</Error>
Error Status:
403
put Failed!
通过上文的设置,就成功的将ram-test-dev和ram-test-app的权限完全区分开了。
上面介绍的主要是如何使用子账号的权限控制功能来分割权限,将信息泄露造成的危害降到最低。
如果用户有更复杂的权限控制需求,也可以参考 RAM用户指南。
最后更新:2016-11-23 16:04:09
上一篇:
读写权限分离__权限管理_最佳实践_对象存储 OSS-阿里云
下一篇:
STS临时授权访问__权限管理_最佳实践_对象存储 OSS-阿里云
CreateLoadBalancerUDPListener__Listener相关API_API 参考_负载均衡-阿里云
下拉提示操作__JavaSDK手册_SDK参考手册_开放搜索-阿里云
代码模式__脚本开发_Lite用户使用手册_性能测试-阿里云
文本反垃圾接口__文本反垃圾API_内容检测API文档_阿里绿网-阿里云
设备状态回调通知__服务器端API_阿里云物联网套件-阿里云
插件管理__快速入门_云数据库 HybridDB-阿里云
API产品接入__商品接入_服务商_云市场-阿里云
步骤 2:创建Windows实例__快速入门(Windows)_云服务器 ECS-阿里云
线上自助实验__上云培训介绍_上云培训-阿里云
分析接口配置__使用手册_画像分析-阿里云
相关内容
常见错误说明__附录_大数据计算服务-阿里云
发送短信接口__API使用手册_短信服务-阿里云
接口文档__Android_安全组件教程_移动安全-阿里云
运营商错误码(联通)__常见问题_短信服务-阿里云
设置短信模板__使用手册_短信服务-阿里云
OSS 权限问题及排查__常见错误及排除_最佳实践_对象存储 OSS-阿里云
消息通知__操作指南_批量计算-阿里云
设备端快速接入(MQTT)__快速开始_阿里云物联网套件-阿里云
查询API调用流量数据__API管理相关接口_API_API 网关-阿里云
使用STS访问__JavaScript-SDK_SDK 参考_对象存储 OSS-阿里云