OSS是按照bucket来定义对应用户访问不同的数据范围,而又提供了大量的针对于bucket的属性,可以对不同业务内容的bucket设置不同的功能。但是系统限制单个用户最多可以创建30个bucket。
因此我们建议用户可以在单个bucket下设置不同的文件夹以实现业务范围的区分,并且可以通过STS来生成临时AccessKeyId、AccessKeySecret和token来限制用户的ACL权限。这种业务场景需要注意以下两点:
1、在一般的文件系统中,当单个目录下存放的文件较多的时候是会影响文件的读写速度。但是在OSS中,目录仅仅是一个逻辑概念,一个文件的目录仅仅是该object的key值的前缀,并不影响该object的存放位置以及读取速度。但是相应的带来的缺点就是无法对某个目录下的所有文件进行汇总计算。
2、在通过STS设置权限的时候可以通过policy来完成权限的控制,包括对某个目录的权限,例如下面这段policy的设置就是可以设置仅能够获取bucket(test)下的testimport文件夹下的文件,而没有其他相对目录的权限。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject"
],
"Resource": [
"acs:oss:::test/testimport/*"
]
}
]
}
如问题还未解决,请联系售后技术支持。