如果系統策略不滿足授權要求,管理員可以創建自定義策略,并通過給用戶組授予自定義策略來進行精細的訪問控制,自定義策略是對系統策略的擴展和補充。
目前IAM支持以下兩種方式創建自定義策略:
- 可視化視圖:通過可視化視圖創建自定義策略,無需了解JSON語法,按可視化視圖導航欄選擇云服務、操作、資源、條件等策略內容,可自動生成策略。
- JSON視圖:通過JSON視圖創建自定義策略,可以在選擇策略模板后,根據具體需求編輯策略內容;也可以直接在編輯框內編寫JSON格式的策略內容。
可視化視圖配置自定義策略
步驟 1 登錄IAM控制臺。
步驟 2 在統一身份認證服務,左側導航窗格中,選擇“權限管理>權限”頁簽,單擊右上方的“創建自定義策略”。
步驟 3 輸入“策略名稱”。
步驟 4 “策略配置方式”選擇“可視化視圖”。
步驟 5 在“策略內容”下配置策略。
- 選擇“允許”或“拒絕”。
- 選擇“云服務”。
說明
此處只能選擇一個云服務,如需配置多個云服務的自定義策略,請在完成此條配置后,單擊“添加權限”,創建多個服務的授權語句;或使用JSON視圖配置自定義策略。
暫不支持一個自定義策略同時包含全局級云服務和項目級云服務。如果需要同時設置全局級服務和項目級服務的自定義策略,請創建兩條自定義策略,便于授權時設置最小授權范圍。
- 選擇“操作”,根據需求勾選產品權限。
- (可選)選擇資源類型,如選擇“特定資源”可以單擊“通過資源路徑指定”來指定需要授權的資源。
說明
支持為特定資源授權的云服務目前僅包括對象存儲服務(OBS)、分布式消息服務(DMS)
表 資源類型
| 類型 | 說明 |
|---|---|
| 特定資源 | 授予IAM用戶特定資源的相應權限。如授予IAM用戶以TestBucket命名開頭的桶相應權限,需將bucket設置為通過資源路徑指定,添加資源路徑:OBS:::bucket:TestBucket*。 說明 指定桶資源:【格式】OBS:::bucket:桶名稱 對于桶資源,IAM自動生成資源路徑前綴 “ obs:::bucket: ” 。通過桶名稱指定具體的資源路徑,支持通配符*。例如:obs:::bucket:表示任意OBS桶。指定對象資源:【格式】OBS:::object: 桶名稱 / 對象名稱 對于對象資源,IAM自動生成資源路徑前綴 **“obs:::object:”** 。 通過 桶名稱 / 對象名稱指定具體的資源路徑,支持通配符。 例如:obs:::object:my-bucket/my-object/*表示my-bucket桶下my-object目錄下的任意對象。 |
| 所有資源 | 授予IAM用戶所有資源的相應權限。 |
- (可選)添加條件,單擊“添加條件”,選擇“條件鍵”,選擇“運算符”,根據運算符類型填寫相應的值。
表 條件參數
| 參數名稱 | 參數說明 |
|---|---|
| 條件鍵 | 條件鍵表示策略語句的Condition 元素中的鍵值。分為全局條件鍵和服務級條件鍵。全局級條件鍵(前綴為g:)適用于所有操作;服務級條件鍵(前綴為服務縮寫,如obs:)僅適用于對應服務的操作,詳情請參見對應云服務的用戶指南。 |
| 運算符 | 與條件鍵、條件值一起使用,構成完整的條件判斷語句。 |
| 值 | 與條件鍵、運算符一起使用,當運算符需要某個關鍵字時,需要輸入關鍵字的值,構成完整的條件判斷語句。 |
表 全局級請求條件
| 全局條件鍵 | 條件類型 | 說明 |
|---|---|---|
| g:CurrentTime | 時間 | 接收到鑒權請求的時間。以ISO 8601 格式表示,例如:2012-11-11T23:59:59Z。 |
| g:DomainName | 字符串 | 帳號名稱。 |
| g:MFAPresent | 布爾值 | 是否使用MFA多因素認證方式獲取Token。 |
| g:MFAAge | 數值 | 通過MFA多因素認證方式獲取的Token的生效時長。該條件需要和g:MFAPresent一起使用。 |
| g:ProjectName | 字符串 | 項目名稱。 |
| g:ServiceName | 字符串 | 服務名稱。 |
| g:UserId | 字符串 | IAM用戶ID。 |
| g:UserName | 字符串 | IAM用戶名。 |
步驟 6 (可選)在“策略配置方式”選擇JSON視圖,將可視化視圖配置的策略內容轉換為JSON語句,您可以在JSON視圖中對策略內容進行修改。

說明
如果您修改后的JSON語句有語法錯誤,將無法創建策略,可以自行檢查修改內容或單擊界面彈窗中的“重置”,將JSON文件恢復到未修改狀態。
步驟 7 (可選)如需創建多條自定義策略,請單擊“添加權限”;也可在已創建的策略最右端單擊“+”,復制此權限。
步驟 8 輸入“策略描述”(可選)。
步驟 9 單擊“確定”,自定義策略創建完成。
步驟 10 將新創建的自定義策略授予用戶組,使得用戶組中的用戶具備自定義策略中的權限。
說明
給用戶組授予自定義策略與系統策略操作一致,詳情請參考“用戶組及授權”
JSON視圖配置自定義策略
步驟 1 登錄IAM控制臺。
步驟 2 在統一身份認證服務,左側導航窗格中,選擇“權限管理>權限”頁簽,單擊右上方的“創建自定義策略”。
步驟 3 輸入“策略名稱”。
步驟 4 “策略配置方式”選擇“JSON視圖”。
步驟 5 (可選)在“策略內容”區域,單擊“從已有策略復制”,例如選擇“EVS FullAccess”作為模板。
說明
此處可以同時選擇多個服務的策略,這些策略的作用范圍必須一致,即都是全局級服務或者項目級服務。如果需要同時設置全局服務和項目級服務的自定義策略,請創建兩條自定義策略,便于授權時設置最小授權范圍。
步驟 6 單擊“確定”。
步驟 7 修改模板中策略授權語句。
- 作用(Effect):允許(Allow)和拒絕(Deny)。
- 權限集(Action):寫入各服務API授權項列表(如所示)中“授權項”中的內容,例如:"evs:volumes:create",來實現細粒度授權。
說明
自定義策略版本號(Version)固定為1.1,不可修改。
步驟 8 (可選)輸入“策略描述”。
步驟 9 單擊“確定”后,系統會自動校驗語法,如跳轉到策略列表,則自定義策略創建成功;如提示“策略內容錯誤”,請按照語法規范進行修改。
步驟 10 將新創建的自定義策略授予用戶組,使得用戶組中的用戶具備自定義策略中的權限。
說明
給用戶組授予自定義策略與系統策略操作一致,詳情請參考“創建用戶組并授權”