开发者社区> 问答> 正文

RAM子账户授权OSS单个bucket中部分文件的访问权限

已解决

展开
收起
2018-04-07 09:19:22 1103 0
1 条回答
写回答
取消 提交回答
  • 采纳回答

    详细解答可以参考官方帮助文档

    场景

    用户需要访问某个bucket下的某个目录下的所有文件,但是该bucket下的其他目录不允许该用户访问。

    解决方法

    1. 创建子账户

      1. 登录RAM管路控制台,单击用户管理,在右上角单击新建用户,如下图所示:

        新建用户

      2. 打开创建用户对话框,填写创建用户的登录名等各项信息后单击确定即可创建用户,如下所示:

        填写用户信息

    2. 自定义授权策略

      1. RAM管路控制台单击策略管理->新建策略打开创建策略对话框,选择空白模板,界面如下图所示:

        新建策略

      2. 策略内容中输入如下策略:

        1. Policy:
        2. {
        3. "Version": "1",
        4. "Statement": [
        5. {
        6. "Effect": "Allow",
        7. "Action": [
        8. "oss:ListBuckets"
        9. ],
        10. "Resource": [
        11. "acs:oss:*:*:*"
        12. ]
        13. },
        14. {
        15. "Effect": "Allow",
        16. "Action": [
        17. "oss:Listobjects"
        18. ],
        19. "Resource": [
        20. "acs:oss:*:*:bucketname"
        21. ]
        22. },
        23. {
        24. "Effect": "Allow",
        25. "Action": [
        26. "oss:GetObject"
        27. ],
        28. "Resource": [
        29. "acs:oss:*:*:bucketname/1/"
        30. ]
        31. }
        32. ]
        33. }
    3. 授权完成之后,使用子账户OSS 管理控制台,此时可以看到列出了所有的bucket,但除了授权的bucket ,其他bucket子账户是没有权限访问的。在bucket私有的情况下只有授权目录下的object获取地址可以打开,其他文件虽然可以获取地址,但访问会报错。

    2018-04-10 06:44:30
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
OSS运维进阶实战手册 立即下载
《OSS运维基础实战手册》 立即下载
OSS运维基础实战手册 立即下载