アイデンティティとアクセス管理
組織でのClaude Codeのユーザー認証、認可、アクセス制御の設定方法を学びます。
認証方法
Claude Codeの設定にはAnthropicモデルへのアクセスが必要です。チームの場合、以下の3つの方法のいずれかでClaude Codeアクセスを設定できます:
- Anthropic Console経由のAnthropic API
- Amazon Bedrock
- Google Vertex AI
Anthropic API認証
Anthropic API経由でチームのClaude Codeアクセスを設定するには:
- 既存のAnthropic Consoleアカウントを使用するか、新しいAnthropic Consoleアカウントを作成します
- 以下のいずれかの方法でユーザーを追加できます:
- Console内からユーザーを一括招待(Console -> Settings -> Members -> Invite)
- SSOを設定
- ユーザーを招待する際、以下のいずれかの役割が必要です:
- 「Claude Code」役割は、ユーザーがClaude Code APIキーのみを作成できることを意味します
- 「Developer」役割は、ユーザーがあらゆる種類のAPIキーを作成できることを意味します
- 招待された各ユーザーは以下の手順を完了する必要があります:
- Console招待を受諾
- システム要件を確認
- Claude Codeをインストール
- Consoleアカウント認証情報でログイン
クラウドプロバイダー認証
BedrockまたはVertex経由でチームのClaude Codeアクセスを設定するには:
- BedrockドキュメントまたはVertexドキュメントに従います
- 環境変数とクラウド認証情報生成の手順をユーザーに配布します。設定管理の詳細はこちらをお読みください。
- ユーザーはClaude Codeをインストールできます
アクセス制御と権限
エージェントが許可されていること(例:テスト実行、リンター実行)と許可されていないこと(例:クラウドインフラストラクチャの更新)を正確に指定できるよう、きめ細かい権限をサポートしています。これらの権限設定はバージョン管理にチェックインして組織内のすべての開発者に配布でき、個々の開発者がカスタマイズすることも可能です。
権限システム
Claude Codeは、パワーと安全性のバランスを取るために階層化された権限システムを使用します:
ツールタイプ | 例 | 承認が必要 | 「はい、再度尋ねない」の動作 |
---|---|---|---|
読み取り専用 | ファイル読み取り、LS、Grep | いいえ | N/A |
Bashコマンド | シェル実行 | はい | プロジェクトディレクトリとコマンドごとに永続的 |
ファイル変更 | ファイル編集/書き込み | はい | セッション終了まで |
権限の設定
Claude Codeのツール権限は/permissions
で表示・管理できます。このUIはすべての権限ルールとそれらの元となるsettings.jsonファイルをリストします。
- Allowルールは、Claude Codeが指定されたツールを手動承認なしで使用することを許可します。
- Askルールは、Claude Codeが指定されたツールを使用しようとするたびにユーザーに確認を求めます。Askルールはallowルールより優先されます。
- Denyルールは、Claude Codeが指定されたツールを使用することを防ぎます。Denyルールはallowおよびaskルールより優先されます。
- 追加ディレクトリは、Claudeのファイルアクセスを初期作業ディレクトリを超えたディレクトリに拡張します。
- デフォルトモードは、新しいリクエストに遭遇したときの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コマンドにマッチ
Claude Codeはシェル演算子(&&
など)を認識するため、Bash(safe-cmd:*)
のような前置マッチルールはsafe-cmd && other-cmd
コマンドの実行権限を与えません
Read & Edit
Edit
ルールは、ファイルを編集するすべての組み込みツールに適用されます。Claudeは、Grep、Glob、LSなどのファイルを読み取るすべての組み込みツールにRead
ルールを適用するベストエフォートを行います。
ReadとEditルールは両方ともgitignore仕様に従います。パターンは.claude/settings.json
を含むディレクトリを基準に解決されます。絶対パスを参照するには//
を使用します。ホームディレクトリを基準としたパスには~/
を使用します。
Edit(docs/**)
プロジェクトのdocs
ディレクトリ内のファイル編集にマッチRead(~/.zshrc)
~/.zshrc
ファイルの読み取りにマッチEdit(//tmp/scratch.txt)
/tmp/scratch.txt
の編集にマッチ
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
これらのポリシーファイルは通常の設定ファイルと同じ形式に従いますが、ユーザーまたはプロジェクト設定によって上書きできません。これにより、組織全体で一貫したセキュリティポリシーが確保されます。
設定の優先順位
複数の設定ソースが存在する場合、以下の順序で適用されます(優先度の高い順):
- エンタープライズポリシー
- コマンドライン引数
- ローカルプロジェクト設定(
.claude/settings.local.json
) - 共有プロジェクト設定(
.claude/settings.json
) - ユーザー設定(
~/.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
環境変数を設定します。