メインコンテンツへスキップ
ファイアウォールポリシーを書きました — デフォルト deny の姿勢、shell.exec への deny、egress 許可リスト — そしてそれが正しいと信じています。しかし、それを本番の エージェントトラフィックに対してオンにするのは信仰の飛躍です:広すぎるルールが ひとつあれば、エージェントが正当に行う呼び出しをブロックしてしまいます。 ファイアウォールシャドウモードは安全ロールアウトのスイッチです。それは、ゲート ウェイに本番と全く同様にポリシーを評価し、すべてをログし、しかし何もブロックしない よう伝えるポリシーごとのフラグです。すべての強制判定が audit に格下げされ、イベント 理由には [shadow] would … が前置されるため、ポリシーが何をしたであろうかを正確に 読み取れます — それがまだ何もしていないうちに。
シャドウモードはポリシー上のフラグで、コンソール(または /api/workspace/firewall/policies 管理ルート。これらはセッション / アクセストークンを 使い、リレーの sk-orca-… キーではありません)で設定されます。それの切り替えは Developer+ のアクションです。エージェントの /v1/* リレー呼び出しは変わりません。

1. ファイアウォールシャドウモードが行うこと

ポリシーの shadow_mode フラグがオンのとき、ゲートウェイは完全な評価を実行します — ポリシーを解決し、優先度順にルールを辿り、判定を選びます — そして判定が効力を持つ 直前に、呼び出しを変えてしまうものすべてを格下げします:
解決された判定シャドウモードのもとで
denyaudit、理由 [shadow] would deny — …
sanitizeaudit、理由 [shadow] would sanitize — …
pending_approvalaudit、理由 [shadow] would pending_approval — …
allow / audit変更なし(すでに非ブロッキング)
呼び出しは常に通ります。何もブロックされず、引数はリダクトされず、人間による保留も 開かれません — しかしイベントは、ポリシーが生成したであろう判定で記録されるため、 events フィードは強制をオフにした本番実行のように 読めます。
[shadow] would … の前置がヘッドラインフィルタです。events フィードをそれで並べ替えれば、 このポリシーがブロックを開始しようとしているすべての呼び出しの完全なリストが、1 つを ブロックする前に手に入ります。

2. 具体的なロールアウト 1 つ

破壊的なシェルコマンドに対する deny ルールを持つポリシー prod-agents があり、 それが正当なものに引っかからないことを確認したいとします。
1

シャドウモードをオンにする

Security → Firewall → Policiesprod-agents を開き、Shadow mode を オンに切り替えて保存します。ポリシーはアタッチメントとルールを保ちます — 強制を やめるだけです。
2

実トラフィックを流す

エージェントは以前と全く同様にゲートウェイを呼び続けます。すべてのツール呼び出しが 評価されます;何もブロックされません。代表的なウィンドウを与えます — 実際のツール ミックスをカバーするのに十分な長さです。
3

拒否されるであろうものを読む

Events を開き、[shadow] 理由でフィルタ します。各行はツール、サーフェス、実行、そしてマッチしたルールを示します — そのため shell.exec 呼び出しに対する [shadow] would deny — destructive shell command は、 HTTP 400 を除けば、本番で見るものと全く同じです。
4

シャドウモードをオフにする

フィードがポリシーが期待どおりのものに発火しそうでないものには発火しないことを 示したら、Shadow mode をオフに切り替えます。次の呼び出しから、それらの [shadow] would deny イベントは実際の firewall_blocked 拒否になります。
シャドウモードが偽陽性を表面化した場合 — deny ルールにマッチした正当な呼び出し — シャドウのままでルールを修正し(グロブを 締めるか引数句を追加)、再びフィードを 監視します。実トラフィックに対して、ブラスト半径ゼロで反復できます。

3. シャドウモードが緩和しないもの

シャドウモードはポリシーのプレビューであり、マスターオフスイッチではありません。
統制されたスキルはシャドウポリシーのもとでも依然として強制します。 block モードの スキルは依然として deny し、quarantine モードのスキルは 依然として承認のために保留します — マッチしたポリシーがシャドウされていてもです。スキル 強制モードはスキルのレビュー状態のプロパティであり、プレビューしているポリシーの ものではありません — ポリシーをシャドウすることは、スキルの隔離を解除する要求では 決してありませんでした。ポリシーは events でシャドウとバッジされ続けますが、スキルの 処分が勝ちます。
知っておく価値のあるさらにいくつかの境界:
強制判定(denysanitizepending_approval)のみが格下げされます。allow または audit はすでに呼び出しを通すため、緩和するものは何もありません — それらの イベントは、記録されたときにポリシーがシャドウだったことが分かるよう、依然として シャドウバッジを運びます。
cap_cost ルールは実行の累積支出に基づいて 具体的な allow または deny に解決され、シャドウモードがその解決された判定を 格下げします — cap 超過の拒否は、他と同様に [shadow] would deny として表示されます。
シャドウモードは各ポリシー上に独立して存在します。実戦で試されたものが強制し続ける 間に、真新しいポリシーをシャドウできます — オフにし忘れるワークスペース全体の シャドウスイッチはありません。

4. シャドウモード vs. その他のロールアウトダイヤル

ファイアウォールは 3 つの異なる「まだ何も壊さない」コントロールを提供します。それらは 異なる問題を解決します:
コントロールスコープ答える問い
シャドウモード1 つのポリシーこのポリシーを強制したら何をブロックするか?」
audit デフォルト判定1 つのポリシー「どのルールも名指ししないものをすべてログし、何もブロックしない。」
観察モードワークスペースどのポリシーもカバーしていないツールはどれか?」
シャドウモードは、実在する強制ポリシーがあり、それがトラフィックを変える前にその正確な 影響を測定したいときに手を伸ばすものです。auditデフォルト判定は、 1 つのポリシーのマッチしないテール向けです;観察モードは特定のポリシーの強制では なく、ワークスペースをまたいだカバレッジギャップについてのものです。
それらをスタックできます。シャドウモードのもとでの新しいデフォルト deny ポリシーは、 可能な限り最も穏やかなロールアウトです:デフォルト deny の床でさえブロックの代わりに [shadow] would deny をログするだけなので、deny がライブになる前に、allow ルールが まだカバーしていない呼び出しの完全なセットを見られます。

5. コンプライアンスパックはまずシャドウで着地する

コンプライアンスパックをインストールするとき、 observe(非強制)モードでは、それが具現化するファイアウォールポリシーはシャドウモードを オンにして作成されます — トラフィックに対して評価しログを取りますが、何も ブロックしません。パックを強制にプロモートすると、それらのポリシーがシャドウから 外れます。同じメカニズムが、あなたのために適用されます:コントロールをドライランし、 あるべき判定を読み、それから強制します。

6. それの切り替え

コンソールでは、シャドウモードはポリシーエディタ上のトグルです。同じフラグが管理 API 上でポリシーオブジェクトの shadow_mode として公開されています — これらのルートは セッション / アクセストークンを使い、Developer+ を必要とします:
メソッドとパスロール注記
PUT /api/workspace/firewall/policiesDeveloper+ボディでポリシーに shadow_mode: true / false を設定。
GET /api/workspace/firewall/policies/:idMemberポリシーの現在の shadow_mode 状態を読み取り。
すべての変更は監査行を書き込み、ポリシーの version 整数をインクリメントするため、シャドウのオン/オフ自体が追跡されます。

次に進む場所

ポリシーの作成 & アタッチ

シャドウモードがロールアウトする 2 ステップのセットアップ — ポリシーを作成し、 キーをアタッチします。

Events ログ

[shadow] would … が表示される場所 — フィルタし、実行とルールへドリルダウン。

判定

シャドウモードが格下げする強制判定と、各々がライブで何をするか。

強制モード

シャドウ、audit、observe がより広い強制モデルにどう収まるか。
シャドウをオフにするとポリシーが止める脅威については、 危険なツール呼び出し過剰なエージェンシーを参照してください。