跳轉到主要內容
一把 API 金鑰可以觸及你工作區有權使用的每個模型。 那對一個主控台工作階段而言很方便,對一個長壽的 代理卻很危險:一個被提示注入、持有不受限金鑰的代理可以悄悄 從 gpt-4o-mini 切換到你能存取的最昂貴模型, 或切換到一個你從未核准其資料處理方式的模型。 修補方式是每把金鑰各自的模型允許清單。每把金鑰攜帶一個 model_limits 欄位(由 model_limits_enabled 控管)。當它開啟時,一個 對清單上不存在之任何模型的請求會在閘道被拒絕—— 於選定通道之前、於任何東西離開前往供應商之前。
這是金鑰物件上的一項限制。 它與金鑰的 IP 允許清單、花費上限、到期,以及附掛的 防護欄 / 防火牆政策組合在一起——每一項都各自收窄金鑰。

1. 為何要為每把 API 金鑰限制模型存取

模型選擇是一根自主槓桿。一把能呼叫任何模型的金鑰可以 被引導向:
  • 成本爆增——切換到一個進階模型會使每權杖的帳單 倍增。
  • 能力蔓延——一個為小模型設定範圍的任務被路由到一個 能做遠超你所意圖之事的前沿模型。
  • 合規漂移——把流量送到一個你尚未為某類資料 核准的模型系列。
把一把金鑰限制到一個代理實際需要的一兩個模型,一次 關閉這三者。它是防火牆允許清單工具在模型軸上的 對應物——代理只能觸及你指名的東西,再無 其他。

2. 兩個欄位

模型限制以一對的形式存在於金鑰上:
欄位型別含義
model_limits_enabledbool主開關。當為 false 時,金鑰可觸及工作區允許的每個模型。
model_limitslist模型名稱的允許清單。只有當 model_limits_enabledtrue 時才有意義。
這兩個欄位是獨立的,而其組合很重要: model_limits_enabled = true 搭配一個清單意味著金鑰可 觸及模型——每個請求都會被拒絕並附上 “This token has no access to any models.”。只有在你已指名至少一個模型之後,才把 開關打開。

3. 在一把金鑰上設定它

主控台金鑰編輯器(/console/token)中設定模型限制, 也就是你設定金鑰其他限制的同一個地方。建立或編輯一把 金鑰需要 Developer 角色或以上。
  1. 開啟金鑰(或 Create key)。
  2. 啟用 Model limits
  3. 挑選這把金鑰可呼叫的模型——輸入以篩選工作區的 可用模型。
  4. 儲存。變更會在金鑰的下一個請求時生效——無需 重新部署、無需金鑰輪替。
一個應該永遠只觸及一個便宜模型的排程摘要器,最終會 帶有一份恰好只有一個項目的允許清單:
model_limits_enabled: true
model_limits:         ["openai/gpt-4o-mini"]
從那一刻起,金鑰被固定到 gpt-4o-mini。來自這把金鑰之請求上的 任何其他模型名稱都會被拒絕——不會回退到預設 模型,也不會有靜默的降級。
把模型限制與同一把金鑰上的 credit_limit_usd 上限配對。模型 清單界定一個失控迴圈能觸及哪個模型;花費上限界定 它在金鑰停止運作前能燒掉多少。兩個獨立的 上限,都在閘道強制執行。參見 配額上限與到期

4. 被拒絕的請求是什麼樣子

model_limits_enabled 開啟,而一個請求指名了清單外的 模型時,閘道會以 HTTP 403 與一個 OpenAI 形狀的錯誤主體中止該請求:
{
  "error": {
    "message": "This token has no access to model claude-opus-4-8 (request id: 2024...abc)",
    "type": "orcarouter_api_error",
    "code": ""
  }
}
該拒絕的關鍵性質:
檢查在閘道仍在挑選通道時執行——該 請求從不抵達上游供應商,所以一個被禁止的模型不耗費 模型權杖。
在開關開啟且允許清單為空時,訊息為 “This token has no access to any models”,且每一個請求都被拒絕。 這就是「限制到一份清單」與「把金鑰完全鎖在推論之外」 之間的差別。
請求的模型名稱會在檢查清單之前被正規化,所以 相關變體(例如思考變體)會解析到你所允許清單的同一個 標準名稱。列出主控台顯示給你的基礎模型名稱。

5. 模型限制 vs. 群組權利

有兩件不同的事決定一把金鑰是否能呼叫一個模型。別把 它們搞混:
層次範圍它回答的問題
工作區權利工作區這個模型對工作區根本是可用的嗎?
model_limits單把金鑰在可用的模型中,這把金鑰可使用哪些?
model_limits 永遠只會收窄。一把金鑰無法用模型限制去 觸及一個工作區本身無權使用的模型——它只能從已經被 允許的東西中刻出一份更小的允許清單。要授予一把金鑰 毫無額外卻嚴格更少的東西,這個欄位正是為此 而設。

6. 這在最小自主姿態中的位置

模型限制是每個代理金鑰配方中的一行。一把對自主代理 最狹窄而有用的金鑰會一次固定它的所有軸:
  • model_limits——代理所需的一兩個模型(本頁)。
  • allow_ips——代理的 egress 範圍,參見 IP 允許清單
  • credit_limit_usd——一個花費上限,參見 配額上限與到期
  • expired_time——一個自動到期,參見 到期金鑰
  • guardrail_id / firewall_policy_id——內容與工具呼叫 政策,參見綁定政策到金鑰
當這樣一把金鑰透過提示 注入被入侵時,波及範圍在每個軸上 都被界定——包括攻擊者能拿你的預算花在哪些模型上。
模型限制是金鑰上的一項身份限制,而非內容或 動作政策。它們不檢視提示(那是 防護欄)或工具呼叫(那是 防火牆)——它們在最前面就決定金鑰 甚至被允許定址哪個模型。

7. 下一步

金鑰物件

一把金鑰所攜帶的每個欄位——模型限制、IP 清單、上限、到期,以及 政策附掛——彙整於一份參考。

最小自主檢查清單

完整的每個代理金鑰配方:把每個軸都收窄到代理所需的 最小值。

範圍、金鑰與政策

金鑰、防護欄與防火牆政策如何綁定成一個 代理身份。

綁定政策到金鑰

把一份防護欄與一份防火牆政策附掛到同一把金鑰。
為每把 API 金鑰限制模型存取,是你能套用的最便宜的自主 控制:一份允許清單,在閘道強制執行,沒有任何被入侵的 代理能用言語繞過它。