授权某用户的 OSS 目录操做权限
写作时间:2022-04-14 作者:田辛
文章目录
1 创建用户并获得 AccessKey ID 和 AccessKey Secret
1.1 创建 RAM 用户
需要输入字段:登录名称,显示名称以及勾选OpenAPI调用访问选项
1.2 点击确定后,会有短信验证步骤
因为已经开启了该用户的OpenAPI访问权限。可以取得该用户的AccessKey ID和Secret
2 为用户创建权限
目前我只使用一个Bucket,所以,我并不希望该新用户访问所有目录
于是,在RAM访问控制 > 权限策略中,新建了一个权限
在创建时,采用【脚本编辑】
在编辑脚本中写入如下脚本:
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": "oss:ListObjects",
"Resource": "acs:oss:*:*:[替换为你的bucket名字]",
"Condition": {
"StringLike": {
"oss:Delimiter": [
"/"
],
"oss:Prefix": [
"",
"guohainan/", // 这里看底下引用部分的说明
"guohainan/*"
]
}
}
},
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": "acs:oss:*:*:[替换为允许访问的路径]"
}
]
}
这里第一部分 Delimiter和Prefix的组合效果是这样的:如果把Prefix设为某个文件夹名,就可以罗列以此Prefix开头的文件,即该文件夹下递归的所有的文件和子文件夹。如果再把Delimiter设置为“/“时,返回值返回在ComnonPrefixs部分,子文件夹下递归的文件和文件夹不被显示.
第二部分就是一个授权的部分了。写入bucket/许可路径/*
编辑完成后,保存。
3 给用户授权
4 OSS-bowser 使用
打开OSS-bowser,选择AK登录,分别填入相应内容。
Endpoint使用的时阿里云北京(田老师本人就在北京)
AccessKey ID和Secret按照系统给的填
预设OSS路径写入:oss://bucket名字/许可的路径名/
然后选择登录即可