用户需要访问某个bucket下的某个目录下的所有文件,但是该bucket下的其他目录不允许该用户访问。
创建子账户
自定义授权策略
- {
- "Version": "1",
- "Statement": [
- {
- "Effect": "Allow",
- "Action": [
- "oss:ListBuckets",
- "oss:GetBucketStat",
- "oss:GetBucketInfo",
- "oss:GetBucketAcl"
- ],
- "Resource": [
- "acs:oss:*:*:*"
- ]
- },
- {
- "Effect": "Allow",
- "Action": [
- "oss:Listobjects"
- ],
- "Resource": [
- "acs:oss:*:*:bucketname"
- ]
- },
- {
- "Effect": "Allow",
- "Action": [
- "oss:GetObject"
- ],
- "Resource": [
- "acs:oss:*:*:bucketname/1/*"
- ]
- }
- ]
- }
授权完成之后,使用子账户登录OSS 管理控制台,此时可以看到列出了所有的bucket,但除了授权的bucket,其他bucket是没有权限访问的。在bucket私有的情况下只有授权目录下的object获取地址可以打开,其他文件虽然可以获取地址,但访问会报错。