6 6
7> 了解如何透過 Microsoft Foundry 配置 Claude Code,包括設定、配置和故障排除。7> 了解如何透過 Microsoft Foundry 配置 Claude Code,包括設定、配置和故障排除。
8 8
9export const ContactSalesCard = ({surface}) => {9**Deploying Claude Code across your organization?** Talk to sales about enterprise plans, SSO, and centralized billing.
10 const utm = content => `utm_source=claude_code&utm_medium=docs&utm_content=${surface}_${content}`;10
11 const iconArrowRight = (size = 13) => <svg width={size} height={size} viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2.5" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">11View plans
12 <line x1="5" y1="12" x2="19" y2="12" />12Contact sales
13 <polyline points="12 5 19 12 12 19" />13
14 </svg>;14## 先決條件
15 const STYLES = `
16.cc-cs {
17 --cs-slate: #141413;
18 --cs-clay: #d97757;
19 --cs-clay-deep: #c6613f;
20 --cs-gray-000: #ffffff;
21 --cs-gray-700: #3d3d3a;
22 --cs-border-default: rgba(31, 30, 29, 0.15);
23 font-family: inherit;
24}
25.dark .cc-cs {
26 --cs-slate: #f0eee6;
27 --cs-gray-000: #262624;
28 --cs-gray-700: #bfbdb4;
29 --cs-border-default: rgba(240, 238, 230, 0.14);
30}
31.cc-cs-card {
32 display: flex; align-items: center; justify-content: space-between;
33 gap: 16px; padding: 14px 16px; margin: 0;
34 background: var(--cs-gray-000); border: 0.5px solid var(--cs-border-default);
35 border-radius: 8px; flex-wrap: wrap;
36}
37.cc-cs-text { font-size: 13px; color: var(--cs-gray-700); line-height: 1.5; flex: 1; min-width: 240px; }
38.cc-cs-text strong { font-weight: 550; color: var(--cs-slate); }
39.cc-cs-actions { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
40.cc-cs-btn-clay {
41 display: inline-flex; align-items: center; gap: 8px;
42 background: var(--cs-clay-deep); color: #fff; border: none;
43 border-radius: 8px; padding: 8px 14px;
44 font-size: 13px; font-weight: 500;
45 transition: background-color 0.15s; white-space: nowrap;
46}
47.cc-cs-btn-clay:hover { background: var(--cs-clay); }
48.cc-cs-btn-ghost {
49 display: inline-flex; align-items: center; gap: 8px;
50 background: transparent; color: var(--cs-gray-700);
51 border: 0.5px solid var(--cs-border-default);
52 border-radius: 8px; padding: 8px 14px;
53 font-size: 13px; font-weight: 500;
54}
55.cc-cs-btn-ghost:hover { background: rgba(0, 0, 0, 0.04); }
56.dark .cc-cs-btn-ghost:hover { background: rgba(255, 255, 255, 0.04); }
57@media (max-width: 720px) {
58 .cc-cs-actions { width: 100%; }
59}
60`;
61 return <div className="cc-cs not-prose">
62 <style>{STYLES}</style>
63 <div className="cc-cs-card">
64 <div className="cc-cs-text">
65 <strong>Deploying Claude Code across your organization?</strong> Talk to sales about enterprise plans, SSO, and centralized billing.
66 </div>
67 <div className="cc-cs-actions">
68 <a href={`https://claude.com/pricing?${utm('view_plans')}#plans-business`} className="cc-cs-btn-ghost">
69 View plans
70 </a>
71 <a href={`https://claude.com/contact-sales?${utm('contact_sales')}`} className="cc-cs-btn-clay">
72 Contact sales {iconArrowRight()}
73 </a>
74 </div>
75 </div>
76 </div>;
77};
78
79<ContactSalesCard surface="foundry" />
80
81<h2 id="prerequisites">
82 先決條件
83</h2>
84 15
85在使用 Microsoft Foundry 配置 Claude Code 之前,請確保您具有:16在使用 Microsoft Foundry 配置 Claude Code 之前,請確保您具有:
86 17
88* 建立 Microsoft Foundry 資源和部署的 RBAC 權限19* 建立 Microsoft Foundry 資源和部署的 RBAC 權限
89* 已安裝並配置 Azure CLI(選用 - 僅在您沒有其他取得認證機制時才需要)20* 已安裝並配置 Azure CLI(選用 - 僅在您沒有其他取得認證機制時才需要)
90 21
91<Note>22> [!NOTE]
92 如果您要將 Claude Code 部署給多個使用者,請[固定您的模型版本](#4-pin-model-versions)以防止在 Anthropic 發佈新模型時發生中斷。23>
93</Note>24> 如果您要將 Claude Code 部署給多個使用者,請[固定您的模型版本](#4-pin-model-versions)以防止在 Anthropic 發佈新模型時發生中斷。
94 25
95<h2 id="setup">26## 設定
96 設定
97</h2>
98 27
99<h3 id="1-provision-microsoft-foundry-resource">28### 佈建 Microsoft Foundry 資源
100 1. 佈建 Microsoft Foundry 資源
101</h3>
102 29
103首先,在 Azure 中建立 Claude 資源:30首先,在 Azure 中建立 Claude 資源:
104 31
112 39
113 當您設定部署時,您也會選擇其[託管選項](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options),這決定推論是在 Azure 上執行還是在 Anthropic 基礎設施上執行。40 當您設定部署時,您也會選擇其[託管選項](https://platform.claude.com/docs/en/build-with-claude/claude-in-microsoft-foundry#hosting-options),這決定推論是在 Azure 上執行還是在 Anthropic 基礎設施上執行。
114 41
115<h3 id="2-configure-azure-credentials">42### 設定 Azure 憑證
116 2) 設定 Azure 憑證
117</h3>
118 43
119Claude Code 支援 Microsoft Foundry 的三種驗證方法。選擇最適合您安全性要求的方法:44Claude Code 支援 Microsoft Foundry 的三種驗證方法。選擇最適合您安全性要求的方法:
120 45
122* [Microsoft Entra ID](#use-microsoft-entra-id):Claude Code 透過 Azure SDK 預設憑證鏈取得 token,例如從 `az login` 工作階段取得,因此不需要儲存 API 金鑰47* [Microsoft Entra ID](#use-microsoft-entra-id):Claude Code 透過 Azure SDK 預設憑證鏈取得 token,例如從 `az login` 工作階段取得,因此不需要儲存 API 金鑰
123* [Bearer 權杖](#use-a-bearer-token):由另一個程序取得 Microsoft Entra ID 存取權杖,您再透過 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 傳入48* [Bearer 權杖](#use-a-bearer-token):由另一個程序取得 Microsoft Entra ID 存取權杖,您再透過 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 傳入
124 49
125<Note>50> [!NOTE]
126 使用 Microsoft Foundry 時,`/logout` 命令無法使用,因為身分驗證是透過 Azure 憑證處理的。51>
127</Note>52> 使用 Microsoft Foundry 時,`/logout` 命令無法使用,因為身分驗證是透過 Azure 憑證處理的。
128 53
129<h4 id="use-an-api-key">54#### 使用 API 金鑰
130 使用 API 金鑰
131</h4>
132 55
133從 Microsoft Foundry 入口網站複製金鑰,然後將其設定為環境變數:56從 Microsoft Foundry 入口網站複製金鑰,然後將其設定為環境變數:
134 57
141export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key64export ANTHROPIC_FOUNDRY_API_KEY=your-azure-api-key
142```65```
143 66
144<h4 id="use-microsoft-entra-id">67#### 使用 Microsoft Entra ID
145 使用 Microsoft Entra ID
146</h4>
147 68
148請勿設定 `ANTHROPIC_FOUNDRY_API_KEY` 和 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`。Claude Code 接著會使用 Azure SDK [預設憑證鏈](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview)。69請勿設定 `ANTHROPIC_FOUNDRY_API_KEY` 和 `ANTHROPIC_FOUNDRY_AUTH_TOKEN`。Claude Code 接著會使用 Azure SDK [預設憑證鏈](https://learn.microsoft.com/en-us/azure/developer/javascript/sdk/authentication/credential-chains#defaultazurecredential-overview)。
149這支援多種方法來驗證本機和遠端工作負載。70這支援多種方法來驗證本機和遠端工作負載。
156 77
157如需您的身分所需的角色,請參閱 [Azure RBAC 設定](#azure-rbac-configuration)。78如需您的身分所需的角色,請參閱 [Azure RBAC 設定](#azure-rbac-configuration)。
158 79
159<h4 id="use-a-bearer-token">80#### 使用 Bearer 權杖
160 使用 Bearer 權杖
161</h4>
162 81
163Claude Code 在每個請求上將 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 的值作為 `Authorization: Bearer` 標頭傳送。當另一個程序(例如主應用程式或登入指令碼)已為您取得存取權杖時,請使用此選項。82Claude Code 在每個請求上將 `ANTHROPIC_FOUNDRY_AUTH_TOKEN` 的值作為 `Authorization: Bearer` 標頭傳送。當另一個程序(例如主應用程式或登入指令碼)已為您取得存取權杖時,請使用此選項。
164 83
170 89
171`ANTHROPIC_FOUNDRY_AUTH_TOKEN` 優先於 `ANTHROPIC_FOUNDRY_API_KEY` 和預設憑證鏈。90`ANTHROPIC_FOUNDRY_AUTH_TOKEN` 優先於 `ANTHROPIC_FOUNDRY_API_KEY` 和預設憑證鏈。
172 91
173<h3 id="3-configure-claude-code">92### 設定 Claude Code
174 3. 設定 Claude Code
175</h3>
176 93
177設定下列環境變數以啟用 Microsoft Foundry:94設定下列環境變數以啟用 Microsoft Foundry:
178 95
188 105
189將 `ANTHROPIC_FOUNDRY_RESOURCE` 僅設定為資源名稱,例如 `my-resource`。在您傳送訊息時,Claude Code 會[拒絕 URL 或主機名稱](/docs/zh-TW/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name)。106將 `ANTHROPIC_FOUNDRY_RESOURCE` 僅設定為資源名稱,例如 `my-resource`。在您傳送訊息時,Claude Code 會[拒絕 URL 或主機名稱](/docs/zh-TW/errors#anthropic-foundry-resource-must-be-a-foundry-resource-name)。
190 107
191<h3 id="4-pin-model-versions">108### 固定模型版本
192 4. 固定模型版本
193</h3>
194 109
195<Warning>110> [!WARNING]
196 為每個部署固定特定的模型版本。如果不固定版本,模型別名(例如 `sonnet` 和 `opus`)會解析為 Claude Code 針對 Microsoft Foundry 的內建預設值,這可能會落後最新版本,且可能尚未在您的帳戶中提供。Microsoft Foundry 沒有啟動模型檢查,因此當預設值無法使用時,請求會失敗。建立 Azure 部署時,請選擇特定的模型版本,而不是「自動更新至最新版本」。111>
197</Warning>112> 為每個部署固定特定的模型版本。如果不固定版本,模型別名(例如 `sonnet` 和 `opus`)會解析為 Claude Code 針對 Microsoft Foundry 的內建預設值,這可能會落後最新版本,且可能尚未在您的帳戶中提供。Microsoft Foundry 沒有啟動模型檢查,因此當預設值無法使用時,請求會失敗。建立 Azure 部署時,請選擇特定的模型版本,而不是「自動更新至最新版本」。
198 113
199設定模型變數以符合您在步驟 1 中建立的部署名稱。114設定模型變數以符合您在步驟 1 中建立的部署名稱。
200 115
218 133
219若要為您的主要對話和 Claude Code 在其外部進行的請求設定不同的 TTL,請[自行選擇 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)。134若要為您的主要對話和 Claude Code 在其外部進行的請求設定不同的 TTL,請[自行選擇 TTL](/docs/zh-TW/prompt-caching#choose-the-ttl-yourself)。
220 135
221<h3 id="5-run-claude-code">136### 執行 Claude Code
222 5. 執行 Claude Code
223</h3>
224 137
225設定環境變數後,從您的專案目錄啟動 Claude Code:138設定環境變數後,從您的專案目錄啟動 Claude Code:
226 139
232 145
233若要驗證您的設定,請在 Claude Code 中執行 `/status`。API 提供者行會顯示 `Microsoft Foundry`,以及您設定的資源名稱或基礎 URL。146若要驗證您的設定,請在 Claude Code 中執行 `/status`。API 提供者行會顯示 `Microsoft Foundry`,以及您設定的資源名稱或基礎 URL。
234 147
235<h2 id="azure-rbac-configuration">148## Azure RBAC 配置
236 Azure RBAC 配置
237</h2>
238 149
239`Azure AI User` 和 `Cognitive Services User` 預設角色包含叫用 Claude 模型所需的所有權限。150`Azure AI User` 和 `Cognitive Services User` 預設角色包含叫用 Claude 模型所需的所有權限。
240 151
254 165
255如需詳細資訊,請參閱 [Microsoft Foundry RBAC 文件](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry)。166如需詳細資訊,請參閱 [Microsoft Foundry RBAC 文件](https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/rbac-azure-ai-foundry)。
256 167
257<h2 id="1m-token-context-window">168## 1M token 上下文視窗
258 1M token 上下文視窗
259</h2>
260 169
261在 Microsoft Foundry 上,當 Claude Code 能夠判斷您的部署所提供的模型時,Fable 模型、Sonnet 5 及更新版本,以及 Opus 4.7 及更新版本預設會以 [1M token 上下文視窗](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)執行,無需加上 `[1m]` 後綴。Claude Code 會從模型變數中的部署名稱讀取模型。請以模型 ID 為每個部署命名,例如 `claude-opus-4-8`,或使用 [`modelOverrides`](/docs/zh-TW/model-config#override-model-ids-per-version) 將模型對應到您的部署名稱。對於無法對應到任何模型的部署名稱,Claude Code 會假設為 200K 視窗,除非您[宣告不同的視窗大小](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。170在 Microsoft Foundry 上,當 Claude Code 能夠判斷您的部署所提供的模型時,Fable 模型、Sonnet 5 及更新版本,以及 Opus 4.7 及更新版本預設會以 [1M token 上下文視窗](https://platform.claude.com/docs/en/build-with-claude/context-windows#context-window-sizes-by-model)執行,無需加上 `[1m]` 後綴。Claude Code 會從模型變數中的部署名稱讀取模型。請以模型 ID 為每個部署命名,例如 `claude-opus-4-8`,或使用 [`modelOverrides`](/docs/zh-TW/model-config#override-model-ids-per-version) 將模型對應到您的部署名稱。對於無法對應到任何模型的部署名稱,Claude Code 會假設為 200K 視窗,除非您[宣告不同的視窗大小](/docs/zh-TW/model-config#correct-the-window-for-a-gateway-or-custom-model-id)。
262 171
274 183
275當您在 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 中的部署名稱後方加上 `[1m]` 時,Opus 4.6 與 Sonnet 4.6 即可使用 1M 視窗,詳見[為第三方部署固定模型](/docs/zh-TW/model-config#pin-models-for-third-party-deployments)的說明。在 v2.1.287 之前,Fable 模型以及 Opus 4.7 及更新版本在 Microsoft Foundry 上同樣需要該後綴,若未加上則預設以 200K 視窗執行。184當您在 `ANTHROPIC_DEFAULT_OPUS_MODEL` 或 `ANTHROPIC_DEFAULT_SONNET_MODEL` 中的部署名稱後方加上 `[1m]` 時,Opus 4.6 與 Sonnet 4.6 即可使用 1M 視窗,詳見[為第三方部署固定模型](/docs/zh-TW/model-config#pin-models-for-third-party-deployments)的說明。在 v2.1.287 之前,Fable 模型以及 Opus 4.7 及更新版本在 Microsoft Foundry 上同樣需要該後綴,若未加上則預設以 200K 視窗執行。
276 185
277<h2 id="troubleshooting">186## 故障排除
278 故障排除
279</h2>
280 187
281如果您收到錯誤「Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed」:188如果您收到錯誤「Failed to get token from azureADTokenProvider: ChainedTokenCredential authentication failed」:
282 189
286 193
287* 檢查 `ANTHROPIC_FOUNDRY_RESOURCE` 是否設定為您的實際資源名稱,而不是預留位置。Claude Code 從此值建立端點 URL,因此不正確的名稱會指向不存在的主機。194* 檢查 `ANTHROPIC_FOUNDRY_RESOURCE` 是否設定為您的實際資源名稱,而不是預留位置。Claude Code 從此值建立端點 URL,因此不正確的名稱會指向不存在的主機。
288 195
289<h2 id="additional-resources">196## 其他資源
290 其他資源
291</h2>
292 197
293* [Microsoft Foundry 文件](https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-azure-ai-foundry)198* [Microsoft Foundry 文件](https://learn.microsoft.com/en-us/azure/ai-foundry/what-is-azure-ai-foundry)
294* [Microsoft Foundry 模型](https://ai.azure.com/explore/models)199* [Microsoft Foundry 模型](https://ai.azure.com/explore/models)