Appearance
使用 Claude Platform on AWS 后,通过 CLAUDE_CODE_USE_ANTHROPIC_AWS 等环境变量将 Claude Code 指向 AWS 工作区。支持 AWS SigV4 认证(CLI 登录或 IAM 角色)或 Workspace API 密钥,运行 /status 可确认当前配置。注意工作区 ID 必须来自 AWS 订阅绑定的 Anthropic 组织,不能复用已有账户凭证。
Claude Code AWS 接入配置:IAM 认证与 API 密钥
Claude Platform on AWS 是 Anthropic 在 AWS 上运营的 Claude API,具备 AWS 认证、IAM 访问控制和 AWS Marketplace 计费功能。请求直达 Anthropic API,模型和特性与 Claude API 完全同步。你可以用 AWS 凭证或工作区 API 密钥认证,并通过 AWS Marketplace 付费。
本指南帮你把 Claude Code 指向已在 Claude Platform on AWS 上预置好的工作区。关于订阅和工作区的搭建步骤,请先阅读 Claude Platform on AWS 文档。
通过 AWS Marketplace 订阅会创建一个绑定 AWS 账户的新 Anthropic 组织。这个组织与你已有的 Anthropic 组织是分开的,凭证不能互通。请使用 AWS 关联组织中的工作区 ID 和 API 密钥,而不是原有 Claude Console 账户的凭证。
前提条件
开始配置 Claude Code 前你需要:
- 一个有效的 Claude Platform on AWS 订阅(通过 AWS Marketplace)
- AWS 关联 Anthropic 组织中的工作区(以及它的工作区 ID)
- 具有调用 Anthropic 服务权限的 IAM 主体,或工作区级 API 密钥
- 环境中已配置 AWS 凭证(在
~/.aws/credentials中,或通过附加 IAM 角色),如果使用 SigV4 认证的话。AWS CLI 仅在 SSO 登录流程中必需
配置步骤
1. 配置 AWS 凭证
Claude Code 支持两种 Claude Platform on AWS 认证方式,选择适合你团队管理方式的一种。
方式 A:AWS 凭证 + SigV4
Claude Code 使用标准 AWS 凭证链进行 SigV4 签名:环境变量、共享凭证 ~/.aws/credentials、IAM 角色、AWS SSO 会话,以及 AWS SDK 支持的其他来源。
本地使用时,启动 Claude Code 前先登录 AWS CLI。下面以 SSO 配置文件为例,任何能产生标准位置凭证的方法都可工作。
bash
aws sso login --profile my-profile
export AWS_PROFILE=my-profileCI 和自动化场景中,给运行器一个具有 Anthropic 服务调用权限的 IAM 角色,并设置 AWS_REGION。凭证链会自动拾取角色。
如果 SSO 凭证在会话中过期,可以配置 awsAuthRefresh 让 Claude Code 重新运行登录命令并重试,而不是报错。在 settings.json 中加入命令:
json
{
"awsAuthRefresh": "aws sso login --profile my-profile"
}方式 B:工作区 API 密钥
工作区 API 密钥是一个长期有效的密钥,适合不想管理联合 AWS 凭证的场景。在 AWS 控制台的 Claude Platform on AWS → API keys 下生成密钥,然后设为 ANTHROPIC_AWS_API_KEY:
bash
export ANTHROPIC_AWS_API_KEY=sk-ant-xxxxx密钥会以 x-api-key 头发送,优先级高于 SigV4,所以环境中的 AWS 凭证会被忽略。来自非 AWS 关联的 Claude Console 组织的 API 密钥无效。
请像处理生产凭证一样对待工作区 API 密钥。用用户设置文件中的 env 块可以很方便地把密钥限制在本机,而不用全局导出。
/login和/logout命令不会改变 Claude Platform on AWS 的认证方式。认证通过你的 AWS 凭证或工作区 API 密钥进行,与 Claude.ai 订阅无关。
2. 配置 Claude Code
设置环境变量,让 Claude Code 使用 Claude Platform on AWS 而不是默认的 Anthropic API。
bash
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
export AWS_REGION=us-east-1ANTHROPIC_AWS_WORKSPACE_ID 必填,每次请求都会作为 anthropic-workspace-id 头发送。基础 URL 由 AWS_REGION 自动生成为 https://aws-external-anthropic.{region}.api.aws。如需直接覆盖 URL,设置 ANTHROPIC_AWS_BASE_URL。
即使环境中存在 AWS 凭证,Claude Platform on AWS 也是主动选用的。Bedrock 和 Foundry 在供应商路由中优先级更高,所以如果设置了 CLAUDE_CODE_USE_BEDROCK 或 CLAUDE_CODE_USE_FOUNDRY,请取消设置。
3. 固定模型版本
Claude Platform on AWS 使用与直接 Claude API 相同的模型 ID。默认名 opus、sonnet 和 haiku 会解析为工作区中最新的可用版本。
如果要把 Claude Code 部署给团队使用,显式固定模型 ID,避免新版本发布时所有人同时切换:
bash
export ANTHROPIC_DEFAULT_OPUS_MODEL=claude-opus-4-7
export ANTHROPIC_DEFAULT_SONNET_MODEL=claude-sonnet-4-6
export ANTHROPIC_DEFAULT_HAIKU_MODEL=claude-haiku-4-5完整模型 ID 和别名列表请查看 Models overview。其他模型相关变量请见模型配置。
提示缓存默认启用。如果需要将缓存 TTL 从默认的 5 分钟改为 1 小时,设置 ENABLE_PROMPT_CACHING_1H=1。API 计费按 1 小时缓存写入的更高费率计算,详情见提示缓存定价。
使用 Agent SDK
Agent SDK 会读取与 CLI 相同的环境变量,因此只要在调用前导出 CLAUDE_CODE_USE_ANTHROPIC_AWS、ANTHROPIC_AWS_WORKSPACE_ID 以及 ANTHROPIC_AWS_API_KEY(或 AWS 凭证),任何产生 Claude Code 子进程的程序都可以指向 Claude Platform on AWS。
typescript
import { query } from "@anthropic-ai/claude-agent-sdk";
process.env.CLAUDE_CODE_USE_ANTHROPIC_AWS = "1";
process.env.ANTHROPIC_AWS_WORKSPACE_ID = "wrkspc_01ABCDEFGHIJKLMN";
process.env.AWS_REGION = "us-east-1";
for await (const msg of query({ prompt: "What's in this repo?" })) {
console.log(msg);
}此示例依赖于环境中的 AWS 凭证链(SigV4)。如果想改用工作区 API 密钥认证,同样设置 ANTHROPIC_AWS_API_KEY 即可。Agent SDK 的完整接口请见 Agent SDK 概述。
通过企业代理路由
如果需要通过代理或 LLM 网关路由流量,将 ANTHROPIC_AWS_BASE_URL 设置为代理地址。Claude Code 会向该 URL 发送请求,并附带相同的工作区和认证头,因此任何原样转发这些请求的网关都可以工作。
bash
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com如果网关自己负责签名,可以设置 CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1,让 Claude Code 发送未签名请求,由网关在转发到 AWS 前添加 SigV4 头。如果网关需要自己的 Token,设置 ANTHROPIC_AUTH_TOKEN。
bash
export CLAUDE_CODE_USE_ANTHROPIC_AWS=1
export CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1
export ANTHROPIC_AWS_WORKSPACE_ID=wrkspc_01ABCDEFGHIJKLMN
export ANTHROPIC_AWS_BASE_URL=https://anthropic-proxy.example.com故障排查
运行 /status 可以查看解析后的供应商、显式配置的工作区 ID、区域、基础 URL 覆盖和认证跳过设置。这是判断 Claude Code 是否已指向 Claude Platform on AWS 的最快方式。
每次请求都返回 403 Forbidden 或 AccessDenied
Claude Code 解析到的 IAM 主体可能缺少在你工作区中调用 Anthropic 服务的权限。检查你的 AWS 配置文件或运行 Claude Code 的 runner 所关联的角色,确认其具有 aws-external-anthropic 相关动作(详见 IAM 操作参考)。
如果设置了 ANTHROPIC_AWS_API_KEY,该密钥优先级高于 SigV4,过期的密钥同样会产生该错误。可以在 AWS 控制台的 Claude Platform on AWS → API keys 下重新生成密钥,或取消设置该变量以回退到 AWS 凭证。
请求因缺少工作区而失败
ANTHROPIC_AWS_WORKSPACE_ID 可能未设置或为空。每个 Claude Platform on AWS 请求都必须包含工作区 ID,它不会从 AWS 凭证中隐式推断出来。在 AWS 控制台服务页面的 Workspaces 中找到 ID,然后在启动 Claude Code 前导出它。
请求仍然发往 api.anthropic.com
CLAUDE_CODE_USE_ANTHROPIC_AWS 可能未设置,或设置为非真值。请将其设为 1 并运行 /status 确认解析到的供应商。如果 CLAUDE_CODE_USE_BEDROCK 或 CLAUDE_CODE_USE_FOUNDRY 也已设置,它们会优先于 Claude Platform on AWS。
其他资源
Claude Platform on AWS 的订阅、工作区和 IAM 搭建步骤(配置 Claude Code 之前的环节)请见平台文档:
- Claude Platform on AWS 概述:订阅、工作区设置和产品参考
- IAM 操作参考:权限和托管策略
常见问题
如何确认 Claude Code 已经在使用 Claude Platform on AWS?
运行 /status 命令,查看返回的供应商信息是否为 anthropic-aws,以及工作区 ID、区域是否正确。如果供应商不是 anthropic-aws,检查环境变量 CLAUDE_CODE_USE_ANTHROPIC_AWS 是否设为 1,并确保 CLAUDE_CODE_USE_BEDROCK 等冲突变量未被设置。
使用 API 密钥认证时出现 403 错误怎么办?
首先确认密钥是在 AWS 控制台的 Claude Platform on AWS → API keys 下生成的,且属于该组织下的有效工作区。如果密钥过期或被撤销,重新生成并更新 ANTHROPIC_AWS_API_KEY 环境变量。注意密钥以 x-api-key 头发送,优先级高于 SigV4,所以同时存在时不会走 AWS 凭证。
在企业代理环境中应该如何设置?
将 ANTHROPIC_AWS_BASE_URL 设置为代理地址,并确保代理能正确转发工作区和认证头。如果代理自己处理 SigV4 签名,设置 CLAUDE_CODE_SKIP_ANTHROPIC_AWS_AUTH=1 让 Claude Code 发送未签名请求。如果代理需要额外的 Token,设置 ANTHROPIC_AUTH_TOKEN。