开发者社区> 问答> 正文

可以列出bucket文件夹,但无法向文件夹中写数据,

已解决

展开
收起
2018-02-03 02:38:17 678 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-02-08 04:34:59
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载