阿里云OSS访问权限配置——RAM权限控制

场景

需要将阿里云oss的某个bucket的指定目录授权给测试人员使用,比如指定 myBuket 的 static/material/ 目录。
测试人员通过ossbrowser工具来维护这个目录。

阿里云OSS访问权限配置——RAM权限控制_第1张图片

步骤

新建用户

在RAM访问控制中新建一个用户
阿里云OSS访问权限配置——RAM权限控制_第2张图片
为这个用户创建AccessKey
阿里云OSS访问权限配置——RAM权限控制_第3张图片

自定义权限策略

阿里云OSS访问权限配置——RAM权限控制_第4张图片
输入名称、备注、选择“脚本配置”,通过自己写脚本来配置权限
阿里云OSS访问权限配置——RAM权限控制_第5张图片
脚本内容如下:

{
    "Version": "1",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "oss:ListObjects",
            "Resource": "acs:oss:*:*:myBuket",
            "Condition": {
                "StringLike": {
                    "oss:Delimiter": "/",
                    "oss:Prefix": [
                        "",
                        "static/",
                        "static/material/*"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": "oss:*",
            "Resource": [
                "acs:oss:*:*:myBuket/static/material/*"
            ]
        }
    ]
}

这个脚本指定 myBucket 下的 static/material/ 目录可以访问(任何权限)
要访问这个目录,则这个目录的所有父目录都要有ListObjects权限,否则进不去。

因此该脚本分为两部分,即两个Effect配置:
第一部分是配置material/所有父目录的ListObjects权限

{
   "Effect": "Allow",
    "Action": "oss:ListObjects",
    "Resource": "acs:oss:*:*:myBuket",
    "Condition": {
        "StringLike": {
            "oss:Delimiter": "/",
            "oss:Prefix": [
                "",
                "static/",
                "static/material/*"
            ]
        }
    }
}

第二部分配置materinal的所有权限,Action为“oss:*”表示操作OSS的所有权限

{
    "Effect": "Allow",
    "Action": "oss:*",
    "Resource": [
        "acs:oss:*:*:myBuket/static/material/*"
    ]
}

配置权限

添加权限时从自定义策略中选择上面定义的权限即可
阿里云OSS访问权限配置——RAM权限控制_第6张图片
阿里云OSS访问权限配置——RAM权限控制_第7张图片

打开ossbrowser

用上面配置的accessKeyId和AccessKeySerect
预设路径一定要设置刚才的 oss://myBuket/static/material
阿里云OSS访问权限配置——RAM权限控制_第8张图片
点击登入即可。

oss的API权限也是这么控制的。


参考

通过OSSborrower进行OSS授权管理
RAM子账户授权OSS单个bucket中部分文件的访问权限
使用RAM对OSS进行权限管理












你可能感兴趣的:(阿里云,阿里云oss)