1. 每把金鑰各自的安全政策:金鑰上的兩個欄位
一份防護欄審查流經模型的文字(PII、密鑰、 越獄)。一份防火牆政策治理一個代理發出的工具呼叫 (哪些工具、哪些 MCP 伺服器、哪些主機)。兩者都是 工作區範圍限定的命名政策——撰寫一次、跨工作區共用—— 而一把金鑰透過兩個欄位選擇加入特定的一份:| 欄位 | 綁定 | 在主控台中設定 |
|---|---|---|
guardrail_id | 審查這把金鑰之提示與回應的防護欄。 | Developer+ |
firewall_policy_id | 評估這把金鑰之工具呼叫的防火牆政策。 | Developer+ |
/console/token 的金鑰編輯器中設定。設定其中任一個都是
Developer+ 動作——政策本身也是由 Developer+ 撰寫
(參見範圍與金鑰)。
這兩個欄位是獨立的。一把金鑰可以附掛一份防護欄而不附掛
防火牆政策、反過來、兩者皆有、或兩者皆無——每個平面各自
解析。把一個欄位留空(
0)並不等同於把強制執行關閉;
參見 §3。2. 一個具體範例
假設你的工作區預設防護欄標記 PII 但放行它,而 預設防火牆政策稽核每一次工具呼叫。那對大多數代理而言 沒問題——但你的財務代理處理客戶 SSN,且絕不應該呼叫 shell 工具。撰寫一份更嚴格的finance-guardrail(直接封鎖 PII)
與一份 finance-firewall(只允許清單它所需的三個工具),然後
把兩者都綁定到那個代理的金鑰:
12 審查,
而它的工具呼叫會被政策 8 評估——同時工作區中的其他每把金鑰
都繼續執行工作區預設值。代理自己的程式碼
從不改變;它繼續用它的 sk-orca-… 金鑰呼叫
https://api.orcarouter.ai/v1/...,與先前完全一樣。
3. 解析:最常絆倒人的規則
對每個請求,閘道獨立地解析作用中的防護欄與作用中的 防火牆政策。兩者的順序看起來相同—— 附掛優先、工作區預設值其次——但它們在一個情況上分歧。防護欄解析
已附掛且已啟用 → 使用它
已附掛且已啟用 → 使用它
金鑰的
guardrail_id 指向一份存在且已
啟用的防護欄。那份防護欄會審查該請求。已附掛但已停用或已刪除 → 無防護欄
已附掛但已停用或已刪除 → 無防護欄
停用已附掛的防護欄是一個關閉開關。該金鑰得到
無內容審查——它不會回退到工作區
預設值。這是刻意設計:附掛一份防護欄並停用它,正是
你為那把金鑰關閉審查的做法。
未設定(0) → 工作區預設值
未設定(0) → 工作區預設值
金鑰上沒有
guardrail_id。如果有設定,工作區已啟用的預設防護欄
便會套用。兩者皆無 → 不強制執行
兩者皆無 → 不強制執行
沒有附掛、也沒有工作區預設值 → 該請求在沒有
內容審查的情況下通過。
防火牆解析
已附掛且已啟用 → 使用它
已附掛且已啟用 → 使用它
金鑰的
firewall_policy_id 指向一份存在且已
啟用的政策。那份政策會評估金鑰的工具呼叫。已附掛但已停用 → 工作區預設值
已附掛但已停用 → 工作區預設值
這裡是差異所在。一個已停用的防火牆附掛會回退到
工作區預設防火牆政策——它不會把強制執行
關閉。停用一個防火牆附掛會把金鑰還原回工作區
預設值;它不會讓金鑰失去防護。
未設定(0) → 工作區預設值
未設定(0) → 工作區預設值
金鑰上沒有
firewall_policy_id → 工作區已啟用的預設
防火牆政策便會套用。4. 封鎖的樣子
當一份綁定的政策拒絕一個請求時,呼叫者會看到一個結構化的錯誤—— 代理可以做出反應而不是崩潰:| 平面 | 錯誤代碼 | HTTP | 成本 |
|---|---|---|---|
| 防護欄 | guardrail_blocked | 400 | 無——一個輸入封鎖在計量之前觸發;一個輸出封鎖會退款。標記為 skip-retry。 |
| 防火牆(inbound) | firewall_blocked | 400 | 一個 inbound 封鎖在模型呼叫之前觸發,所以沒有模型權杖。Skip-retry。 |
| 防火牆(保留) | firewall_approval_pending | 400 | 為人工審批而保留;代理輪詢並在獲批後重新提交。 |
5. 接下來去哪裡
範圍與金鑰
完整的三層模型——工作區、政策、金鑰——以及一把金鑰所攜帶的每個
欄位。
權杖物件
一把金鑰上的每個欄位:
model_limits、allow_ips、credit_limit_usd、
expired_time,以及兩個政策附掛。防護欄
撰寫你透過
guardrail_id 綁定的內容政策——規則、PII
實體、動作與預設集。防火牆
撰寫你透過
firewall_policy_id 綁定的工具呼叫政策——
裁決、介面與自主等級。想一次設定你整個工作區的姿態,而不是一把一把地
綁定金鑰?一個自主等級會一次寫入兩個平面——防護欄
與防火牆。然後在少數需要超越工作區預設值的金鑰上
附掛更嚴格的政策。參見
防護欄 vs 防火牆。
