💻 Claude Code入門 📖 約18分で読めます

Claude Codeの権限設定(パーミッション)完全ガイド

セキュリティと利便性を両立する権限管理の全知識

クロガイド

クロガイド|Claude&Claude Codeを無料で学ぼう

AI基礎からプロンプト術、Claude Codeの使い方まで。知識レッスンとクイズ式トレーニングで、AIスキルを段階的にアップ。ユーザー登録不要、すべて無料で今すぐ始められます。

なぜ権限設定が重要なのか

Claude Codeは、ファイルの読み書き、コマンドの実行、Git操作など、強力なツールを持っています。これらのツールを適切に管理しないと、意図しないファイルの変更や危険なコマンドの実行が発生する可能性があります。

権限設定を正しく理解し活用することで、セキュリティを確保しながら生産性を最大化できます。この記事では、Claude Codeの権限システムの全体像から具体的な設定方法まで解説します。

権限システムの全体像

Claude Codeのツールカテゴリ

Claude Codeが使用できるツールは大きく以下に分類されます。

ツールカテゴリ具体例デフォルト権限
ファイル読み取りRead, Glob, Grep許可
ファイル書き込みEdit, Write確認が必要
コマンド実行Bash確認が必要
Web取得WebFetch, WebSearch許可
その他NotebookEdit確認が必要

パーミッションモード

Claude Codeには5つのパーミッションモードがあります。起動時に --permission-mode オプションで指定します。

1. デフォルトモード(default)

最も一般的なモードです。読み取り系のツールは自動で許可され、書き込み系やコマンド実行は都度確認が求められます。

動作イメージ

# ファイル読み取り → 自動で許可
# ファイル編集 → 「このファイルを編集してよいですか?」と確認
# コマンド実行 → 「このコマンドを実行してよいですか?」と確認

2. acceptEditsモード(acceptEdits)

ファイルの編集(Edit/Write)は自動で許可されますが、コマンド実行は都度確認が求められます。コード修正作業を高速に進めたい場合に便利です。

起動方法

claude --permission-mode acceptEdits

3. プランモード(plan)

Claude Codeが直接変更を加えず、計画の提案のみを行うモードです。コードレビューや設計検討など、変更を加えたくない場合に有用です。

起動方法

claude --permission-mode plan

4. dontAskモード(dontAsk)

allowリストに含まれるツールはすべて自動許可し、それ以外は拒否します。確認プロンプトが一切表示されないため、CI/CD環境での自動化に適しています。

起動方法

claude --permission-mode dontAsk

5. バイパスモード(bypassPermissions)

すべての権限確認をスキップし、Claude Codeが自由にツールを使用できるモードです。信頼できるプロジェクトでの高速作業に適しますが、リスクも高いため注意が必要です。

起動方法

claude --permission-mode bypassPermissions
# または従来のフラグ
claude --dangerously-skip-permissions

警告: bypassPermissionsモードは、意図しないファイル削除やシステムコマンドの実行のリスクがあります。使用する場合は、プロジェクトのバックアップを取っておくことを強く推奨します。

--allowedTools と --disallowedTools

コマンドラインオプションで、特定のツールの許可・拒否を細かく制御できます。

--allowedTools(ツールの許可)

特定のBashコマンドを事前許可

# npmコマンドのみ事前許可
claude --allowedTools "Bash(npm *)"

# 複数ツールを許可
claude --allowedTools "Edit" --allowedTools "Bash(git *)"

パターンマッチが使えるため、Bash(npm *) のように特定のコマンドパターンだけを許可することが可能です。

--disallowedTools(ツールの拒否)

特定のツールを禁止

# Bashツールを完全に禁止
claude --disallowedTools "Bash"

# ファイル書き込みを禁止(読み取り専用モード)
claude --disallowedTools "Edit" --disallowedTools "Write"

settings.jsonによるプロジェクト単位の設定

プロジェクトごとに権限設定を永続化したい場合は、.claude/settings.jsonを使用します。

設定ファイルの場所

ファイル適用範囲Git管理
.claude/settings.jsonプロジェクト全体(チーム共有)する
.claude/settings.local.json個人のローカル設定しない
~/.claude/settings.jsonグローバル(全プロジェクト)対象外

settings.jsonの例

プロジェクト用設定ファイルの例

{
  "permissions": {
    "allow": [
      "Read",
      "Glob",
      "Grep",
      "Bash(npm test)",
      "Bash(npm run lint)",
      "Bash(git status)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(sudo *)"
    ]
  }
}

設定の優先順位

  1. コマンドライン引数(最優先)
  2. .claude/settings.local.json(個人設定)
  3. .claude/settings.json(プロジェクト設定)
  4. ~/.claude/settings.json(グローバル設定)
  5. デフォルト設定(最低優先)

実践的な権限設定パターン

パターン1: フロントエンド開発者向け

{
  "permissions": {
    "allow": [
      "Edit",
      "Write",
      "Bash(npm *)",
      "Bash(npx *)",
      "Bash(git *)"
    ],
    "deny": [
      "Bash(sudo *)",
      "Bash(rm -rf *)"
    ]
  }
}

npmコマンドとGit操作を自動許可し、危険なシステムコマンドはブロックする設定です。

パターン2: コードレビュー専用

{
  "permissions": {
    "allow": [
      "Read",
      "Glob",
      "Grep",
      "Bash(git log *)",
      "Bash(git diff *)"
    ],
    "deny": [
      "Edit",
      "Write",
      "Bash(git commit *)",
      "Bash(git push *)"
    ]
  }
}

コードの閲覧とGitログの確認のみを許可する、安全なレビュー用設定です。

パターン3: CI/CD自動化用

claude --print --dangerously-skip-permissions \
  --allowedTools "Bash(npm test)" \
  --allowedTools "Bash(npm run build)" \
  "テストを実行して結果を報告してください"

自動化スクリプトから使用する場合は、必要最小限のツールだけを許可しつつ、確認プロンプトをバイパスします。

セキュリティに関するベストプラクティス

権限設定のチェックリスト

  • 最小権限の原則: 必要なツールだけを許可し、不要なツールは明示的に拒否する
  • 危険コマンドの拒否: rm -rfsudochmod 777 などは常に拒否リストに入れる
  • チーム共有設定: .claude/settings.json をGitにコミットし、チーム全体で統一した権限設定を使う
  • 個人設定の分離: 個人的な緩和設定は .claude/settings.local.json に記載し、.gitignore で除外する
  • 定期的な見直し: プロジェクトの進行に応じて、権限設定を適宜見直す
  • 本番環境での制限: 本番環境に影響するコマンドは必ず拒否リストに入れる

Claude Code入門の他のガイド

Claude Code導入ガイド ― Windows/Mac完全対応
Claude Codeのインストールから初回起動まで、OS別に完全対応 ・ 約30分
Claude Codeの主要スラッシュコマンドと活用法
16個のスラッシュコマンドを完全網羅。使い方・実行例・組み合わせテクニックまで ・ 約15分
Claude Codeのモデル切り替え活用術 ― Opus・Sonnet・Haikuの使い分け
タスクに応じた最適なモデル選択でコストと品質を両立する方法 ・ 約15分
Claude Codeのセッション管理術 ― 効率的な作業の進め方
セッションの開始・継続・再開を使いこなして、長期プロジェクトを効率的に進める ・ 約12分
Claude Codeのコマンドラインオプション完全リファレンス
全CLIオプションを網羅。起動時に使える引数を徹底解説 ・ 約20分
Claude Codeのプロジェクト設定(.claude/)完全ガイド
.claudeディレクトリとCLAUDE.mdを使いこなしてチーム開発を効率化 ・ 約15分
Claude Codeの出力フォーマットとパイプ活用術
--printモードとパイプを使った自動化・スクリプト連携の実践テクニック ・ 約15分
Claude Codeのキーボードショートカットと操作効率化
知っておくべきショートカットキーと入力テクニックで作業速度を2倍に ・ 約12分
Claude Codeのアップデートとバージョン管理
最新版への更新方法からダウングレード、トラブル対処まで ・ 約10分
Claude Codeの/doctorコマンドとトラブル診断
問題発生時の診断フローとよくあるエラーの解決方法 ・ 約12分
CLAUDE.mdの書き方完全ガイド ― プロジェクト指示書のベストプラクティス
プロジェクトの文脈をAIに正確に伝える設定ファイルの書き方 ・ 約20分
Claude Codeのメモリ機能 ― 会話をまたいだ記憶の活用法
プロジェクト固有の知識を永続化して効率を最大化する ・ 約18分
.claude/settings.jsonの設定項目一覧と活用法
Claude Codeの動作を細かく制御する設定ファイルの全貌 ・ 約15分
プロジェクト別CLAUDE.mdテンプレート集 ― コピペで使える10パターン
React・Next.js・Python・PHP・WordPress等、主要技術スタック別テンプレート ・ 約25分
チーム開発でのCLAUDE.md運用術
チーム全員がAIを最大限活用するための共有設定と運用ルール ・ 約20分
Claude CodeでGitを使いこなす ― 基本操作編
自然な日本語でGitを操作する方法を基本から解説 ・ 約20分
Claude Codeでコミットメッセージを自動生成する
変更内容を分析して最適なコミットメッセージを提案してくれるAI活用術 ・ 約18分
Claude CodeでPR(プルリクエスト)を作成・レビューする
AI支援によるPR作成からコードレビューまでの実践的ワークフロー ・ 約20分
Claude Codeでブランチ戦略を実践する
Git Flow・GitHub Flow・トランクベースを理解し、AIで効率的にブランチを管理 ・ 約20分
Claude Codeでコンフリクト解決をAIに任せる
マージの衝突が起きても慌てない。AIによるコンフリクト解決の実践ガイド ・ 約18分
Claude Codeでgit logを分析して変更履歴を理解する
コミット履歴からバグの原因特定やプロジェクトの変遷を把握する ・ 約22分
Claude Codeでリリースノートを自動生成する
コミット履歴からユーザー向け・開発者向けリリースノートを作成する ・ 約20分
Claude Codeのコンテキスト節約術 ― トークンを無駄にしない10の方法
コンテキストウィンドウを理解し、トークン消費を最適化するテクニック集 ・ 約18分
/compactコマンド徹底解説 ― 会話を圧縮して作業を続ける
/compactの仕組み・使いどころ・カスタム指示を完全網羅 ・ 約15分
大規模プロジェクトでのClaude Code活用戦略
大規模コードベースでの効率的なAI活用パターンとベストプラクティス ・ 約20分
.gitignoreとClaude Code ― 読み込みファイルの最適制御
ファイル探索の仕組みを理解し、ノイズを減らして精度を上げる ・ 約14分
効率的なタスク分割術 ― 1セッションの最適な使い方
タスク境界の見極めとセッション計画で生産性を最大化 ・ 約16分
Claude CodeのSkills機能入門 ― カスタムコマンドで作業を効率化
組み込みスキルからカスタムワークフローまで完全ガイド ・ 約15分
Claude Codeのフック(Hooks)でワークフローを自動化する
PreToolUse・PostToolUseフックで品質と安全性を自動で担保 ・ 約18分
カスタムスラッシュコマンドの作り方 ― 自分だけのワークフローを構築
.claude/commands/ディレクトリで独自コマンドを定義する方法 ・ 約16分
MCPサーバーでClaude Codeを拡張する ― 外部ツール連携ガイド
Model Context Protocolで無限の拡張性を手に入れる ・ 約18分
Claude CodeとVS Code・JetBrainsの連携活用法
ターミナルAIとIDEを組み合わせた最強の開発環境構築 ・ 約15分
Claude Codeでウェブサイトを0から作る実践ガイド
プロジェクト作成からデプロイまでの完全チュートリアル ・ 約20分
Claude Codeでテストコードを書かせるテクニック
単体テストからE2Eテストまで、AIによるテスト自動生成 ・ 約22分
Claude Codeでリファクタリングを効率化する
安全なコード改善をAIと一緒に進める方法 ・ 約22分
Claude Codeでドキュメントを自動生成する
README・API文書・コードコメントを効率的に作成 ・ 約20分
Claude Codeでバグを素早く見つけて修正するテクニック
エラー解析からホットフィックスまでのデバッグワークフロー ・ 約20分
Claude CodeでREST APIを設計・実装する
要件定義からテストまでAPI開発の全工程をAIと進める ・ 約25分
Claude Codeでデータベース設計を相談・実装する
ER図からマイグレーションまでDB設計をAIに相談 ・ 約22分
Claude Codeで既存プロジェクトを分析・理解する
新しいコードベースのオンボーディングをAIで加速 ・ 約22分

Claude Code入門のレッスンも読む

読んだら、次はクイズで確認!

トレーニングで学んだ知識を定着させましょう。

Claude Code入門のトレーニングへ