メインコンテンツまでスキップ
このページは機械翻訳であり、十分なレビューを経ていません。英語の原文が正となります。セキュリティ、プライバシー、データの取り扱い、コンプライアンス、ライセンスに関する記述は、技術レビューが完了するまで英語のまま掲載しています。 英語の原文を読む

ポリシーレシピ

ユーザーが最もよく直面するシナリオ向けの、コピー&ペーストで使えるポリシーです。このページのすべてのレシピは、次の形式になっています。

  • 平易な言葉で書かれた、1 段落の課題の説明から始まります。
  • 注釈付きの完全な policy.yaml を提供します。ダッシュボードやローカルの controlzero.yaml にそのまま貼り付けられます。
  • 何がブロックされ、何が許可されるかを、それぞれのケースで抽出されたアクションと reason_code とともに正確に示します。
  • フィクスチャで検証される適用レシピには、CI で実行される機械可読の scenarios.json ファイルが含まれます。ウォークスルーのみのレシピには含まれない場合があります。

英語の原文 -- 翻訳は技術レビュー待ちです

On Claude Code, Gemini CLI, Cursor IDE, and Kiro CLI, a deny on an enforcing event stops the tool call before it executes. Coverage is declared per event, not per host, so an enforcing event never implies protection for another event the vendor does not expose. The capability matrix is derived from those declarations in the code; run controlzero coverage --json to export them for your installation (a bare controlzero coverage prints only a short per-host summary).

英語の原文 -- 翻訳は技術レビュー待ちです

The enforcement path fails closed by default when it cannot establish coverage. Signed policy bundles make policy tampering detectable, and the audit trail distinguishes a control that did not run from one that ran and found nothing. For modify-and-proceed DLP, the Python SDK masks matching secrets in place on Claude Code and Gemini CLI and returns the redacted arguments for forwarding.

初めての方は、Read-only database から始めてください。これは基本となる例で、多くのお客様が最初に組み込むものです。

提供中のレシピ​

#レシピ解決すること
1Read-only databaseAgent can SELECT but never DROP. Piggyback-proof.
2Block secrets and PII egressLLM calls allowed, but API keys / SSNs / cards never leave.
3Dev warns, prod denies1 つのポリシー、2 つの運用方針: dev ではソフト、prod ではハード。
4LLM model allow-listOnly the models you have vetted can be called.
5Scoped file accessリポジトリと /tmp の読み書きは許可し、SSH キー、AWS 認証情報、/etc は拒否します。
6Block outbound networkStop curl / wget / ssh / nc from exfiltrating data.
7Multi-tenant isolationTeam A agents never touch Team B resources.
8Tamper responseFour postures when the bundle is altered: warn, deny, deny-all, quarantine.
9Deny-list: block the dangerous fewLet the agent work freely; hard-block only rm, DROP, disk wipes, and SSH-key writes.
10Approval (HITL) for destructive actionsGreen-light rm / DROP / TRUNCATE / DELETE / GRANT / REVOKE before they run; fail closed otherwise.
15Prompt-level PII redactionPython SDK のみ。対応するコーディングホストは Claude Code と Gemini CLI です。

COMING SOON​

4 つのレシピは、開発中の機能、またはドキュメント化が必要な機能に依存しているため、保留になっています。優先してほしいものがある場合は、TODO-RECIPE-NN タグを添えてサポートまでご連絡ください。

#レシピ依存している機能追跡
11Time-windowed access時間とプリンシパルの一致のための条件 DSLTODO-RECIPE-11
12Alert on repeated deniesアラートルールビルダー(新機能)TODO-RECIPE-12
13Git branch-scoped operationsシェルエクストラクタ(T4 -- 仕様は確定、SDK のコピーは作業中)TODO-RECIPE-13
14Rate-limit per org機能は存在しますが、ドキュメント化と条件 DSL が必要ですTODO-RECIPE-14

レシピの形式​

すべてのレシピのページは同じテンプレートに従っているため、素早く流し読みできます。

  1. 課題 -- ユーザーの言葉で書かれた 1 段落。
  2. ポリシー -- 完全な YAML。コピー&ペーストですぐに使えます。
  3. 仕組み -- どのエクストラクタが動き、どのルールが一致し、どの判定が発動するか。
  4. ブロックされるもの -- 抽出されたアクション、判定、reason_code の表。
  5. 許可されるもの -- 抽出されたアクション、判定、reason_code の表。
  6. 自分で試す -- 文書化されたシナリオに対する controlzero test の実行例と、利用可能な場合は、上の表の根拠となるフィクスチャ。
  7. 注意事項 -- そのレシピがカバーしないもの。ギャップを正直に示しているので、2 つ目のレシピやツールレイヤーの制御と組み合わせてください。
  8. 関連レシピ -- 次に必要になる可能性の高い 2、3 個のレシピ。

テストフィクスチャの仕組み​

docs-site/docs/recipes/ にあるフィクスチャで検証される適用レシピには、メインリポジトリの tests/fixtures/enforcement-spec/recipes/{recipe-name}/ に対応するディレクトリがあります。

  • policy.yaml -- レシピに示されている YAML とバイト単位で同一です。
  • scenarios.json -- {input, expected} のケースの配列で、レシピごとに少なくとも allow が 1 つ、deny が 1 つ、すり抜けの試行が 1 つ、「デフォルトにフォールスルーする」ケースが 1 つ含まれます。

tests/fixtures/enforcement-spec/recipes/test_recipes.py のドライバーが、CI の実行のたびにすべてのレシピのディレクトリを走査し、判定、reason_code、抽出されたメソッドが期待値と一致することを検証します。レシピのページがコードの実際の動作と食い違うと、CI が失敗します。

レシピを追加する​

レシピは単なるドキュメントのページではなく、製品としての表明です。書く前に、次のことを確認してください。

  1. 少なくとも 3 社のお客様から問い合わせのあった課題ですか?
  2. 現時点で、製品がそれを実際に適用できますか?
  3. 80% のケースに合う 1 つのポリシーがあり、残りの 20% については注意事項を書けますか?

3 つの答えがすべて「はい」であれば、上記の形式に従い、マークダウンファイルとフィクスチャのディレクトリの両方を同じ PR で追加してください。あとは CI のドライバーが処理します。

質問 2 の答えが「まだできない」であれば、サポートに連絡してください。ロードマップチームがギャップを登録し、新しい TODO-RECIPE-NN タグを付けて上の「COMING SOON」の表にレシピを追加し、そこで止めます。中途半端に動くレシピは、レシピがないよりも悪いものです。