場景
需要將阿里雲oss的某個bucket的指定目錄授權給測試人員使用,比如指定 myBuket 的 static/material/ 目錄。
測試人員通過ossbrowser工具來維護這個目錄。
步驟
新建用戶
在RAM訪問控制中新建一個用戶
爲這個用戶創建AccessKey
自定義權限策略
輸入名稱、備註、選擇“腳本配置”,通過自己寫腳本來配置權限
腳本內容如下:
{
"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/*"
]
}
配置權限
添加權限時從自定義策略中選擇上面定義的權限即可
打開ossbrowser
用上面配置的accessKeyId和AccessKeySerect
預設路徑一定要設置剛纔的 oss://myBuket/static/material
點擊登入即可。
oss的API權限也是這麼控制的。
參考
RAM子賬戶授權OSS單個bucket中部分文件的訪問權限
使用RAM對OSS進行權限管理