要給某個子使用者通路某個目錄的檔案的權限怎麼設計呢?
比如:bucket名稱是loveos,loveos下面有目錄user,這user目錄下面又有子目錄ava
那我要讓子使用者隻能通路這個ava檔案夾,可以在這個ava檔案夾裡面上傳、下載下傳,删除等各種操作,這個要怎麼實作呢?
思路:首先建立一個子使用者賬号,然後再設計一個權限政策,再把設計好的權限授權給該使用者。
實施步驟:
首先我們要打開RAM通路控制
https://ram.console.aliyun.com/overview 可以在裡面根據提示先建立子使用者,使用者建好後建立一個權限政策,方法如下圖:
{
"Statement": [
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": "acs:oss:*:*:loveos/user/ava/*"
},
{
"Effect": "Allow",
"Action": "oss:ListObjects",
"Resource": "acs:oss:*:*:loveos",
"Condition": {
"StringLike": {
"oss:Prefix": [
"",
"user/",
"user/ava/",
"user/ava/*"
]
},
"StringEquals": {
"oss:Delimiter": "/"
}
}
},
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets"
],
"Resource": "acs:oss:*:*:*"
}
],
"Version": "1"
}
這個政策已在“OSS控制台用戶端”上登陸測試通過,被授權的子使用者,可以在ava檔案夾内進行上傳、下載下傳、删除檔案等操作,但不允許删除檔案夾,如果讓删除,可把下面的代碼去掉就可以了。
"StringEquals": {
"oss:Delimiter": "/"
}
溫馨提示:删除了這段代碼,前面那個“逗号”也就不需要了,跟着删除即可,要不文法會報錯的。
很簡單的代碼,抛磚引玉,寫出來友善自己以後查閱,也供有需要的朋友做個參考。