驗證方法
設定 Claude Code 需要存取 Anthropic 模型。對於團隊,您可以透過以下三種方式之一設定 Claude Code 存取:
- Claude API(透過 Claude Console)
- Amazon Bedrock
- Google Vertex AI
Claude API 驗證
透過 Claude API 為您的團隊設定 Claude Code 存取:
- 使用您現有的 Claude Console 帳戶或建立新的 Claude Console 帳戶
- 您可以透過以下任一方法新增使用者:
- 從 Console 內大量邀請使用者(Console -> Settings -> Members -> Invite)
- 設定 SSO
- 邀請使用者時,他們需要具有以下其中一個角色:
- “Claude Code” 角色表示使用者只能建立 Claude Code API 金鑰
- “Developer” 角色表示使用者可以建立任何類型的 API 金鑰
- 每個受邀使用者需要完成以下步驟:
雲端提供商驗證
透過 Bedrock 或 Vertex 為您的團隊設定 Claude Code 存取:
- 遵循 Bedrock 文件或 Vertex 文件
- 將環境變數和產生雲端認證的說明分發給您的使用者。深入了解如何在此管理配置。
- 使用者可以安裝 Claude Code
存取控制和權限
我們支援細粒度權限,以便您能夠精確指定代理允許執行的操作(例如執行測試、執行 linter)和不允許執行的操作(例如更新雲端基礎設施)。這些權限設定可以簽入版本控制並分發給組織中的所有開發人員,也可以由個別開發人員自訂。
權限系統
Claude Code 使用分層權限系統來平衡功能和安全性:
| 工具類型 | 範例 | 需要批准 | ”是,不要再問” 行為 |
| 唯讀 | 檔案讀取、LS、Grep | 否 | 不適用 |
| Bash 命令 | Shell 執行 | 是 | 每個專案目錄和命令永久有效 |
| 檔案修改 | 編輯/寫入檔案 | 是 | 直到工作階段結束 |
配置權限
您可以使用 /permissions 檢視和管理 Claude Code 的工具權限。此 UI 列出所有權限規則及其來源的 settings.json 檔案。
- Allow 規則將允許 Claude Code 使用指定的工具,無需進一步的手動批准。
- Ask 規則將在 Claude Code 嘗試使用指定工具時要求使用者確認。Ask 規則優先於 allow 規則。
- Deny 規則將防止 Claude Code 使用指定的工具。Deny 規則優先於 allow 和 ask 規則。
- 其他目錄將 Claude 的檔案存取擴展到初始工作目錄之外的目錄。
- 預設模式控制 Claude 在遇到新請求時的權限行為。
權限規則使用格式:Tool 或 Tool(optional-specifier)
只是工具名稱的規則會符合該工具的任何使用。例如,將 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 知道 shell 運算子(如 &&),因此前綴符合規則(如 Bash(safe-cmd:*))不會給它權限執行命令 safe-cmd && other-cmd
Bash 權限模式的重要限制:
- 此工具使用前綴符合,而不是正規表達式或 glob 模式
- 萬用字元
:* 只在模式末尾工作以符合任何延續
- 像
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 工具搭配
WebFetch(domain:github.com) 權限
- 透過 CLAUDE.md 指示 Claude Code 關於您允許的 curl 模式
- 使用鉤子進行自訂權限驗證
讀取和編輯
Edit 規則適用於所有編輯檔案的內建工具。Claude 將盡力嘗試將 Read 規則應用於所有讀取檔案的內建工具,如 Grep、Glob 和 LS。
讀取和編輯規則都遵循 gitignore 規格,具有四種不同的模式類型:
| 模式 | 意義 | 範例 | 符合 |
//path | 來自檔案系統根目錄的絕對路徑 | Read(//Users/alice/secrets/**) | /Users/alice/secrets/** |
~/path | 來自主目錄的路徑 | Read(~/Documents/*.pdf) | /Users/alice/Documents/*.pdf |
/path | 相對於設定檔案的路徑 | Edit(/src/**/*.ts) | <settings file path>/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 鉤子提供了一種方式來註冊自訂 shell 命令以在執行時執行權限評估。當 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 認證、Claude API 認證、Bedrock Auth 和 Vertex Auth。
- 自訂認證指令碼:
apiKeyHelper 設定可以配置為執行傳回 API 金鑰的 shell 指令碼。
- 重新整理間隔:根據預設,
apiKeyHelper 在 5 分鐘後或在 HTTP 401 回應時被呼叫。設定 CLAUDE_CODE_API_KEY_HELPER_TTL_MS 環境變數以自訂重新整理間隔。