1. 順序:優先順序遞增、第一個匹配者勝出
在一個政策內,規則按priority ASC, id ASC 順序評估:
- 較低的
priority先執行。 一條priority: 0的規則會在一條priority: 10的之前被檢查。把它想成一個佇列位置,而非一個強度 分數——較小的數字先發言。 - 同分時以規則 id 決定。 同一
priority的兩條規則按建立順序 (遞增的規則 id)執行,所以較舊的規則贏得同分。當順序真的重要時 使用不同的優先順序,而非倚賴 id 的同分決勝。 - 第一個匹配者勝出。 引擎在第一條其條件全部成立的規則停下,並 套用它的裁決。清單下方更遠的規則,對那次呼叫絕不被諮詢。
- 無匹配 → 預設裁決。 若無任何匹配,則套用政策的
default_verdict——除非你改過它,否則是audit。
2. 一個具體範例:特定在寬泛之前
典型的排序工作是讓一個窄的 allow 在一個寬泛的 deny 中存活。 把特定的規則放在一個較低的優先順序,這樣它先被觸及:shell.echo 的呼叫先擊中 Rule A(優先順序 10)、匹配,並
被允許——引擎絕不觸及 Rule B。一次對 shell.exec 的呼叫落空 A(glob
不匹配)、擊中 Rule B,並被拒絕。
翻轉優先順序,優先順序 10 上寬泛的 shell.* deny 會先捕捉
shell.echo,而你優先順序 20 上的 allow 會是死碼。拇指規則:最特定
在先、最寬泛在後。
3. 在你依賴它之前驗證順序
一旦一個政策有超過少數幾條規則,在紙上推理優先順序就容易出錯。 Test 沙盒對照一個樣本工具呼叫執行真實引擎,並告訴你不只是裁決, 而是哪條規則勝出——所以你能確認你預期的規則實際觸發了:
完整的沙盒參見測試規則,就地
編輯規則順序參見管理政策。
4. 技能強制執行疊加在上
規則優先順序決定勝出規則的裁決——但那不總是最終答案。如果該工具 呼叫由一個受治理的技能擁有,該 技能的強制執行模式會在第一個匹配解析之後、疊加於勝出的 裁決之上:| 技能模式 | 對勝出裁決的效果 |
|---|---|
allow | 不變——規則裁決成立。 |
quarantine | 把任何未達 deny 的升級為 pending_approval;一個既有的 deny 保持原樣。 |
block | 無論規則裁決為何都強制一個 deny。 |
quarantine 技能能把一條規則的 allow 變成一個被保留的
呼叫,而一個 block 技能即使在沒有規則指名它的工具時也拒絕一個
呼叫。Quarantine 只升級——它絕不把一個 deny 降級為更柔和的東西。這
就是為什麼一個被自動偵測為高風險的技能會保持被隔離,直到你審查它,
無論你的規則多寬鬆。
5. 不走 first-match 的東西
幾個機制坐落在每規則優先順序走訪之外——知道它們落在哪裡,這樣你 不會試圖排序它們:cap_cost — 被解析,而非被排名
cap_cost — 被解析,而非被排名
一條在其上限之下的
cap_cost
規則被當作不匹配,所以評估繼續到下一條規則,而不是讓它以
first-match 作為一個許可勝出。超過上限時它解析為一個 deny。它
絕不單因被觸及就短路一條較低優先順序的規則。序列 — 被動式,而非內聯
序列 — 被動式,而非內聯
一條序列規則匹配一個
跨時間窗口的呼叫鏈,所以它由一個非同步匹配器被動式地強制執行,
而非在完成該鏈的那單一呼叫上。它點亮事件動態,但不為一個個別
呼叫贏得 first-match 走訪。
影子模式 — 在裁決之後套用
影子模式 — 在裁決之後套用
影子模式不改變哪條規則
勝出——它在第一個匹配解析之後,把勝出的強制執行裁決降級為
audit(原因加上前綴 [shadow] would …),這樣你能在一個政策
改變流量之前衡量它的影響。6. 把它組合起來
對任何工具呼叫,完整的解析是:- 解析政策——綁定到呼叫金鑰的那個,或工作區預設值。參見 範圍。
- 按
priority ASC, id ASC走訪規則——第一個匹配者勝出;無匹配 →default_verdict。 - 套用技能強制執行——一個受治理技能的模式疊加在勝出的裁決之上
(
block強制 deny、quarantine升級)。 - 套用影子模式——若開啟,把強制執行的裁決降級為
audit。 - 記錄事件——裁決、介面、工具與匹配到的規則落入 事件動態。
編輯一條規則的優先順序會在綁定到該政策的每個金鑰的下一次呼叫
時生效——無需重新部署、無需代理程式碼變更。重新排序後重新執行
Test 沙盒,以在即時流量依賴它
之前確認新的勝出者。
接下來去哪裡
裁決
每個勝出的裁決實際做什麼。
Glob 語法
工具名稱匹配如何決定一條規則是否甚至是一個候選者。
測試規則
乾跑一個政策並看見哪條規則勝出。
工具允許清單
最倚賴排序的 default-deny 模式。
