怎樣對OSS中的某個目錄進行授權___對象存儲(OSS)授權問題_授權常見問題_訪問控製-阿裏雲
OSS目錄級別的授權
目錄級別的授權屬於授權的高級功能,如果您有此類需求,請您認真閱讀並理解此部分。
背景
假設有一個用於存放照片的Bucket,叫myphotos。這個bucket下有一些目錄,代表照片的拍攝地;每個拍攝地目錄下又有年份子目錄。
目錄樹結構如下
myphotos[Bucket]
├── beijing
│ ├── 2014
│ └── 2015
├── hangzhou
│ ├── 2013
│ ├── 2014
│ └── 2015 //授予此目錄隻讀權限
└── qingdao
├── 2014
└── 2015
假設我們需要授權一個子用戶隻讀訪問myphotos/hangzhou/2015/
目錄的隻讀權限。根據使用場景不同,授權策略也有很大的區別。下麵我們根據授權策略的複雜程度,由簡入繁的為大家介紹三種場景。
場景一:子用戶知道所有文件的路徑,隻需要讀取文件內容的權限,不需要列出文件的權限
這個場景的特點是子用戶知道文件的完整路徑,可以使用完整的文件路徑直接去讀取文件內容。通常我們會將這樣的權限授予一個軟件係統,係統中文件路徑符合某種規則(比如文件名是員工工號),或者文件路徑持久化在軟件係統的數據庫中。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject"
],
"Resource": [
"acs:oss:*:*:myphotos/hangzhou/2015/*"
]
}
]
}
場景二:子用戶使用OSS CMD訪問目錄myphotos/hangzhou/2015/
,但是不知道目錄中有哪些文件,需要列出目錄中文件的權限
通常會將這樣的權限授予軟件開發者。開發者不清楚目錄中究竟有哪些文件,然後使用OSS CMD或API直接獲取目錄信息。
與場景一
相比,這裏需要新增ListObjects的權限。因為我們僅允許列出myphotos/hangzhou/2015/
目錄中的文件,所以在新增的ListObjects權限中,增加”oss:Prefix”的條件限定。
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:GetObject"
],
"Resource": [
"acs:oss:*:*:myphotos/hangzhou/2015/*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:myphotos"
],
"Condition":{
"StringLike":{
"oss:Prefix":"hangzhou/2015/*"
}
}
}
]
}
場景三:子用戶使用OSS控製台訪問目錄myphotos/hangzhou/2015/
最易用的場景,當子用戶使用可視化的OSS客戶端訪問目錄myphotos/hangzhou/2015/
,可視化的客戶端像Windows文件管理器一樣,讓子用戶可以從根目錄開始,一層一層的進入所要訪問的目錄。
與場景二相比,使用OSS可視化客戶端時需要從從根目錄一層一層導航進入myphotos/hangzhou/2015/
,所以需要新增以下權限
- 列出所有Bucket的權限
- 列出myphotos下目錄的權限,在這個例子中,即可以看到beijing/hangzhou/qingdao三個目錄
- 列出myphotos/hangzhou下的目錄的權限,即可以看到2013/2014/2015三個目錄
{
"Version": "1",
"Statement": [
{
"Effect": "Allow",
"Action": [
"oss:ListBuckets",
"oss:GetBucketAcl"
],
"Resource": [
"acs:oss:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:GetObject",
"oss:GetObjectAcl"
],
"Resource": [
"acs:oss:*:*:myphotos/hangzhou/2015/*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:ListObjects"
],
"Resource": [
"acs:oss:*:*:myphotos"
],
"Condition": {
"StringLike": {
"oss:Delimiter": "/",
"oss:Prefix": [
"",
"hangzhou/",
"hangzhou/2015/*"
]
}
}
}
]
}
最後更新:2016-09-01 11:46:20
上一篇:
怎樣為一個子用戶授予隻讀訪問ECS的權限___雲服務器(ECS)授權問題_授權常見問題_訪問控製-阿裏雲
下一篇:
在哪裏可以查到OSS的權限定義___對象存儲(OSS)授權問題_授權常見問題_訪問控製-阿裏雲
三大論文入圍ACMMM,阿裏雲的城市大腦會是AI的未來嗎?
數據傳輸服務條款__相關協議_數據傳輸-阿裏雲
雲郵集團版創建郵件域__控製台操作_產品使用問題_企業郵箱-阿裏雲
如何變更實名認證信息__實名認證_帳號實名認證_會員賬號&實名認證-阿裏雲
2016雲棲大會:阿裏雲發布首個基於生態體係的一站式域名服務平台
訂閱管理__使用說明_用戶手冊_雲服務總線 CSB-阿裏雲
質量變換__格式轉換_圖片處理指南_對象存儲 OSS-阿裏雲
查詢共享帶寬包公網IP監控信息__監控相關接口_API參考_專有網絡 VPC-阿裏雲
添加ECS實例__觸發任務_用戶指南_彈性伸縮-阿裏雲
大於短信推送__短信推送_開發人員指南_消息服務-阿裏雲
相關內容
常見錯誤說明__附錄_大數據計算服務-阿裏雲
發送短信接口__API使用手冊_短信服務-阿裏雲
接口文檔__Android_安全組件教程_移動安全-阿裏雲
運營商錯誤碼(聯通)__常見問題_短信服務-阿裏雲
設置短信模板__使用手冊_短信服務-阿裏雲
OSS 權限問題及排查__常見錯誤及排除_最佳實踐_對象存儲 OSS-阿裏雲
消息通知__操作指南_批量計算-阿裏雲
設備端快速接入(MQTT)__快速開始_阿裏雲物聯網套件-阿裏雲
查詢API調用流量數據__API管理相關接口_API_API 網關-阿裏雲
使用STS訪問__JavaScript-SDK_SDK 參考_對象存儲 OSS-阿裏雲