
Claude Code をセキュアに使うための考え方と設定の勘どころ【セミナースライド】
2026年6月16日に開催された Claude Codeセミナー セキュリティ/ガバナンス編 にて、 「Claude Code をセキュアに使うための考え方と設定の勘どころ」 というタイトルで登壇しました。
ご参加いただいたみなさま、ありがとうございます。
本セッションでは、Claude Code を安全に使うための考え方として、 ツール制御を「抑止・制限・隔離」の3軸で整理し、 それぞれの設定の勘どころを紹介しました。
スライド、およびそのテキスト情報を以降に記載します。参考になれば幸いです。
登壇スライド
本発表の狙い
- 想定する視聴者
- Claude Code を使う方 / チームや組織で管理・推進する方
- 達成したいこと
- Claude Code を安全に使う / 使わせるために必要なセキュリティの考え方をざっくりと把握する
細かいトピックや技術的な挙動、シンタックスには踏み込みません。
導入
Claude Code の仕組みと、ツール制御の重要性について簡単に押さえます。
Claude Code は Agentic Loop で動く
Claude Code は 推論 → ツール実行 → 検証 を繰り返す ループ(Agentic Loop)で動きます。 モデルが「次に何をすべきか」を考え、 ツール がファイル操作やコマンド実行などの実際のアクションを担います。

出典: Claude Code の仕組み - Claude Code Docs
ツールは多種多様 = 何でもできる
Claude Code のツールは多彩で、たいていの操作ができてしまいます。
Read: ファイルを読むEdit/Write: ファイルを変更するBash: シェルコマンドを何でも実行する- MCP や Skill : 広義にはツールの一種として扱われる
守り方を3軸で考える
ツールの制御アプローチを、3つの軸で整理します。
抑止 / 制限 / 隔離
- 抑止する : 危険なツールを実行させないように誘導する
- 制限する : 危険なツールを実行できないようにする
- 隔離する : 危険なツールを実行しても問題ない環境を作る
ヒトに例えると
新しいメンバーに仕事を任せるイメージです。
| 軸 | 考え方 | ヒトでいうと |
|---|---|---|
| 抑止 | 「やらないでね」とお願いする | ルールを伝える・注意する |
| 制限 | 仕組みで操作を防ぐ | 危険な道具(刃物・工具など)を持たせない |
| 隔離 | 影響が及ばない環境にする | 外と隔てた専用の作業部屋で作業してもらう |
仕組みや環境で多層に守るのが基本です。
抑止する: CLAUDE.md
まずは Claude に「お願い」する工夫です。

CLAUDE.md による抑止のイメージ
CLAUDE.md で「お願い」する
CLAUDE.md は Claude に 永続的な指示を与える マークダウンです。 Claude は各セッションの開始時にこれを読みます。
「やってほしくないこと」を書いておく例:
# セキュリティ
- .env, credentials 等の機密ファイルを読み取り・編集しない
- シークレットやAPIキーをコードにハードコードしないこと
- rm -rf / や force push 等の破壊的コマンドを実行しないこと
CLAUDE.md の動作イメージ

CLAUDE.md に「.envファイル読み込み禁止」と記載した場合の動作例
CLAUDE.md の注意点
制限する: permissions
お願いではなく、 機械的に ツール実行を制御します。

permissions による制限のイメージ
permissions で止める
ツールの許可・拒否は settings.json (Claude Code 設定ファイル)の permissions に書きます。
- permissions.allow : 手動承認なしで許可
- permissions.ask : 実行のたびに確認する
- permissions.deny : 拒否する
permissions.deny の具体例
~/.claude/settings.json に置く例です。
{
"permissions": {
"deny": [
"Read(//**/.env*)",
"Read(//**/credentials*)",
"Edit(//**/.env*)",
"Bash(rm *)",
"Bash(git push *)"
]}}
permissions の動作イメージ

permissions.deny に設定したコマンドが拒否される動作例
permissions の注意点
hooks という仕組みもある
permissions は静的なパターンマッチですが、より柔軟な制御には hooks が使えます。
- ツール実行の直前や直後に、シェルスクリプト等を自動実行できる仕組み
settings.jsonのhooksに記述する- 例: 特定の条件を満たすコマンドを未然にブロックする、など
– 参考: Claude Code フック - Claude Code Docs
隔離する: サンドボックス
実行しても影響が及ばない環境を作ります。

サンドボックスによる隔離のイメージ
サンドボックスのアプローチは様々

出典: サンドボックス環境 - Claude Code Docs
今回は手軽に始められる Bash サンドボックス を紹介します。
Bash サンドボックスとは
Bash サンドボックスは Bash ツールのファイルアクセスとネットワークを OS レベル で制限します。
Bash サンドボックスの設定例
settings.json の sandbox セクションで有効化します。
{
"sandbox": {
"enabled": true,
"autoAllowBashIfSandboxed": false,
"filesystem": {
"denyRead": [ "//**/.env*" ]
},
"network": {
"allowedDomains": [ "dev.classmethod.jp" ]
}}}
Bash サンドボックスの動作イメージ

Bash サンドボックスにより OS レベルでファイルアクセスが拒否される動作例
Tips: ユーザー体験は結構悪くなる
強力な仕組みですが、使い勝手とのトレードオフがあります。 (以下、自身の体感を含みます)
- 最初は Bash の実行失敗や、アクセス承認の確認が多発しがち
- 一部のツール (
gh,terraform等) が素の設定では動かないこともある - 例外や境界設定を地道にチューニングしながら運用するのが現実的
管理設定 ( managed-settings.json 等) で組織全体にサンドボックスを強制するときは、 開発体験を大きく損なう可能性がある点に注意しましょう。
おわりにむけて
1つに頼らず、重ねて守る
安全に Claude Code を使う鍵は ツールの制御 です。
- 抑止 : CLAUDE.md でお願いする — ただし「お願い」レベル
- 制限 : permissions で機械的に止める — ただし迂回経路は残る
- 隔離 : Bash サンドボックスなどで環境を分離する
重ねて守る のが基本です。
加えて、周辺環境も整える
Claude Code 単体だけでなく、周りも合わせて整えます。
- シークレット管理ツール (1Password CLI, aws-vault 等)
- 認証情報を平文で置かず、読み取られるリスク自体を無くす
- 最小権限の原則
- Claude Code に渡す権限は必要最小限に絞る (例: AWS調査のみであればReadOnlyポリシーのみ)
- 機密情報のコミット防止
.gitignoreや gitleaks 等で、意図しないコミットを未然に防ぐ
加えて、「人」も大事
仕組みで守るのが基本ですが、 使う人のリテラシー・スキル も大事です。
たとえば Claude が提案するツール実行に対して「これは OK / これは危険」を判断できるか。 Linux コマンドや git, aws, python 等のツールに対する理解があってこそ、 適切に承認・拒否できます。
(おわり) 万能なガードレールは無い
利用環境や利用者のリテラシー・スキルなど、 さまざまな条件を鑑みて、ガードレールを厳しくしたり、緩くしたりします。
自身/プロジェクト/組織の状況に合わせて、調整し続けましょう。
安全な Claude Code 環境を作りましょう!
参考
本資料作成にあたり、参考にしたリンクを記載します。
Claude Code 公式ドキュメント
- Claude Code の設定
- 権限を設定する
- Bash サンドボックス
- サンドボックス環境
- Claude Code フック
- Claude Code の仕組み
- Claude があなたのプロジェクトを記憶する方法







