認証方法

Claude Codeの設定にはAnthropicモデルへのアクセスが必要です。チームの場合、Claude Codeアクセスを以下の3つの方法のいずれかで設定できます:

  • Anthropic Console経由のAnthropic API
  • Amazon Bedrock
  • Google Vertex AI

Anthropic API認証

Anthropic API経由でチームのClaude Codeアクセスを設定するには:

  1. 既存のAnthropic Consoleアカウントを使用するか、新しいAnthropic Consoleアカウントを作成します
  2. 以下のいずれかの方法でユーザーを追加できます:
    • Console内からユーザーを一括招待(Console -> Settings -> Members -> Invite)
    • SSOを設定
  3. ユーザーを招待する際、以下のいずれかの役割が必要です:
    • 「Claude Code」役割は、ユーザーがClaude Code APIキーのみを作成できることを意味します
    • 「Developer」役割は、ユーザーがあらゆる種類のAPIキーを作成できることを意味します
  4. 招待された各ユーザーは以下の手順を完了する必要があります:

クラウドプロバイダー認証

BedrockまたはVertex経由でチームのClaude Codeアクセスを設定するには:

  1. BedrockドキュメントまたはVertexドキュメントに従います
  2. 環境変数とクラウド認証情報生成の手順をユーザーに配布します。設定管理についてはこちらをお読みください。
  3. ユーザーはClaude Codeをインストールできます

アクセス制御と権限

エージェントが許可されることを正確に指定できるよう(例:テスト実行、リンター実行)、許可されないことも指定できるよう(例:クラウドインフラストラクチャの更新)、きめ細かい権限をサポートしています。これらの権限設定はバージョン管理にチェックインして組織内のすべての開発者に配布でき、個々の開発者がカスタマイズすることもできます。

権限システム

Claude Codeは、パワーと安全性のバランスを取るために階層化された権限システムを使用します:

ツールタイプ承認が必要「はい、再度確認しない」の動作
読み取り専用ファイル読み取り、LS、GrepいいえN/A
Bashコマンドシェル実行はいプロジェクトディレクトリとコマンドごとに永続的
ファイル変更ファイル編集/書き込みはいセッション終了まで

権限の設定

/permissionsでClaude Codeのツール権限を表示・管理できます。このUIはすべての権限ルールとそれらのソースとなるsettings.jsonファイルを一覧表示します。

  • Allowルールは、Claude Codeが手動承認なしで指定されたツールを使用することを許可します。
  • Askルールは、Claude Codeが指定されたツールを使用しようとするたびにユーザーに確認を求めます。Askルールはallowルールより優先されます。
  • Denyルールは、Claude Codeが指定されたツールを使用することを防ぎます。Denyルールはallowルールとaskルールより優先されます。
  • Additional directoriesは、Claudeのファイルアクセスを初期作業ディレクトリを超えたディレクトリに拡張します。
  • Default modeは、新しいリクエストに遭遇したときのClaudeの権限動作を制御します。

権限ルールは次の形式を使用します:ToolまたはTool(optional-specifier)

ツール名だけのルールは、そのツールのあらゆる使用にマッチします。例えば、allowルールのリストにBashを追加すると、Claude CodeがBashツールをユーザー承認なしで使用できるようになります。

権限モード

Claude Codeは、設定ファイルdefaultModeとして設定できるいくつかの権限モードをサポートしています:

モード説明
default標準動作 - 各ツールの初回使用時に権限を求めるプロンプトを表示
acceptEditsセッション中のファイル編集権限を自動的に受諾
planプランモード - Claudeは分析できるがファイルの変更やコマンドの実行はできない
bypassPermissionsすべての権限プロンプトをスキップ(安全な環境が必要 - 下記の警告を参照)

作業ディレクトリ

デフォルトでは、Claudeは起動されたディレクトリ内のファイルにアクセスできます。このアクセスを拡張できます:

  • 起動時--add-dir <path> CLIアーギュメントを使用
  • セッション中/add-dirスラッシュコマンドを使用
  • 永続的設定設定ファイルadditionalDirectoriesに追加

追加ディレクトリ内のファイルは、元の作業ディレクトリと同じ権限ルールに従います - プロンプトなしで読み取り可能になり、ファイル編集権限は現在の権限モードに従います。

ツール固有の権限ルール

一部のツールは、よりきめ細かい権限制御をサポートしています:

Bash

  • Bash(npm run build) 正確なBashコマンドnpm run buildにマッチ
  • Bash(npm run test:*) npm run testで始まるBashコマンドにマッチ
  • Bash(curl http://site.com/:*) 正確にcurl http://site.com/で始まるcurlコマンドにマッチ

Claude Codeはシェル演算子(&&など)を認識するため、Bash(safe-cmd:*)のような前置マッチルールはsafe-cmd && other-cmdコマンドの実行権限を与えません

Bash権限パターンの重要な制限:

  1. このツールは前置マッチを使用し、正規表現やglobパターンではありません
  2. ワイルドカード:*はパターンの最後でのみ機能し、任意の継続にマッチします
  3. Bash(curl http://github.com/:*)のようなパターンは多くの方法で回避できます:
    • URL前のオプション:curl -X GET http://github.com/...はマッチしません
    • 異なるプロトコル:curl https://github.com/...はマッチしません
    • リダイレクト:curl -L http://bit.ly/xyz(githubにリダイレクト)
    • 変数:URL=http://github.com && curl $URLはマッチしません
    • 余分なスペース:curl http://github.comはマッチしません

より信頼性の高いURLフィルタリングについては、以下を検討してください:

  • WebFetch(domain:github.com)権限でWebFetchツールを使用
  • CLAUDE.mdを通じてClaude Codeに許可されたcurlパターンを指示
  • カスタム権限検証にフックを使用

Read & Edit

Editルールは、ファイルを編集するすべての組み込みツールに適用されます。Claudeは、Grep、Glob、LSなどのファイルを読み取るすべての組み込みツールにReadルールを適用するよう最善の努力をします。

ReadとEditルールはどちらもgitignore仕様に従い、4つの異なるパターンタイプがあります:

パターン意味マッチ
//pathファイルシステムルートからの絶対パスRead(//Users/alice/secrets/**)/Users/alice/secrets/**
~/pathホームディレクトリからのパスRead(~/Documents/*.pdf)/Users/alice/Documents/*.pdf
/path設定ファイルに相対的なパスEdit(/src/**/*.ts)<設定ファイルパス>/src/**/*.ts
pathまたは./path現在のディレクトリに相対的なパスRead(*.env)<cwd>/*.env

/Users/alice/fileのようなパターンは絶対パスではありません - 設定ファイルに相対的です!絶対パスには//Users/alice/fileを使用してください。

  • Edit(/docs/**) - <project>/docs/での編集(/docs/ではありません!)
  • Read(~/.zshrc) - ホームディレクトリの.zshrcを読み取り
  • Edit(//tmp/scratch.txt) - 絶対パス/tmp/scratch.txtを編集
  • Read(src/**) - <current-directory>/src/から読み取り

WebFetch

  • WebFetch(domain:example.com) example.comへのフェッチリクエストにマッチ

MCP

  • mcp__puppeteer puppeteerサーバーが提供する任意のツールにマッチ(Claude Codeで設定された名前)
  • mcp__puppeteer__puppeteer_navigate puppeteerサーバーが提供するpuppeteer_navigateツールにマッチ

他の権限タイプとは異なり、MCP権限はワイルドカード(*)をサポートしていません。

MCPサーバーからすべてのツールを承認するには:

  • ✅ 使用:mcp__github(すべてのGitHubツールを承認)
  • ❌ 使用しない:mcp__github__*(ワイルドカードはサポートされていません)

特定のツールのみを承認するには、それぞれを一覧表示してください:

  • ✅ 使用:mcp__github__get_issue
  • ✅ 使用:mcp__github__list_issues

フックによる追加の権限制御

Claude Codeフックは、実行時に権限評価を実行するカスタムシェルコマンドを登録する方法を提供します。Claude Codeがツール呼び出しを行うとき、PreToolUseフックは権限システムが実行される前に実行され、フック出力は権限システムの代わりにツール呼び出しを承認または拒否するかを決定できます。

エンタープライズ管理ポリシー設定

Claude Codeのエンタープライズ展開では、ユーザーとプロジェクト設定より優先されるエンタープライズ管理ポリシー設定をサポートしています。これにより、システム管理者はユーザーが上書きできないセキュリティポリシーを強制できます。

システム管理者は以下にポリシーを展開できます:

  • macOS:/Library/Application Support/ClaudeCode/managed-settings.json
  • LinuxとWSL:/etc/claude-code/managed-settings.json
  • Windows:C:\ProgramData\ClaudeCode\managed-settings.json

これらのポリシーファイルは通常の設定ファイルと同じ形式に従いますが、ユーザーまたはプロジェクト設定で上書きできません。これにより、組織全体で一貫したセキュリティポリシーが確保されます。

設定の優先順位

複数の設定ソースが存在する場合、以下の順序で適用されます(最高から最低の優先順位):

  1. エンタープライズポリシー
  2. コマンドライン引数
  3. ローカルプロジェクト設定(.claude/settings.local.json
  4. 共有プロジェクト設定(.claude/settings.json
  5. ユーザー設定(~/.claude/settings.json

この階層により、組織のポリシーが常に強制される一方で、適切な場合にはプロジェクトとユーザーレベルでの柔軟性も可能になります。

認証情報管理

Claude Codeは認証認証情報を安全に管理します:

  • 保存場所:macOSでは、APIキー、OAuthトークン、その他の認証情報は暗号化されたmacOS Keychainに保存されます。
  • サポートされる認証タイプ:Claude.ai認証情報、Anthropic API認証情報、Bedrock Auth、Vertex Auth。
  • カスタム認証情報スクリプトapiKeyHelper設定は、APIキーを返すシェルスクリプトを実行するよう設定できます。
  • 更新間隔:デフォルトでは、apiKeyHelperは5分後またはHTTP 401レスポンス時に呼び出されます。カスタム更新間隔にはCLAUDE_CODE_API_KEY_HELPER_TTL_MS環境変数を設定してください。