コンテンツにスキップ

第4章 Claude Code — 導入と環境構築

本章では、管理者がチームへ Claude Code を展開するための導入手順と環境構築を解説します。


ネイティブインストーラー(推奨)

Section titled “ネイティブインストーラー(推奨)”

Node.js 不要で自動更新されるため、組織展開に最も適しています。

Terminal window
# macOS / Linux
curl -fsSL https://claude.ai/install.sh | sh

Node.js 18 以上が必要です。

Terminal window
npm install -g @anthropic-ai/claude-code

対応OS は macOS(Intel / Apple Silicon)、Linux(Ubuntu 22.04+ / Debian 12+)、Windows 11(ネイティブまたは WSL2、PowerShell 推奨)です。
最低 Pro プラン($20/月)または API クレジットが必要です。


OAuth 認証(サブスクリプション利用)

Section titled “OAuth 認証(サブスクリプション利用)”
Terminal window
claude # 初回起動時にOAuth認証フロー開始
/login # セッション中のアカウント切り替え

API キー認証(従量課金 / CI/CD 用)

Section titled “API キー認証(従量課金 / CI/CD 用)”
Terminal window
claude auth login --console # Anthropic Console 認証
# または環境変数
export ANTHROPIC_API_KEY=sk-ant-...

設定は4層で管理され、上位が下位を上書きします。

flowchart TD
    L1["`**① Managed(最上位)**
    管理者が展開・上書き不可
    サーバー配信 > MDM > JSON`"]
    L2["`**② Enterprise**
    組織全体の設定`"]
    L3["`**③ Project**
    .claude/settings.json
    リポジトリに含めてチーム共有`"]
    L4["`**④ User(最下位)**
    ~/.claude/settings.json
    個人の好み`"]

    L1 --> L2 --> L3 --> L4

    style L1 fill:#fce4ec,stroke:#e91e63
    style L2 fill:#fff3e0,stroke:#f59e0b
    style L3 fill:#e3f2fd,stroke:#2196f3
    style L4 fill:#e8f5e9,stroke:#4caf50

同一パーミッションが複数レベルで定義されている場合、より上位の制限が優先されます。
配列型の設定はスコープ間でマージされます。


4.4 settings.json による組織ポリシーの展開

Section titled “4.4 settings.json による組織ポリシーの展開”
スコープパス
User~/.claude/settings.json
Project(共有)<project>/.claude/settings.json
Project(個人)<project>/.claude/settings.local.json
ManagedMDM / サーバー配信 / managed-settings.json
{
"permissions": {
"deny": ["Bash(rm -rf *)", "Bash(sudo *)", "Bash(curl * | sh)"],
"allow": ["Bash(npm run *)", "Bash(git *)", "Bash(make *)"]
},
"env": {
"ANTHROPIC_MODEL": "claude-sonnet-4-6"
}
}

MDM で展開されたポリシーはコマンドライン引数を含むすべてのローカル設定より優先されます。


4.5 パーミッションルールの設計

Section titled “4.5 パーミッションルールの設計”
Bash(command pattern) # Bashコマンド
Read(file pattern) # ファイル読み取り
Write(file pattern) # ファイル書き込み
mcp__server__tool # MCP ツール
flowchart TD
    REQ["`ツール実行リクエスト`"] --> DENY{"`deny リストに
    マッチ?`"}
    DENY -->|はい| BLOCK["`ブロック`"]
    DENY -->|いいえ| ALLOW{"`allow リストに
    マッチ?`"}
    ALLOW -->|はい| EXEC["`自動実行`"]
    ALLOW -->|いいえ| PROMPT["`ユーザーに承認を求める`"]

    style BLOCK fill:#fce4ec,stroke:#e91e63
    style EXEC fill:#e8f5e9,stroke:#4caf50
    style PROMPT fill:#fff3e0,stroke:#f59e0b

deny は常に allow より優先されます。
最小権限の原則に従い、必要なコマンドのみを allow に追加し、危険なコマンドを deny で明示的にブロックする設計を推奨します。


組織展開では、インストールの標準化(ネイティブインストーラー)、認証の統一(OAuth + CI/CD用APIキー)、設定階層を活用したポリシー展開、パーミッションルールによるセキュリティ制御を組み合わせます。

次章では、Web版とCLI版の機能比較を解説します。