配置权限只能操作一个目录
详细解答可以参考官方帮助文档场景用户需要访问某个bucket下的某个目录下的所有文件,但是该bucket下的其他目录不允许该用户访问。
解决方法
创建子账户
登录RAM管路控制台,单击用户管理,在右上角单击新建用户,如下图所示:
打开创建用户对话框,填写创建用户的登录名等各项信息后单击确定即可创建用户,如下所示:
自定义授权策略
在RAM管路控制台单击策略管理->新建策略打开创建策略对话框,选择空白模板,界面如下图所示:
在策略内容中输入如下策略:
Policy:{'Version': '1','Statement': [ { 'Effect': 'Allow', 'Action': [ 'oss:ListBuckets' ], '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获取地址可以打开,其他文件虽然可以获取地址,但访问会报错。
赞0
踩1