Claude Code 管理与部署

Claude Code 管理与部署

身份认证

4 分钟阅读

身份验证

登录 Claude Code,并为个人、团队和组织配置身份验证。

Claude Code 根据使用场景支持多种身份验证方式。个人用户可以使用 Claude.ai 账户登录;团队则可以使用 Claude for Teams 或 Enterprise、Claude Console,也可以使用 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 等云提供商。

登录 Claude Code

安装 Claude Code 后,在终端中运行 claude。首次启动时,Claude Code 会打开浏览器窗口供你登录。

如果浏览器没有自动打开,请按 c 将登录 URL 复制到剪贴板,再粘贴到浏览器中。

如果登录后浏览器没有跳转回来,而是显示登录代码,请在终端出现 Paste code here if prompted 提示时粘贴该代码。当浏览器无法访问 Claude Code 的本地 callback 服务器时会出现这种情况,这在 WSL2、SSH 会话和容器中很常见。

你可以使用以下任意账户类型进行身份验证:

  • Claude Pro 或 Max 订阅:使用 Claude.ai 账户登录。可在 claude.com/pricing 订阅。
  • Claude for Teams 或 Enterprise:使用团队管理员邀请加入的 Claude.ai 账户登录。
  • Claude Console:使用 Console 凭证登录。管理员必须先邀请你
  • 云提供商:如果组织使用 Amazon BedrockGoogle Cloud's Agent PlatformMicrosoft Foundry,请在运行 claude 前设置所需环境变量,无需通过浏览器登录。
  • 云网关:如果组织运行自行托管的 Claude 应用网关,请通过 /login 使用企业 SSO 登录。网关签发的 Token 是该会话唯一使用的凭证。

要退出登录并重新进行身份验证,请在 Claude Code Prompt 中输入 /logout

如果登录遇到问题,请参阅身份验证故障排除

设置团队身份验证

团队和组织可以通过以下任一方式配置 Claude Code 访问权限:

Claude for Teams 或 Enterprise

对于使用 Claude Code 的组织,Claude for TeamsClaude for Enterprise 可以提供最佳体验。团队成员既可以使用 Claude Code,也可以使用 Web 版 Claude,并享有集中计费和团队管理。

  • Claude for Teams:提供协作功能、管理工具和账单管理的自助方案,最适合规模较小的团队。
  • Claude for Enterprise:在此基础上增加 SSO、域名接管、基于角色的权限、合规 API,以及用于在组织范围内配置 Claude Code 的托管策略设置,最适合有安全与合规要求的大型组织。
1

订阅

订阅 Claude for Teams,或联系销售团队购买 Claude for Enterprise

2

邀请团队成员

通过管理员仪表板邀请团队成员。

3

安装并登录

团队成员安装 Claude Code,并使用自己的 Claude.ai 账户登录。

Claude Console 身份验证

希望采用 API 计费的组织可以通过 Claude Console 设置访问权限。

1

创建或使用 Console 账户

使用现有的 Claude Console 账户,或创建新账户。

2

添加用户

可以通过以下任一方式添加用户:

  • 在 Console 中批量邀请用户:Settings -> Members -> Invite
  • 设置 SSO
3

分配角色

邀请用户时,分配以下任一角色:

  • Claude Code 角色:用户只能创建 Claude Code API key
  • Developer 角色:用户可以创建任何类型的 API key
4

用户完成设置

每位受邀用户都需要:

云提供商身份验证

对于使用 Amazon Bedrock、Google Cloud's Agent Platform 或 Microsoft Foundry 的团队:

1

按照提供商文档进行设置

2

分发配置

向用户分发环境变量以及生成云凭证的说明。进一步了解如何管理配置

3

安装 Claude Code

用户可以安装 Claude Code

凭证管理

Claude Code 会安全地管理身份验证凭证:

  • 存储位置
    • 在 macOS 上,凭证存储在加密的 macOS Keychain 中。
    • 在 Linux 上,凭证存储在 ~/.claude/.credentials.json 中,文件模式为 0600
    • 在 Windows 上,凭证存储在 %USERPROFILE%\.claude\.credentials.json 中,并继承用户 profile 目录的访问控制;默认情况下,该文件仅限你的用户账户访问。
    • 如果在 Linux 或 Windows 上设置了 CLAUDE_CONFIG_DIR 环境变量,.credentials.json 文件会改为存放在该目录下。
    • Claude Code 通过 /login/logout 管理 .credentials.json。要将请求路由到自定义 API 端点,请改为设置 ANTHROPIC_BASE_URL 环境变量。
  • 支持的身份验证类型:Claude.ai 凭证、Claude API 凭证、Azure Auth、Bedrock Auth、Vertex Auth,以及 Claude 应用网关会话 Token。
  • 自定义凭证脚本:可以配置 apiKeyHelper 设置,使其运行返回 API key 的 shell 脚本。
  • 刷新间隔:默认情况下,会在 5 分钟后或收到 HTTP 401 响应时调用 apiKeyHelper。可以设置 CLAUDE_CODE_API_KEY_HELPER_TTL_MS 环境变量来自定义刷新间隔。
  • 辅助脚本过慢提示:如果 apiKeyHelper 返回 key 所用时间超过 10 秒,Claude Code 会在 Prompt 栏显示警告通知,其中包含经过的时间。如果经常看到此通知,请检查凭证脚本是否可以优化。

apiKeyHelperANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN 适用于 CLI 以及封装 CLI 的界面,包括 VS Code 扩展、Agent SDK 和 GitHub Actions。Claude Desktop 和云会话不会调用 apiKeyHelper,也不会读取这些环境变量;它们使用 OAuth,但运行组织分发的第三方推理配置的桌面会话除外,此类会话使用该配置的凭证进行身份验证。

续期即将过期的登录

通过 /login 创建的登录距离过期不足五天时,Claude Code 会在启动时显示警告:Your login expires in 3 days · run /login to renew。需要 Claude Code v2.1.203 或更高版本。

运行 /login 进行续期。该警告仅供参考,绝不会阻止请求:在登录实际过期之前,身份验证会继续正常工作。登录本身的有效期没有变化;v2.1.203 新增的只是提前警告。

仅当当前使用 claude.ai 或 Claude Console 登录凭证时,才会显示此警告;如果凭证由云提供商、ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKENapiKeyHelper 提供,则不会显示。

对于无人值守的会话,提前续期最为重要。如果智能体视图中的后台会话Remote Control 会话的运行时间超过登录有效期,凭证过期后就会停止推进,并且在你重新登录之前无法恢复。

身份验证优先级

同时存在多个凭证时,Claude Code 会按以下顺序选择:

  1. 设置了 CLAUDE_CODE_USE_BEDROCKCLAUDE_CODE_USE_VERTEXCLAUDE_CODE_USE_FOUNDRY 时,使用云提供商凭证。设置方法请参阅第三方集成
  2. ANTHROPIC_AUTH_TOKEN 环境变量。以 Authorization: Bearer 请求头发送。适用于通过使用 bearer Token 而非 Anthropic API key 进行身份验证的 LLM 网关或代理路由请求。
  3. ANTHROPIC_API_KEY 环境变量。以 X-Api-Key 请求头发送。适用于使用 Claude Console 中的 key 直接访问 Anthropic API。在交互模式下,系统会提示一次,让你批准或拒绝使用该 key,并记住选择。之后要更改,请使用 /config 中的“Use custom API key”开关。在非交互模式 (-p) 下,只要存在该 key,就始终会使用。
  4. apiKeyHelper 脚本输出。适用于动态或轮换凭证,例如从 vault 获取的短期 Token。
  5. CLAUDE_CODE_OAUTH_TOKEN 环境变量。由 claude setup-token 生成的长期 OAuth Token。适用于无法通过浏览器登录的 CI pipeline 和脚本。
  6. 通过 /login 获得的订阅 OAuth 凭证。这是 Claude Pro、Max、Team 和 Enterprise 用户的默认方式。

已登录的 Claude 应用网关会话不在此列表中:与 Amazon Bedrock 或 Google Cloud's Agent Platform 一样,它属于提供商选择,并且优先级高于这些选项。存在网关会话时,即使设置了 CLAUDE_CODE_USE_BEDROCKCLAUDE_CODE_USE_VERTEXCLAUDE_CODE_USE_FOUNDRY,CLI 也会使用网关 Token 进行身份验证;不会使用上面列出的 bearer Token、API key 和 apiKeyHelper

如果你拥有有效的 Claude 订阅,但环境中也设置了 ANTHROPIC_API_KEY,则该 API key 获得批准后具有更高优先级。如果 key 属于已经停用或过期的组织,可能导致身份验证失败。运行 unset ANTHROPIC_API_KEY 可以回退到订阅凭证,再通过 /status 确认当前使用的身份验证方式。

Web 版 Claude Code 始终使用订阅凭证。沙箱环境中的 ANTHROPIC_API_KEYANTHROPIC_AUTH_TOKEN 无法将其覆盖。

生成长期 Token

对于 CI pipeline、脚本或其他无法通过交互式浏览器登录的环境,可以使用 claude setup-token 生成有效期一年的 OAuth Token:

claude setup-token

该命令会引导你完成 OAuth 授权,并在终端中输出 Token。它不会在任何位置保存 Token;请复制该值,并在需要进行身份验证的环境中将其设为 CLAUDE_CODE_OAUTH_TOKEN 环境变量:

export CLAUDE_CODE_OAUTH_TOKEN=your-token

此 Token 使用 Claude 订阅进行身份验证,需要 Pro、Max、Team 或 Enterprise 方案。它的作用域仅限推理,无法建立 Remote Control 会话。

Bare 模式不会读取 CLAUDE_CODE_OAUTH_TOKEN。如果脚本传入 --bare,请改用 ANTHROPIC_API_KEYapiKeyHelper 进行身份验证。