登録して招待リンクを共有すると、動画再生報酬と紹介報酬を獲得できます。

検索結果 denied
denied コミュニティ
1つのキーワードが1つのコミュニティです。
コミュニティ作成
アカウント
見つかりません
denied を含む検索結果
# Claude Agent SDKの便利だけど知られていない機能 🌍 Bashは使わせたいけどrmは禁止したい?スコープ付きルールでコマンド単位の制御ができます! Claude Agent SDKでは、`Bash(npm *)` のようにツール名にスコープを付けて、コマンド単位で許可・拒否を細かく制御できます。 📌 タイトル:コマンド単位のスコープ指定 🔗 URL: 🧩 概要 `allowed_tools` や `disallowed_tools` にスコープ付きのルール(例:`Bash(npm *)`)を指定すると、ツール内の特定コマンドだけを許可・拒否できます。スコープなしでツール名を `disallowed_tools` に入れると(例:`Bash`)、ツール定義自体がClaudeのコンテキストから除去され、Claudeはそのツールの存在すら認識しません。一方、スコープ付きの拒否ルール(例:`Bash(rm *)`)は、Bashツール自体は利用可能に保ちつつ、マッチするコマンドだけを拒否します。 🛠 使い方 ```python # Python - npmコマンドのみ許可し、rmを明示的に禁止 import asyncio from claude_agent_sdk import query, ClaudeAgentOptions async def main(): async for message in query( prompt="依存関係をインストールしてテストを実行してください", options=ClaudeAgentOptions( allowed_tools=[ "Read", "Grep", "Glob", "Bash(npm *)", # npmコマンドのみ自動承認 "Bash(npx jest *)", # テスト実行も許可 ], disallowed_tools=[ "Bash(rm *)", # 削除は禁止(bypassPermissionsでも拒否) "Bash(sudo *)", # sudoも禁止 ], permission_mode="dontAsk", ), ): if hasattr(message, "result"): print(message.result) ``` ```typescript // TypeScript const options = { allowedTools: [ "Read", "Grep", "Glob", "Bash(npm *)", // Only npm commands auto-approved "Bash(npx jest *)", // Test execution allowed ], disallowedTools: [ "Bash(rm *)", // Delete denied even in bypassPermissions "Bash(sudo *)", // sudo also denied ], permissionMode: "dontAsk" }; ``` 🏗 本番システムへの組み込み方 ・CIエージェントで `Bash(npm *)` や `Bash(make *)` だけを許可し、それ以外のシェル操作を禁止します ・`disallowed_tools` のスコープ付きルールは `bypassPermissions` モードでも有効なため、最終防衛ラインとして使えます ・ベアネーム(スコープなし)の拒否はツールをコンテキストから完全に除去し、スコープ付き拒否はステップ2で評価される点を理解して設計します ・環境ごとに異なるスコープルールを設定し、開発/ステージング/本番で適切な制限を適用します 💡 ユースケース 🔧 ビルドエージェントで `npm install` と `npm test` だけを許可する 🛡 `rm -rf` や `sudo` を全モードで禁止する安全ガードレール 📦 パッケージマネージャのコマンドだけを許可するデプロイエージェント ⚠️ 注意点 ・ベアネーム拒否(`disallowed_tools=["Bash"]`)はツール定義自体を除去するため、Claudeはそのツールを使おうとすらしません ・スコープ付き拒否(`disallowed_tools=["Bash(rm *)"]`)はBashを残したまま特定パターンだけを拒否します ・スコープパターンのマッチングはグロブベースです。複雑なコマンドチェーンやパイプには注意してください ・`allowed_tools` に入れたスコープルールは自動承認ですが、`bypassPermissions` を制限するものではありません ✨ スコープ付きルールを使えば、「このツールは使えるけど、この操作だけはダメ」という精密な制御が可能です。安全なエージェントの設計に欠かせない機能です! #ClaudeAgentSDK# #AIAgent#
もっと見る