メインコンテンツへスキップ
あなたはワークスペース向けにガードレールとファイアウォールポリシーを作成しました。今度は この 1 つのキー — あなたの財務エージェントが使うもの — に、ワークスペースの残りより 厳格なコンテンツポリシーとより厳しいツール許可リストを実行させたいと考えています。それが、 キー上の 2 つのアタッチメントフィールドが行うことです:ガードレールとファイアウォール ポリシーを 1 つのキーにバインドすると、そのキーが行うすべてのリクエストが、まさにそれらの ポリシーによってスクリーニングおよび強制されます — エージェントのコード変更なし、再デプロイ なし。 このページは 2 つのフィールド、それらがリクエスト時にどう解決されるか、そして人々が つまずく 1 つの解決ルールを扱います:無効化されたファイアウォールアタッチメントは、 無効化されたガードレールアタッチメントとは異なる挙動をします。

1. キーごとのセキュリティポリシー:キー上の 2 つのフィールド

ガードレールはモデルを流れるテキスト(PII、シークレット、jailbreak)をスクリーニング します。ファイアウォールポリシーはエージェントが発行するツール呼び出し(どのツール、どの MCP サーバー、どのホスト)を統制します。どちらもワークスペーススコープの名前付き ポリシーであり — 一度作成され、ワークスペース全体で共有されます — キーは 2 つのフィールド を通じて特定のものにオプトインします:
フィールドバインドするものコンソールでの設定
guardrail_idこのキーのプロンプトとレスポンスをスクリーニングするガードレール。Developer+
firewall_policy_idこのキーのツール呼び出しを評価するファイアウォールポリシー。Developer+
どちらも /console/token のキーエディタで設定します。いずれかを設定するのは Developer+ のアクションです — ポリシー自体も Developer+ で作成されます (スコープとキーを参照)。
この 2 つのフィールドは独立しています。キーはガードレールをアタッチしてファイアウォール ポリシーをアタッチしない、その逆、両方、あるいはどちらもなし — 各プレーンは独立して 解決します。フィールドを未設定(0)のままにすることは、強制をオフにすることと同じでは ありません;§3を参照してください。

2. ひとつの具体例

あなたのワークスペースデフォルトのガードレールが PII をフラグするが通過させ、デフォルトの ファイアウォールポリシーがすべてのツール呼び出しを audit するとしましょう。それはほとんどの エージェントには問題ありません — しかしあなたの財務エージェントは顧客の SSN を扱い、決して シェルツールを呼ぶべきではありません。より厳格な finance-guardrail(PII を完全にブロック)と finance-firewall(必要な 3 つのツールのみ許可リスト化)を作成し、その両方をそのエージェントの キーにバインドします:
# CONSOLE 経由で設定(UserAuth — あなたのセッション)、リレーキーではない。
# これは /console/token のエディタが行うキー更新呼び出しです。
PUT /api/token
{
  "id": 4127,
  "name": "finance-agent",
  "guardrail_id": 12,          // finance-guardrail (PII = block)
  "firewall_policy_id": 8      // finance-firewall (3-tool allow-list)
}
次のリクエストから、そのキーのトラフィックはガードレール 12 によってスクリーニングされ、 そのツール呼び出しはポリシー 8 によって評価されます — 一方、ワークスペース内の他のすべての キーはワークスペースデフォルトを実行し続けます。エージェント自身のコードは決して変わりません; 以前と全く同様に sk-orca-… キーで https://api.orcarouter.ai/v1/... を呼び続けます。
これが最小権限パターンです:エージェントごとに 1 つの狭くスコープされたキー、それぞれが その仕事が実際に必要とするポリシーにバインドされます。そのエージェントが侵害されたとき、 被害範囲はそのキーが認可されていたことが何であれ — それ以上は何もありません。 最小権限チェックリストを参照。

3. 解決:人々がつまずくルール

すべてのリクエストについて、ゲートウェイはアクティブなガードレールとアクティブな ファイアウォールポリシーを独立して解決します。順序は両方とも同じに見えます — アタッチメントが先、ワークスペースデフォルトが次 — が、1 つのケースで分岐します。

ガードレール解決

キーの guardrail_id が、存在し有効なガードレールを指しています。その ガードレールがリクエストをスクリーニングします。
アタッチされたガードレールを無効化することはオフスイッチです。キーは いかなるコンテンツスクリーニングも受けません — ワークスペースデフォルトに フォールバックしません。これは意図的です:ガードレールをアタッチして無効化する のが、そのキーのスクリーニングをオフにする方法です。
キーに guardrail_id がありません。ワークスペースの有効なデフォルトガードレールが、 設定されていれば適用されます。
アタッチメントもワークスペースデフォルトもない → リクエストはコンテンツ スクリーニングなしで通過します。

ファイアウォール解決

キーの firewall_policy_id が、存在し有効なポリシーを指しています。その ポリシーがキーのツール呼び出しを評価します。
ここが違いです。無効化されたファイアウォールアタッチメントはワークスペース デフォルトのファイアウォールポリシーにフォールバックします — 強制をオフには しません。ファイアウォールアタッチメントを無効化すると、キーはワークスペース デフォルトに戻ります;キーを無防備のまま残しはしません。
キーに firewall_policy_id がない → ワークスペースの有効なデフォルト ファイアウォールポリシーが適用されます。
アタッチされたポリシーの無効化は対称ではありません。 無効化されたガードレール アタッチメントは、そのキーにガードレールなしを意味します。無効化されたファイアウォール アタッチメントは、ワークスペースデフォルトへのフォールバックを意味します。キーに本当に ファイアウォール強制をまったく実行させたい場合、そのアタッチメントを無効化してはそこに 到達できません — ワークスペースデフォルトのファイアウォールポリシーが設定されていない ことを確認してください(あるいは、キーが統制されるツール呼び出しを発行しないように スコープしてください)。
ワークスペースごとに、いつでも最大 1 つのガードレールと 1 つのファイアウォールポリシーが デフォルトになれます;新しいデフォルトをプロモートすると、同じトランザクション内で古いものが 降格されるため、誤って 2 つ持つことは決してありません。

4. ブロックがどう見えるか

バインドされたポリシーがリクエストを拒否すると、呼び出し元は構造化されたエラーを見ます — エージェントはクラッシュする代わりに反応できます:
プレーンエラーコードHTTPコスト
ガードレールguardrail_blocked400なし — 入力ブロックは課金前に発火し、出力ブロックは返金します。skip-retry とマーク。
ファイアウォール(inbound)firewall_blocked400inbound ブロックはモデル呼び出しの前に発火するため、モデルトークンなし。skip-retry。
ファイアウォール(保留)firewall_approval_pending400人間による承認のために保留;エージェントはポーリングし、承認されると再送信します。
どちらのエラーボディも OpenAI 形式で、ポリシーと理由を名指しするため、エージェントは コードに応じて分岐できます。完全なイベントレコードとマッチがどうログされるかについては、 詳細リファレンスを参照してください。

5. 次に進む先

スコープとキー

完全な 3 レベルモデル — ワークスペース、ポリシー、キー — と、キーが運ぶすべての フィールド。

トークンオブジェクト

キー上のすべてのフィールド:model_limitsallow_ipscredit_limit_usdexpired_time、そして 2 つのポリシーアタッチメント。

ガードレール

guardrail_id でバインドするコンテンツポリシーを作成 — ルール、PII エンティティ、 アクション、プリセット。

ファイアウォール

firewall_policy_id でバインドするツール呼び出しポリシーを作成 — 判定、サーフェス、 自律性レベル。
キーを 1 つずつバインドする代わりに、ワークスペース全体の姿勢を一手で設定したいですか? 自律性レベルは両方のプレーン — ガードレールとファイアウォール — を一度に書き込みます。 それから、ワークスペースデフォルトよりさらに踏み込む必要のある少数のキーに、より厳格な ポリシーをアタッチしてください。 ガードレール vs ファイアウォールを参照。