權限與企業部署

講義

對於企業環境,Claude Code 提供了完整的權限控制、配置管理和審計功能。 了解這些機制對於在團隊和組織中安全地部署 Claude Code 至關重要。

權限模型

Claude Code 使用三層式權限評估,按優先級從高到低:

  1. deny(拒絕):明確禁止的操作,最高優先級,無法被覆蓋
  2. allow(允許):明確允許的操作,不需要詢問使用者
  3. ask(詢問):需要使用者確認的操作,預設行為

這個評估順序意味著:如果一個操作被 deny 了,即使其他規則 allow 它,仍然會被拒絕。

settings.json 配置

使用者可以透過 ~/.claude/settings.json 或專案級的 .claude/settings.json 來配置權限:

{
  "permissions": {
    "allow": [
      "Bash(npm run test)",
      "Bash(npm run build)",
      "Read",
      "Write"
    ],
    "deny": [
      "Bash(rm -rf *)",
      "Bash(git push --force)"
    ]
  },
  "model": "claude-sonnet-4-20250514",
  "mcpServers": {}
}

你可以精確控制哪些命令允許自動執行,哪些需要確認,哪些完全禁止。

Managed Settings(企業託管設定)

對於企業 IT 部門,managed-settings.json 提供了不可覆蓋的組織級設定。 這個檔案由 IT 管理員部署,開發者無法修改。

  • 強制使用特定的模型或 API 端點
  • 禁止某些危險操作
  • 強制啟用特定的 MCP 伺服器
  • 限制可用的功能

MDM/OS 級別部署

Managed Settings 可以透過以下方式部署:

  • macOS:透過 MDM 配置檔案或企業設定管理工具
  • Linux:透過系統級配置或套件管理
  • Windows:透過群組原則(Group Policy)或 Intune

CLAUDE.md 注入

企業可以在全組織範圍內注入 CLAUDE.md 規則。這讓 IT 部門可以確保所有開發者 的 Claude Code 都遵循組織的標準:

  • 統一的程式碼風格規範
  • 安全最佳實踐
  • 合規性要求
  • 禁止使用的函式庫或模式

團隊約定

即使不是企業環境,團隊也能利用以下機制統一工作方式:

  • 共享 CLAUDE.md:提交到版本控制中,團隊成員共享相同的規則
  • 共享 Skills:在 .claude/skills/ 中定義團隊的工作流
  • 共享 Custom Commands:在 .claude/commands/ 中定義常用操作

Hooks 審計日誌

Claude Code 的 Hooks 機制讓你可以在特定事件發生時執行自訂腳本。 這可以用來記錄審計日誌:

  • 記錄每次 Claude 執行的命令
  • 記錄檔案修改歷史
  • 發送操作通知到日誌系統
  • 在特定操作前進行額外的安全檢查

企業 SSO 與存取控制

Claude Code 支援企業級的身份認證和存取控制:

  • SSO(Single Sign-On)整合
  • 基於角色的存取控制
  • API Key 管理和輪換
  • 使用量追蹤和預算控制

這些功能讓企業可以在保持安全性和合規性的前提下,大規模部署 Claude Code。