阿里云OSS访问权限配置(RAM权限控制)实现


这篇文章主要介绍了阿里云OSS访问权限配置(RAM权限控制)实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

 

场景

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

步骤

新建用户

在RAM访问控制中新建一个用户

为这个用户创建AccessKey

自定义权限策略

输入名称、备注、选择“脚本配置”,通过自己写脚本来配置权限

脚本内容如下:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 {   "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权限

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 {   "Effect": "Allow",   "Action": "oss:ListObjects",   "Resource": "acs:oss:*:*:myBuket",   "Condition": {     "StringLike": {       "oss:Delimiter": "/",       "oss:Prefix": [         "",         "static/",         "static/material/*"       ]     }   } }

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

1 2 3 4 5 6 7 {   "Effect": "Allow",   "Action": "oss:*",   "Resource": [     "acs:oss:*:*:myBuket/static/material/*"   ] }

配置权限

添加权限时从自定义策略中选择上面定义的权限即可

打开ossbrowser

用上面配置的accessKeyId和AccessKeySerect
预设路径一定要设置刚才的 oss://myBuket/static/material

点击登入即可。

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

参考

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

到此这篇关于阿里云OSS访问权限配置(RAM权限控制)实现的文章就介绍到这了,更多相关阿里云OSS访问权限配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

oss