Skip to content

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。

官方出处:https://code.claude.com/docs/en/microsoft-foundry