主题
Claude Code on Microsoft Foundry
通过 Microsoft Foundry 在 Azure 上运行 Claude Code,支持 API Key 与 Entra ID 鉴权。
是什么
Microsoft Foundry 是 Claude Code 的第三方部署方式之一:让你在自有 Azure 订阅中创建 Claude 资源与模型部署(Opus / Sonnet / Haiku),由 Claude Code 直连该 Azure 资源调用模型,而非走 Anthropic 直连 API。
配置完全通过环境变量完成,没有交互式向导(不同于 Bedrock 和 Vertex AI)。鉴权可用 Azure API Key,也可用 Microsoft Entra ID(Azure SDK 默认凭据链)。
怎么工作
- 在 Microsoft Foundry portal (ai.azure.com) 创建 Claude 资源并记下 resource 名称,再为 Claude Opus / Sonnet / Haiku 分别创建部署。
- 选择鉴权方式:Option A 设置 ANTHROPIC_FOUNDRY_API_KEY;Option B 不设该变量时自动走 Azure SDK 默认凭据链(本地常用 az login)。
- 设置 CLAUDE_CODE_USE_FOUNDRY=1 启用集成,并提供 ANTHROPIC_FOUNDRY_RESOURCE(或完整的 ANTHROPIC_FOUNDRY_BASE_URL)。
- 为每个部署 pin 具体模型版本,并用 ANTHROPIC_DEFAULT_OPUS/SONNET/HAIKU_MODEL 对齐你创建的部署名。
- 在项目目录运行 claude,Claude Code 在首次 prompt 时读取这些环境变量并连接 Azure 资源。
怎么配置 / 用法
bash
# 鉴权 Option A:API Key
export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key
# 鉴权 Option B:Entra ID(不设 API Key 时自动启用,本地常用)
az login
# 启用 Foundry 集成
export CLAUDE_CODE_USE_FOUNDRY=1
# Azure 资源名(把 {resource} 换成你的资源名)
export ANTHROPIC_FOUNDRY_RESOURCE={resource}
# 或提供完整 base URL:
# export ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic
# Pin 模型版本(对齐部署名;不设 OPUS 变量时 opus 别名解析为 Opus 4.6)
export ANTHROPIC_DEFAULT_OPUS_MODEL='claude-opus-4-8'
export ANTHROPIC_DEFAULT_SONNET_MODEL='claude-sonnet-4-6'
export ANTHROPIC_DEFAULT_HAIKU_MODEL='claude-haiku-4-5'
# 可选:请求 1 小时 prompt cache TTL(按更高费率计费)
export ENABLE_PROMPT_CACHING_1H=1
claude什么时候用
- 你的组织已在 Azure 上、需要通过 Microsoft Foundry 而非 Anthropic 直连 API 使用 Claude Code。
- 需要用 Azure 的鉴权与权限体系(API Key 或 Microsoft Entra ID / RBAC)统一管控模型访问。
- 向多用户分发 Claude Code,需要 pin 模型版本以避免新模型发布时破坏现有用户。
限制 / 坑
- 使用 Microsoft Foundry 时 /logout 命令不可用,因为鉴权由 Azure 凭据处理。
- Foundry 没有交互式 setup 向导(不同于 Bedrock 和 Vertex AI),环境变量是唯一配置路径。
- 若用模型别名(sonnet/opus/haiku)而不 pin 版本,Claude Code 可能尝试使用你 Foundry 账户中不存在的新版本,导致中断。
- 后台任务(如生成会话标题)默认使用主模型而非 Haiku;需手动设置 ANTHROPIC_DEFAULT_HAIKU_MODEL 才会用 Haiku。
硬事实速查(11 条)
- 启用变量为 CLAUDE_CODE_USE_FOUNDRY=1。
- 资源定位用 ANTHROPIC_FOUNDRY_RESOURCE,或完整 ANTHROPIC_FOUNDRY_BASE_URL=https://{resource}.services.ai.azure.com/anthropic。
- API Key 鉴权用 ANTHROPIC_FOUNDRY_API_KEY;未设置时自动走 Azure SDK DefaultAzureCredential 凭据链。
- 不设 ANTHROPIC_DEFAULT_OPUS_MODEL 时,Foundry 上 opus 别名解析为 Opus 4.6;设为 claude-opus-4-8 可用最新模型。
- 文档给出的示例模型 ID:claude-opus-4-8、claude-sonnet-4-6、claude-haiku-4-5。
- Prompt caching 默认自动启用(5 分钟 TTL);ENABLE_PROMPT_CACHING_1H=1 可改为 1 小时 TTL,但写入按更高费率计费。
- Azure AI User 与 Cognitive Services User 默认角色已包含调用 Claude 模型所需的全部权限。
- 更严格的自定义角色 dataAction 为 Microsoft.CognitiveServices/accounts/providers/*。
- 需在 portal 为 Claude Opus、Claude Sonnet、Claude Haiku 分别创建部署。
- 前置条件:有访问 Microsoft Foundry 的 Azure 订阅、创建 Foundry 资源与部署的 RBAC 权限,Azure CLI 可选。
- 常见报错 Failed to get token from azureADTokenProvider 的处理:配置 Entra ID 或设置 ANTHROPIC_FOUNDRY_API_KEY。