默認情況下,為保證存儲在ZOS中數據的安全性,ZOS資源(包括桶和對象)的訪問權限默認為私有,只有資源擁有者允許訪問。桶的資源擁有者為創建桶的賬號,對象的資源擁有者為上傳對象的賬號。如果要授權第三方用戶訪問自己的ZOS資源,可以通過多種權限管理方式向他人授予資源的特定權限。
三種權限管理方式總覽
ZOS提供了以下權限管理方式:
| 權限管理方式 | 說明 | 適用場景 |
|---|---|---|
| IAM權限 | IAM是一種基于用戶的授權策略。通過設置IAM策略,您可以控制用戶訪問資源的權限。 |
|
| 桶策略 | 桶策略是一種用于控制桶訪問權限的策略,允許桶的所有者授予其他用戶特定權限。通過桶策略,所有者可以靈活地定義和管理桶的訪問權限。 |
|
| 桶讀寫權限(ACL) | 桶讀寫權限可用來管理賬戶對存儲桶的訪問權限和ACL權限,桶的擁有者可以通過桶ACL授予或修改指定賬號的訪問權限。 | 作為IAM權限和桶策略的補充,對單個桶內的所有對象設置相同的訪問權限。 |
| 對象讀寫權限(ACL) | 在上傳文件時,您可以指定文件的讀寫權限,如私有和公共讀。 | 對單個或多個對象單獨設置訪問權限,如將某個對象開放給所有匿名用戶訪問。 |
三種權限管理方式的關系如下圖所示:
權限管理要素
ZOS的權限管理策略有授權賬號、效果(Effect)、資源(Resource)、授權項(Action)、條件(Condition)等要素,不同的權限管理方式有不同的元素,這些元素共同決定了授權的結果。不同權限管理方式中各個要素的支持情況如下表所示。
| 權限管理方式 | 授權賬號 | 效果 | 資源 | 授權項 | 是否支持配置條件 |
|---|---|---|---|---|---|
| IAM權限 | IAM用戶 | 允許/拒絕 | ZOS所有資源或指定資源 | ZOS定義的操作權限 | 支持 |
| 桶策略 |
| 允許/拒絕 |
| ZOS定義的操作權限 | 支持 |
| 桶讀寫權限(ACL) |
| 允許 | 桶 |
| 不支持 |
| 對象讀寫權限(ACL) |
| 允許 | 對象 |
| 不支持 |
配置多種權限管理方式的作用結果
在實際使用過程中,用戶往往會同時配置多種權限管理方式。此時會首先判斷顯式Deny策略,只要IAM或桶策略其中之一配置了顯式Deny策略,則直接拒絕。其后再依次判斷Allow策略和ACL策略。判斷過程如下圖所示。
同賬號場景下,為當前賬號下的IAM用戶授予桶和桶內資源的訪問權限,桶策略、IAM權限和ACL權限的作用結果如下圖所示。
跨賬號場景下,為其他賬號及賬號下的IAM用戶授予桶和桶內資源的訪問權限,桶策略、IAM權限和ACL權限的作用結果如下圖所示。