跳轉到主要內容
你有一個已儲存的 防護欄,而你想讓某個特定的 API 金鑰被它審查——而不是整個工作區。這就是每把 API 金鑰的防護欄綁定的用途:在金鑰上設定 guardrail_id,該金鑰發出的每一次 /v1/* 呼叫都會在下次請求時被審查,無需重新部署,也無需修改 SDK。 本頁只涵蓋綁定本身——如何綁定、解析如何選出生效的政策,以及關閉開關做什麼。規則類型、動作與階段請見 防護欄參考

1. 用 guardrail_id 為每把 API 金鑰綁定防護欄

防護欄是工作區層級的,但強制執行是逐金鑰決定的。每把 API 金鑰 都帶有一個 guardrail_id 欄位。讓它指向一個防護欄,那把金鑰——而且只有那把金鑰——就會被該政策審查。 這讓一個工作區得以在不同金鑰上執行不同政策:
  • 一把綁定到嚴格 pii-blocker生產金鑰,
  • 一把綁定到較輕量 flag-only 政策的預備金鑰,
  • 一把沒有綁定任何東西的內部金鑰。
綁定關係存在於閘道中的金鑰上,所以編輯防護欄會在那把金鑰下次請求時切換它。你的應用程式像以前一樣繼續呼叫 https://api.orcarouter.ai/v1/chat/completions
中繼金鑰(sk-orca-…)是你的應用程式發送的東西。把防護欄綁定到它是一個由你工作階段驗證的主控台/token API 動作——你絕不會用中繼金鑰本身去設定防護欄。

2. 在主控台中綁定

從主控台設定綁定(角色把關:編輯金鑰與防護欄需要 Developer+)。
1

開啟金鑰

前往 /console/token,建立或編輯你想審查的 API 金鑰。
2

選擇防護欄

在金鑰編輯器中,從 Guardrail 下拉選單選擇你的防護欄。這會在金鑰上設定 guardrail_id
3

儲存

綁定會在那把金鑰的下次請求時生效。無需重新部署。
之後,用綁定金鑰發出的正常中繼呼叫就會自動被審查:
curl https://api.orcarouter.ai/v1/chat/completions \
  -H "Authorization: Bearer sk-orca-..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-4o-mini",
    "messages": [
      {"role": "user", "content": "Reply to jane@acme.com please"}
    ]
  }'
如果綁定的防護欄在輸入階段遮罩電子郵件,上游模型就會看到 [EMAIL] 而永遠看不到地址——同一個呼叫,無需修改客戶端。
若要審查工作區中每一把金鑰而非某一把,請將防護欄設為工作區預設值,而不是逐金鑰綁定。參見 帳戶預設防護欄

3. 解析如何選出生效的防護欄

對每個請求,閘道會按此順序解析出恰好一個生效的防護欄(或無):
如果金鑰的 guardrail_id 指向一個防護欄,該防護欄存在,已啟用,則套用它。明確綁定具有權威性——它永不會靜默回退到工作區預設值。
如果金鑰沒有綁定(guardrail_id0 /未設定),則套用工作區已啟用的預設防護欄(如果有設定的話)。
不執行任何強制。請求與從未啟用此功能的工作區位元組完全一致——沒有東西被封鎖、遮罩或記錄。
該決策是熱路徑上的一次索引查找,並且是**失敗開放(fail-open)**的:如果解析遇到暫時性錯誤,閘道會降級為不執行強制,而不是讓請求失敗。安全性降級;可用性得以保留。

4. 關閉開關:停用綁定,無回退

這是人們常忽略的部分。一個明確的金鑰綁定本身就是權威——所以停用綁定的防護欄會讓那把金鑰的強制執行關閉,而且它不會回退到工作區預設值。
金鑰狀態由什麼審查請求
guardrail_id → 已啟用的防護欄該防護欄
guardrail_id已停用的防護欄(不回退)
guardrail_id → 已刪除/遺失(不回退)
guardrail_id = 0 /未設定工作區預設值(如果有的話)
停用一個綁定的防護欄是那把金鑰的關閉開關,而不是降級到預設值。如果你想讓一把金鑰回退到工作區預設值,請清除它的綁定(將 guardrail_id 設為 0)——而不是只停用它所指向的防護欄。
這是與 防火牆 刻意設計的差異:一把帶有已停用綁定防火牆政策的金鑰回退到工作區預設防火牆政策,而一個已停用的綁定防護欄則解析為無。同樣的概念,相反的回退——參見 防護欄與防火牆

5. 解除綁定或清除綁定

若要停止用某個特定防護欄審查一把金鑰,你有兩個結果不同的不同動作:
  • 清除綁定——將金鑰的 guardrail_id 設為 0。該金鑰現在會解析到工作區預設值(如果有的話),或解析到無。
  • 停用防護欄——將防護欄的 enabled 關閉。現在每一把明確綁定到它的金鑰都會解析到(依 §4),而那些依賴它作為工作區預設值的金鑰則落到不執行強制。
當你想讓金鑰回到工作區基準時選清除;當你想在它作為命名綁定的所有地方暫停該政策時選停用

6. 一個被審查的請求會(與不會)花費什麼

一旦解析出防護欄,它的規則就會決定請求。對綁定金鑰而言值得知道的兩種結果:
  • 一次 block 會傳回 HTTP 400,錯誤代碼為 guardrail_blocked,並指名觸發的防護欄與規則。它不消耗配額——輸入階段封鎖在計量之前觸發,輸出階段封鎖會退還已預先扣除的配額——並被標記為 skip-retry
  • 一次 mask 會把匹配項改寫為一個具型別的標籤(例如 [EMAIL]),並以淨化後的形式讓請求通過;上游模型永遠看不到原始內容。
完整的回應形狀請見 guardrail_blocked 錯誤 頁面,輸出規則在串流回應上的行為請見 串流覆蓋

7. 下一步去哪裡

建立你的第一個防護欄

建立你將綁定到金鑰的政策。

帳戶預設防護欄

一次審查工作區中的每一把金鑰。

防護欄參考

規則類型、動作、階段、PII、評審、接地。

金鑰、政策與工作區

綁定如何在閘道中限定範圍。