sk-orca-… リレーキーではなく、専用の
ファイアウォールゲートウェイスコープのキーで認証します。通常のキーはトークン
認証されるファイアウォールゲートウェイルートで 403 を受け取ります(承認コールバックが
唯一の例外です — それはトークンゲートではなく HMAC 署名付きです)。
このページはファイアウォールゲートウェイ API キーとは何か、どう発行するか、そして
なぜスコープが Admin+ にゲートされているかをカバーします。エンジン自体については、
ファイアウォールの概要と
ファイアウォールの詳細なリファレンスを参照してください。
1. ファイアウォールゲートウェイ API キーとは
ワークスペース内のすべてのトークン(API キー)はis_firewall_gateway フラグを
運びます。それが true のとき、キーはファイアウォールゲートウェイサーフェスに到達
できます:
| ルート | 何をするか |
|---|---|
POST /api/v1/firewall/evaluate | 1 つのツール呼び出しに対するディスパッチ前の判定。 |
POST /api/v1/firewall/evaluate_plan | マルチステッププランの実行前チェック。 |
ANY /api/v1/firewall/mcp | 統合された MCP ゲートウェイエンドポイント。 |
GET /api/v1/firewall/mcp_servers | ワークスペースの登録済み MCP サーバーを列挙(復号化されたアップストリーム認証を返す)。 |
GET /api/v1/firewall/approvals/:id | 保留された呼び出しの承認状態をポーリング。 |
is_firewall_gateway = false(デフォルト)のキーは通常のリレーキーです — /v1/*
モデルトラフィックを提供し、firewall_policy_id 経由でポリシーをアタッチしていれば、
そのツール呼び出しはインラインで統制されます。しかし上記のゲートウェイルートを
呼び出すことはできません。
2 つの異なるキー、2 つの異なる仕事。 リレーキー(
firewall_policy_id がアタッチ
された)はエージェントがモデルと話すために使うものです — ファイアウォールがその
ツール呼び出しを自動的に統制します。ファイアウォールゲートウェイキーは、エージェント
ランタイムがファイアウォールに直接判定を尋ねたり、MCP tools/call をゲートウェイ
経由でプロキシしたりするために使うものです。ほとんどのワークスペースは、evaluate
フックまたは MCP ゲートウェイを採用したときにのみゲートウェイキーを必要とします。2. なぜ通常のキーが 403 を受け取るか
ゲートウェイスコープは 2 つのシークレットに敏感なケイパビリティをアンロックするため、 通常のキーから意図的に壁で隔てられています:/evaluateは呼び出し元が供給するrequest_idを受け入れます。それは ファイアウォールイベントと承認レコードに流れます。任意のモデルキーが監査イベントを 偽造したりポリシー結果をサイレントに探ったりできれば、証跡を損ないます。/mcp_serversは復号化されたアップストリーム認証情報を返します。SDK のプロキシが 登録済みの MCP サーバーにディスパッチできるようにします。 それは認証情報の読み取りであり、モデル呼び出しではありません。
is_firewall_gateway フラグをチェックし、
それが欠落しているときに HTTP 403 を返します:
3. 発行する — Admin+ にロールゲート
is_firewall_gateway = true の設定にはワークスペース Admin 以上が必要です。
Developer は通常のキーを作成・編集できますが、ゲートウェイスコープのものを発行
できません — フラグはシークレット管理の関心事なので、通常のトークン書き込みロールの
上に位置します。
キーはコンソールの、ワークスペース API キーのもとで設定します。ゲートウェイキーを
発行するには:
ゲートウェイスコープでキーを作成する
新しいキーを作成し、その firewall gateway スコープ(
is_firewall_gateway)を
有効にします。Developer ロールのセッションはスコープが効力を持つのを見ません —
サーバーは非管理者に対してフラグを false に保ちます。フラグを下げることは上げることより寛容です:
is_firewall_gateway をクリアする
こと(ゲートウェイキーを通常のキーに降格)は、キーを編集できる任意のロールに開放されて
います。それを true に上げることのみが Admin+ です。ロールゲート概観
| アクション | ロール |
|---|---|
| 通常のキーを作成/編集 | Developer+ |
is_firewall_gateway = true を設定 | Admin+ |
| ゲートウェイキーの平文を読み返す | Admin+ |
is_firewall_gateway をクリア(降格) | 任意のキー編集者 |
4. 具体例 1 つ
エージェントループを実行していて、ツール呼び出しをディスパッチする前にチェックしたい とします。Admin として、コンソールでゲートウェイキーを発行し、それからそのキーで ランタイムから evaluate フックを呼びます:allow、audit、deny、
sanitize、pending_approval、または cap_cost の解決。エージェントはそれに作用
します:allow でディスパッチ、deny でスキップ、pending_approval で承認 id を
ポーリング。同じゲートウェイキーが
承認ポーリングと MCP ルートを認証します。
5. これがどこに収まるか
ゲートウェイキーはゲートウェイルートを認証します。ポリシーを作成するために 使うコンソールセッションを置き換えません:ポリシーの作成、ルールの編集、MCP サーバーの登録、承認の解決はすべて/api/workspace/firewall/* 上の独自のセッション
下で実行されます(設定、ポリシー、discovered-tool の読み取りはすべてのメンバーに開放;
ドライランの test サンドボックスとすべての書き込みは Developer+ を必要とします)。
ゲートウェイキーは、マシン間ランタイムからの判定リクエストと MCP ディスパッチのみを
運びます。
スコープ:キー、ポリシー、ワークスペース
キーの
firewall_policy_id とゲートウェイスコープがワークスペース境界とどう
関係するか。承認
ゲートウェイキーがポーリングして再送信する保留呼び出しのフロー。
承認 webhook
保留された呼び出しを帯域外で解決する HMAC 署名付きコールバック。
MCP サーバー
ゲートウェイエンドポイントの背後で MCP サーバーを登録し統制。
6. FAQ
なぜ私の Developer キーはゲートウェイスコープを取得しなかったのか?
なぜ私の Developer キーはゲートウェイスコープを取得しなかったのか?
is_firewall_gateway を true に上げることは Admin+ です。フラグを設定する
Developer ロールの書き込みはサイレントに false に保たれます(そのため同じ
リクエスト上の無関係な改名やクォータ編集は依然として成功します) — キーは単に
スコープを運びません。Admin として再作成または編集してください。エージェントが /api/v1/firewall/evaluate で 403 を受け取る。
エージェントが /api/v1/firewall/evaluate で 403 を受け取る。
提示しているキーがゲートウェイスコープではありません。Admin によって
is_firewall_gateway = true で発行されたことを確認します — 通常のリレーキーは
これらのルートで常に 403 を受け取ります。§2 を参照。1 つのキーがモデルトラフィックの提供とゲートウェイの呼び出しの両方をできるか?
1 つのキーがモデルトラフィックの提供とゲートウェイの呼び出しの両方をできるか?
技術的にはゲートウェイスコープのキーも
/v1/* リレートラフィックを提供できますが、
それらを分離してください:モデル用に 1 つのリレーキー(firewall_policy_id が
アタッチ)、evaluate/MCP/approval ルート用に 1 つのゲートウェイキー。独立した
ローテーション、より小さなブラスト半径。キーの値がもう見えない。
キーの値がもう見えない。
キーは作成後にマスクされ、ゲートウェイキーの平文を読むことは Admin+ です。発行時に
それをコピーしなかった場合、新しいゲートウェイキーを作成し、古いものを引退させます。
