アイデンティティとアクセス管理
組織内でClaude Codeのユーザー認証、認可、アクセス制御を設定する方法を学びます。
認証方法
Claude Codeの設定にはAnthropicモデルへのアクセスが必要です。チームの場合、Claude Codeアクセスを以下の3つの方法のいずれかで設定できます:
- 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コマンド | シェル実行 | はい | プロジェクトディレクトリとコマンドごとに永続的 |
ファイル変更 | ファイル編集/書き込み | はい | セッション終了まで |
権限の設定
/permissions
でClaude Codeのツール権限を表示・管理できます。このUIはすべての権限ルールとそれらの取得元であるsettings.jsonファイルをリストします。
- Allowルールは、Claude Codeが指定されたツールを手動承認なしで使用することを許可します。
- Denyルールは、Claude Codeが指定されたツールを使用することを防ぎます。Denyルールはallowルールより優先されます。
権限ルールは次の形式を使用します:Tool(optional-specifier)
ツール名のみのルールは、そのツールのあらゆる使用にマッチします。例えば、allowルールのリストにBash
を追加すると、Claude CodeがBashツールをユーザー承認なしで使用できるようになります。
ツール固有の権限ルール
一部のツールは、よりきめ細かい権限制御のためにオプションの指定子を使用します。例えば、Bash(git diff:*)
のallowルールは、git diff
で始まるBashコマンドを許可します。以下のツールは指定子付きの権限ルールをサポートします:
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
ツールにマッチ
エンタープライズ管理ポリシー設定
Claude Codeのエンタープライズ展開では、ユーザーとプロジェクト設定より優先されるエンタープライズ管理ポリシー設定をサポートしています。これにより、システム管理者はユーザーが上書きできないセキュリティポリシーを強制できます。
システム管理者は以下にポリシーを展開できます:
- macOS:
/Library/Application Support/ClaudeCode/policies.json
- LinuxとWindows(WSL経由):
/etc/claude-code/policies.json
これらのポリシーファイルは通常の設定ファイルと同じ形式に従いますが、ユーザーやプロジェクト設定で上書きできません。これにより、組織全体で一貫したセキュリティポリシーが確保されます。
設定の優先順位
複数の設定ソースが存在する場合、以下の順序で適用されます(優先度の高い順):
- エンタープライズポリシー
- コマンドライン引数
- ローカルプロジェクト設定(
.claude/settings.local.json
) - 共有プロジェクト設定(
.claude/settings.json
) - ユーザー設定(
~/.claude/settings.json
)
この階層により、組織のポリシーが常に強制される一方で、適切な場合にはプロジェクトとユーザーレベルでの柔軟性も可能になります。
認証情報管理
Claude CodeはClaude.ai認証情報、Anthropic API認証情報、Bedrock Auth、Vertex Authによる認証をサポートしています。macOSでは、APIキー、OAuthトークン、その他の認証情報は暗号化されたmacOS Keychainに保存されます。または、設定apiKeyHelperをAPIキーを返すシェルスクリプトに設定できます。デフォルトでは、このヘルパーは5分後またはHTTP 401レスポンス時に呼び出されます。環境変数CLAUDE_CODE_API_KEY_HELPER_TTL_MS
を指定することで、カスタム更新間隔を定義できます。