💻 Claude Code入門
|
📖 6分
セキュリティとベストプラクティス
Claude Codeのパーミッションモデル
Claude Codeはあなたのコンピュータ上でファイル操作やコマンド実行を行うため、セキュリティへの配慮が重要です。Claude Codeには、安全性を確保するためのパーミッション(権限)システムが組み込まれています。
パーミッションモード
| モード | フラグ | 説明 | 推奨場面 |
|---|---|---|---|
| default | (なし) | ファイル変更やコマンド実行前に許可を求める | 通常の開発作業 |
| acceptEdits | --permission-mode acceptEdits | ファイル編集は自動承認、コマンド実行は確認を求める | コード生成中心の作業 |
| plan | --permission-mode plan | ファイル変更やコマンドを一切実行せず、計画のみ提示する | 方針の確認・レビュー |
| dontAsk | --permission-mode dontAsk | 事前許可されたツール以外は自動拒否(確認なし) | /permissionsで許可設定済みの環境 |
| bypassPermissions | --dangerously-skip-permissions | パーミッションチェックを完全にスキップ | 信頼できるテスト環境のみ |
デフォルトモードの動作
通常のモードでは、Claude Codeが以下の操作を行う際に確認を求めます。
- ファイルの作成・編集: 変更内容のプレビューを表示し、承認を求める
- Bashコマンドの実行: 実行するコマンドを表示し、承認を求める
- ファイルの読み取り: 通常は自動で許可(読み取りは安全なため)
# Claude Codeが確認を求める例
Claude wants to run: rm -rf node_modules/
Allow? [y/n]
ツール呼び出しの確認ポイント
Claude Codeが操作の許可を求めてきたら、以下を確認しましょう。
- ファイルパス: 意図したファイルが対象になっているか
- 変更内容: 予期しない変更が含まれていないか
- コマンド: 危険なコマンド(
rm -rf、git push --force等)ではないか - スコープ: プロジェクト外のファイルに影響していないか
認証情報の安全な管理
開発中に扱う認証情報(パスワード、APIキーなど)の管理は特に注意が必要です。
| やってはいけないこと | 正しい方法 |
|---|---|
| APIキーをコードに直接書く | 環境変数(.env)で管理する |
| .envファイルをGitにコミット | .gitignoreに.envを追加する |
| パスワードをClaude Codeに伝える | 環境変数名だけを伝える |
| 本番DBに直接接続して作業 | 開発用のDBを使用する |
安全なBashコマンド実行
# Claude Codeが実行するコマンドを確認する習慣をつける
# 安全なコマンドの例
ls, cat, grep, find, git status, git diff, npm test
# 注意が必要なコマンドの例
rm(ファイル削除), git push --force, chmod, curl(外部通信)
npm install(パッケージ追加), pip install
セキュリティのベストプラクティス
- 最小権限の原則: Claude Codeに与える権限は必要最小限にする
- 確認を怠らない: 特にBashコマンドの実行は内容を必ず確認する
- Bypassモードは慎重に: 自動承認モードは、テスト環境など安全な場所でのみ使用
- .envファイルの保護: 認証情報は環境変数で管理し、Gitにコミットしない
- 定期的なレビュー: Claude Codeが作成したコードにセキュリティの問題がないか確認する
💡 キーポイント: Claude Codeの操作確認は「面倒」ではなく「安全のためのセーフティネット」です。特にファイル削除やコマンド実行の際は、内容を必ず確認する習慣をつけましょう。認証情報は絶対にコードやGitに含めず、環境変数で管理してください。