如果系統權限原則不能滿足您的要求,您可以建立自訂權限原則實現最小授權。使用自訂權限原則有助於實現許可權的精細化管控,是提升資源訪問安全的有效手段。本文介紹ARMS應用監控如何使用自訂權限原則。
什麼是自訂權限原則
在基於RAM的存取控制體系中,自訂權限原則是指在系統權限原則之外,您可以自主建立、更新和刪除的權限原則。自訂權限原則的版本更新需由您來維護。
建立自訂權限原則後,需為RAM使用者、使用者組或RAM角色綁定權限原則,這些RAM身份才能獲得權限原則中指定的存取權限。
已建立的權限原則支援刪除,但刪除前需確保該策略未被引用。如果該權限原則已被引用,您需要在該權限原則的引用記錄中移除授權。
自訂權限原則支援版本控制,您可以按照RAM規定的版本管理機制來管理您建立的自訂權限原則版本。
操作文檔
前提條件
2022年04月01日0點之後開通ARMS的阿里雲帳號預設支援此功能,2022年04月01日0點之前開通ARMS的阿里雲帳號需要提交工單開通此功能。
在建立自訂授權策略時,您需要瞭解授權策略語言的基本結構和文法。更多資訊,請參見權限原則基本元素。
已為RAM使用者添加系統權限原則ReadOnlyAccess或AliyunARMSReadOnlyAccess,用於登入ARMS控制台。
重要為了實現對ARMS所有功能的唯讀許可權,除了添加AliyunARMSReadOnlyAccess權限原則外,還需要為特定的資源群組配置ReadTraceApp許可權,否則ARMS將無法展示資源群組鑒權下的應用列表。
請確認RAM使用者沒有添加系統權限原則AliyunARMSFullAccess。
背景資訊
ARMS提供粗粒度的系統授權策略,如果這種粗粒度授權策略不能滿足您的需要,那麼您可以建立自訂授權策略。例如,您想控制RAM使用者對某個具體應用的操作許可權,您必須使用自訂授權策略才能滿足這種細粒度要求。
步驟一:建立自訂權限原則
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇。
在权限策略頁面,單擊创建权限策略。

在创建权限策略頁面,單擊指令碼編輯頁簽。在策略文檔中編寫您的授權策略內容。
授權策略內容中各元素說明,請參見權限原則元素說明。
樣本:杭州地區標籤為
key0: value01或key0: value02應用的唯讀許可權。{ "Version": "1", "Statement": [ { "Action": [ "arms:ReadTraceApp" ], "Resource": "acs:arms:cn-hangzhou:*:armsapp/*", "Effect": "Allow", "Condition": { "StringEquals": { "arms:tag/key0":[ "value01", "value02" ] } } } ] }單擊頁面上方的優化策略,然後單擊執行,對權限原則內容進行進階最佳化。
進階權限原則最佳化功能會完成以下任務:
拆分不相容操作的資源或條件。
收縮資源到更小範圍。
去重或合并語句。
在创建权限策略頁面,單擊确定。
在创建权限策略對話方塊,輸入策略名稱稱和备注,然後單擊确定。
步驟二:添加權限原則
為RAM使用者添加權限原則
控制台
RAM控制台提供兩種為RAM使用者授權的操作入口。兩者均支援單個或大量授權,請按操作習慣選擇:
從用户頁面發起:在使用者列表中勾選目標使用者後,授權面板會自動選定授權主體。適合“以使用者為中心”的視角。
從授權頁面發起:需手動選擇授權主體,但可看到帳號下所有授權記錄的總覽。適合“以許可權為中心”的視角。
大規模批量管理建議:當需要為多名職責相同的 RAM 使用者授予相同許可權時,建議先將這些使用者加入同一使用者組,再為使用者組授權(控制台路徑:身份管理 > 使用者組),比為每個使用者單獨授權更易維護。
從使用者頁面發起
登入RAM控制台
在左側導覽列選擇。
在用户頁面,找到已經建立好的RAM使用者,單擊操作列的新增授權。
您也可以選中多個RAM使用者,單擊使用者列表下方的新增授權,為多個RAM使用者新增授權。
在新增授權面板,為RAM使用者添加許可權。
選擇資源範圍:
帳號層級:許可權在當前阿里雲帳號內全部資源生效。適用於通用、無需按資源群組隔離的情境。
資源群組層級:許可權僅在指定資源群組內生效。適用於多團隊共用一個帳號、需按資源群組隔離許可權的情境。如果RAM使用者被授予了資源群組層級的許可權,該使用者登入控制台後,必須在頂部導覽列將資源範圍切換到被授權的資源群組,才能正常訪問和管理該資源群組內的資源。
說明系統會自動標識出高風險系統策略(例如:AdministratorAccess、AliyunRAMFullAccess等),這些策略通常包含對所有雲資源的完全控制許可權或對存取控制(RAM)的完全系統管理權限等,請謹慎授予。
資源群組授權樣本,請參見使用資源群組限制RAM使用者管理指定的ECS執行個體。
選擇授權主體:
授權主體即需要添加許可權的RAM使用者。如果是從使用者頁面發起,系統會自動選擇當前的RAM使用者。如果是從授權頁面發起,需要手動選擇RAM使用者,支援批量選中多個。
選擇權限原則:
系統策略:可以直接搜尋並選擇。搜尋技巧:您可以利用搜尋方塊快速定位策略。支援按產品名稱(如
ECS、OSS)、權限等級(如ReadOnly、FullAccess)或完整的策略名稱稱進行模糊搜尋。自訂策略:需要先建立自訂權限原則後再來授權。
(可選)填寫備忘:建議填寫授權原因或情境描述,便於後續審計回溯,例如"OSS 上傳任務專項授權"。
提交授權:單擊確認新增授權。
確認授權綁定操作結果,單擊關閉。
從授權頁面發起
登入RAM控制台
在左側導覽列,選擇。
在授權頁面,單擊新增授權。
在新增授權面板,為RAM使用者添加許可權。具體內容同上。
確認授權綁定操作結果,單擊關閉。
OpenAPI
授予自訂策略
調用CreatePolicy建立一個自訂策略,可以參考權限原則基本元素和權限原則樣本庫概覽。
調用AttachPolicyToUser為RAM使用者授予帳號層級的許可權,注意此處
PolicyType選擇Custom。或者調用AttachPolicy為RAM使用者授予資源群組層級的許可權。
授予系統策略
直接調用AttachPolicyToUser將權限原則綁定至指定RAM使用者,注意此處
PolicyType選擇System,PolicyName詳見 系統策略參考。或者調用AttachPolicy為RAM使用者授予資源群組層級的許可權。
為RAM角色添加權限原則
為RAM角色添加權限原則後,您可以使用RAM角色登入ARMS控制台。具體操作,請參見扮演RAM角色。
權限原則元素說明
效果(Effect)
授權效果包括兩種:允許(Allow)和拒絕(Deny)。
操作(Action)
Action | 許可權說明 |
arms:ReadTraceApp | 應用監控唯讀許可權,用於查看應用概覽、介面調用、應用診斷等資訊。 |
arms:EditTraceApp | 應用監控編輯許可權,即應用自訂配置和設定自訂參數的許可權。 |
arms:DeleteTraceApp | 應用監控刪除許可權,即刪除應用的許可權。 |
資源(Resource)
用於指定被授權的具體對象。
格式如下:
"Resource": [
"acs:arms:<regionid>:*:armsapp/<appname>"
]請將
<regionid>替換為指定地區ID。如果當前授權針對所有地區,可替換為*。請將
<appname>替換指定應用程式名稱。如果當前授權針對所有應用,可替換為*;如果當前授權針對的應用程式名稱擁有相同首碼,可替換為名稱首碼*,例如k8s*。
條件(Condition)
條件塊(Condition Block)由一個或多個條件子句構成。一個條件子句由條件操作類型、條件關鍵字和條件值組成。 
邏輯說明:
條件滿足:一個條件關鍵字可以指定一個或多個值,在條件檢查時,如果條件關鍵字的值與指定值中的某一個相同(OR),即可判定條件滿足。
條件子句滿足:同一條件操作類型的條件子句下,若有多個條件關鍵字,所有條件關鍵字必須同時滿足(AND),才能判定該條件子句滿足。
條件塊滿足:條件塊下的所有條件子句同時滿足(AND)的情況下,才能判定該條件塊滿足。
應用監控支援通過標籤索引值對指定被授權的對象。設定應用標籤的操作,請參見標籤管理。
標籤索引值對支援的條件操作類型:
StringEquals
StringNotEquals
StringEqualsIgnoreCase
StringNotEqualsIgnoreCase
StringLike
StringNotLike
條件關鍵字:arms:tag。
條件關索引值:標籤索引值對。
樣本:對標籤索引值對等於key0: value01或key0: value02的應用授權。
"Condition": {
"StringEquals": { //條件操作類型。
"arms:tag/key0":[ //條件關鍵字
"value01", //條件關索引值
"value02"
]
}
}授權資訊參考
使用自訂權限原則,您需要瞭解業務的許可權管控需求,並瞭解ARMS的授權資訊。詳細內容請參見授權資訊。