【華爲雲技術分享】十分鐘從入門到精通(下)——OBS權限配置

上一篇我們介紹了OBS權限管理中統一身份認證和企業項目管理,本期我們繼續介紹OBS權限管理中的高級桶策略和ACL應用。

您是否也遇到過類似的問題或者困擾?

1、隔壁的主賬戶給了子用戶創建一個桶,但是沒有給他設置桶策略,子賬戶訪問報403,困惑了一整天。

2、樓下是另外一個子賬號,爲了OBS 控制檯報無權限訪問,百思不得其解。

3、對面一個子賬戶上傳了一個文件,抓破頭也無法分享給其他人。

這些問題或者困擾各不相同,下面將分別介紹高級桶策略和ACL應用來解答這些問題和困惑。

高級桶策略介紹:

桶策略是作用於配置桶策略的單個桶的。同時也提供代碼模式配置方法,高級桶策略代碼最多不能超過20KB。

桶策略參數:

1.png

 

(1)Effect,桶策略效果;指定本條策略描述的權限是允許請求還是拒絕請求。

(2)Action,桶策略動作;指定本條策略可以執行的操作。

(3)Condition,策略生效必須滿足的條件,詳情參考

https://support.huaweicloud.com/usermanual-obs/obs_03_0120.html

(4)Resource,資源;資源指桶或對象。您可以指定一個對象或對象集,當指定給對象集時,使用通配符(*),例如:file*。如果不輸入,則表示指定資源爲桶,且在動作處只能選擇與桶相關的。多個資源使用英文逗號分隔。

(5)Principal,桶策略被授權用戶。

“domain/賬號ID”(表示被授權用戶爲xxx賬號)。

“domain/賬號ID:user/用戶ID”(表示被授權用戶爲xxx賬號下的xxx用戶)

2.png

 

控制檯:

3.png

 

對應代碼模式:

4.png

 

應用案例:

步驟1:配置賬號B的一個桶,允許賬號A下的a租戶只有上傳權限,配置如下。

其中賬戶ID爲A賬戶的賬號ID

用戶ID爲A用戶a租戶的用戶ID

資源爲空代表桶本身,配置後a租戶可以掛載外部桶但沒有對象操作權限。

5.png

6.png

 

高級桶策略與IAM授權對比

(1)       IAM的OBS細粒度權限直接授權給IAM用戶組,而OBS桶的自身細粒度規則目標只能是一個或者多個IAM用戶,對於多用戶場景創建和維護的效率較低,如下圖所示。

7.png

 

(2)       IAM的OBS細粒度權限可以包含60個Bucket+Object動作規則,而OBS桶自身的細粒度策略中,支持的Bucket+Object動作規則只有34個,如下圖所示。這也就意味着IAM的OBS細粒度權限精細度更高。

9.png

8.png

 

(3)       IAM的OBS細粒度權限還可以支持“列舉所有桶”操作的權限控制,這樣的全局性操作控制在OBS桶的自身高級策略中是無法實現的。

10.png

 

(4)       OBS桶的自定義桶策略,設定的Bucket訪問權限只能針對該桶自己;而一條IAM的OBS細粒度權限則可以同時適配多個目標OBS桶。

 11.png

 

(5)       OBS桶的自定義桶策略,只能控制IAM用戶的OBS訪問權限,而不能控制其他雲服務對OBS資源的訪問權限的。IAM的OBS細粒度權限則可以通過委託授權來控制其他雲服務對於OBS資源的訪問權限。

(6)       不論是IAM的OBS細粒度權限控制,還是OBS桶自定義的高級桶策略中,桶的訪問控制與對象的訪問控制是分開定義的,在華爲雲的OBS服務中,桶的訪問控制規則 與 對象的訪問控制規則 是分開定義的,當前無法通過一條策略將桶本身和桶內對象都共享出去。

如下所示爲OBS桶的自定義高級桶策略:

12.png

13.png

 

如下所示爲IAM的OBS細粒度權限定義,也需要同時包含桶和對象兩條規則

14.png

 

ACL介紹:

基於賬號的訪問控制。有一個很恰當的比喻:桶owner相當於房東,房東將桶出租給房客(子賬戶),子賬戶可以將貴重物品放到自己的房間裏,但是房東沒有權利去查看。房客可以給房東鑰匙(設置對象ACL)賦予房東權限,使其有訪問權限。

 

應用案例:

步驟1:賬號A上傳,B賬號無權限下載

15.png

 

步驟2:可通過SDK,配置指定主賬號具有對象下載權限;

上傳者使用Java SDK配置指定賬號權限。

16.png

 

這樣對象的上傳者,就可以將對象的權限賦予給桶owner。

點擊這裏,瞭解更多精彩內容

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章