1. 3 つのスコープ
3 つの概念が互いにネストされています:- ワークスペース — テナント境界。ワークスペースのすべてのメンバーは同じ ガードレールとファイアウォールポリシーカタログを共有します。ワークスペース境界を 越えるものは何もありません — ワークスペース A で作成されたポリシーはワークスペース B には見えません。
- ポリシー — 名前付きの、ワークスペーススコープのルールセット(ガードレールまたは ファイアウォールポリシー)。ポリシーを編集すると、再デプロイなしに次のリクエストで アタッチされたすべてのキーに効果があります。
- キー — アイデンティティ + アタッチメント。キーは独自の制約を持ち、それを 統制するポリシーを指します。
2. キーが持つもの
各 API キーは制限とアタッチメントのバンドルです。これらをキーエディタ (/console/token)で設定します — キーの作成または編集には Developer ロール
以上が必要です。
| フィールド | 制限するもの | 設定に必要な最低ロール |
|---|---|---|
model_limits | キーを特定のモデルリストに制限します — そのリスト外の呼び出しはゲートウェイを離れる前に拒否されます。 | Developer |
allow_ips | IP 許可リスト。リスト外のアドレスからのリクエストは認証レイヤーで拒否されます。空はすべての IP が許可されることを意味します。 | Developer |
credit_limit_usd | USD での支出上限。0 は無制限を意味します。ゲートウェイはこれをキーの累積支出に対して強制します。 | Developer |
expired_time | 絶対有効期限タイムスタンプ。-1 はキーが期限切れにならないことを意味します。 | Developer |
environment | キーを整理してデプロイメント環境ごとにフィルタリングするためのフリーフォームラベル(例:prod、staging、dev)。 | Developer |
guardrail_id | このキーに特定のガードレールをアタッチします。このキーが行うすべての呼び出しがそのガードレールによってスクリーニングされます。 | Developer |
firewall_policy_id | このキーに特定のファイアウォールポリシーをアタッチします。このキーが発行するすべてのツール呼び出しがそのポリシーによって評価されます。 | Developer |
is_firewall_gateway | キーをゲートウェイスコープトークンとしてマークします — MCP ディスパッチと evaluate フックルートを呼び出すために必要です。通常のキーはそれらのルートで 403 を受け取ります。ゲートウェイキーのプレーンテキストの読み取りには Admin が必要です。 | Admin(有効化とプレーンテキスト読み取りに) |
3. ポリシー解決順序
すべてのリクエストについて、OrcaRouter はアクティブなガードレールとファイアウォール ポリシーを独立して解決します:- キーアタッチメント — キーが明示的な
guardrail_id(またはfirewall_policy_id) を持ち、そのポリシーが存在し有効な場合、それが適用されます。 - ワークスペースデフォルト — キーにアタッチメントがない場合、ワークスペースの
有効な
is_defaultガードレール(またはポリシー)が適用されます。 - 強制なし — どちらも設定されていない場合、リクエストはコンテンツスクリーニングや ツール呼び出し強制なしに通過します。
アタッチされたポリシーが_無効_のときに 2 つのプレーンが異なります:
- 無効または削除されたガードレールアタッチメントはそのキーに_ガードレールなし_を 意味します — 無効化することがオフスイッチです;ワークスペースデフォルトに フォールバックしません。
- 無効なファイアウォールアタッチメントはワークスペースのデフォルトファイアウォール ポリシーにフォールバックします — したがって、ファイアウォールアタッチメントを 無効化するとキーがワークスペースデフォルトに戻り、強制がオフになるわけではありません。
0/未設定)のアタッチメントは常にワークスペースデフォルトにフォールバックします;
どちらも設定されていない場合は強制なしです。4. 最小権限キー — エージェントごとにひとつのキー
最も安全な設定は、すべての発呼者で単一のワークスペースキーを共有するのではなく、 各エージェントに独自の狭くスコープされたキーを与えることです。 スケジュールされたタスクを実行するひとつのモデルのみを呼び出すエージェントの 適切にスコープされたキーは次のようになります:model_limits:["openai/gpt-4o-mini"]— エージェントはより高価またはより有能な モデルに切り替えることができません。allow_ips: スケジューラの egress CIDR — 他のソースはこのキーを提示できません。credit_limit_usd: 週次予算上限 — 暴走ループはワークスペースの残高を使い果たすことが できません。expired_time: スプリントまたはデプロイメントライフサイクルの終わり — キーは自動的に 期限切れになり、再利用できません。guardrail_id: このエージェントのデータ感度に特有のガードレール — ワークスペースの デフォルトよりも厳格。firewall_policy_id: このエージェントが正当に必要とするツールのみを許可リストに 載せるポリシー。
ゲートウェイスコープキー(
is_firewall_gateway)は MCP ディスパッチまたは
evaluate フックサーフェス専用にのみ作成してください — 一般的な推論トラフィックには
決して使用しないでください。推論パス上のゲートウェイキーは発呼者に
/api/v1/firewall/* ルートへのアクセスを与え、それは必要以上に広いケイパビリティです。
ひとつのキー、ひとつの目的。5. ポリシーが作成される場所
ガードレールとファイアウォールポリシーは両方ともワークスペーススコープで すべてのメンバーに共有されていますが、変更には適切なロールが必要です:- 任意のガードレール、ポリシー、またはキーを読み取る — すべてのワークスペースメンバー。
- ガードレール、ファイアウォールポリシー、MCP サーバー、自律性レベル、承認アクション、 通常の API キーを作成または変更する — Developer+。
- キーで
is_firewall_gatewayを有効化する;ゲートウェイキーのプレーンテキストを 読み取る — Admin+。
6. 次のステップ
セキュアエージェント ベースライン
推奨される開始姿勢 — ひとつの自律性レベルスイッチ、実際のトラフィックから
チューニングする。
API キーを取得する
最初のキーを作成し、コンソールでガードレールまたはファイアウォールポリシーを
アタッチします。
