如果系統權限原則不能滿足您的要求,您可以建立自訂權限原則實現最小授權。使用自訂權限原則有助於實現許可權的精細化管控,是提升資源訪問安全的有效手段。本文介紹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使用者添加權限原則
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇 。
在使用者頁面,單擊目標RAM使用者操作列的添加許可權。
您也可以選中多個RAM使用者,單擊使用者列表下方的添加許可權,為RAM使用者大量授權。
在新增授權面板,為RAM使用者添加許可權。
選擇資源範圍。
帳號層級:許可權在當前阿里雲帳號內生效。
資源群組層級:許可權在指定的資源群組內生效。
重要指定資源群組授權生效的前提是該雲端服務及資源類型已支援資源群組,詳情請參見支援資源群組的雲端服務。資源群組授權樣本,請參見使用資源群組限制RAM使用者管理指定的ECS執行個體。
選擇授權主體。
授權主體即需要添加許可權的RAM使用者。系統會自動選擇當前的RAM使用者。
選擇權限原則。
權限原則是一組存取權限的集合,分為以下兩種。支援批量選中多條權限原則。
系統策略:由阿里雲建立,策略的版本更新由阿里雲維護,使用者只能使用不能修改。更多資訊,請參見支援RAM的雲端服務。
說明系統會自動標識出高風險系統策略(例如:AdministratorAccess、AliyunRAMFullAccess等),授權時,盡量避免授予不必要的高風險權限原則。
自訂策略:由使用者管理,策略的版本更新由使用者維護。使用者可以自主建立、更新和刪除自訂策略。更多資訊,請參見建立自訂權限原則。
單擊確認新增授權。
單擊關閉。
為RAM角色添加權限原則
使用Resource Access Management員登入RAM控制台。
在左側導覽列,選擇 。
在角色頁面,單擊目標RAM角色操作列的新增授權。
您也可以選中多個RAM角色,單擊角色列表下方的新增授權,為RAM角色大量授權。
在新增授權面板,為RAM角色授權。
選擇資源範圍。
帳號層級:許可權在當前阿里雲帳號內生效。
資源群組層級:許可權在指定的資源群組內生效。
說明指定資源群組授權生效的前提是該雲端服務及資源類型已支援資源群組,詳情請參見支援資源群組的雲端服務。
選擇授權主體。
授權主體即需要添加許可權的RAM角色。系統會自動選擇當前的RAM角色。
選擇權限原則。
權限原則是一組存取權限的集合。支援批量選中多條權限原則。
系統策略:由阿里雲建立,策略的版本更新由阿里雲維護,使用者只能使用不能修改。更多資訊,請參見支援RAM的雲端服務。
說明系統會自動標識出高風險系統策略(例如:AdministratorAccess、AliyunRAMFullAccess等),授權時,盡量避免授予不必要的高風險權限原則。
自訂策略:由使用者管理,策略的版本更新由使用者維護。使用者可以自主建立、更新和刪除自訂策略。更多資訊,請參見建立自訂權限原則。
單擊確認新增授權。
單擊關閉。
為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的授權資訊。詳細內容請參見授權資訊。