為 Microsoft Foundry 專案配置受管理虛擬網路

本文說明如何為您的 Foundry 資源設置受管理的虛擬網路。 受管理的虛擬網路透過配置由 Microsoft 管理的虛擬網路,簡化並自動化網路隔離,保護 Foundry 專案中運算基礎的代理服務。

啟用後,這個受管理的網路邊界會保護代理的出站網路流量,而你選擇的隔離模式則會管理所有流量。 你可以建立所需的私有端點給相依的 Azure 服務,並套用必要的網路規則。

你可以獲得安全的預設值,且不需要自己建置或維護虛擬網路。 這種受管理網路限制代理人員可存取的範圍,幫助防止資料外洩,同時仍能連接核准的 Azure 資源。

受控虛擬網路現在可透過新的 Responses API 和新的 Foundry 入口網站支援提示詞和託管 Agent 服務。 目前支援的新代理服務與新 Foundry 入口網站的管理虛擬網路區域如下: 美國東部、美國東部 2、日本東部、法國中部、阿聯酋北部、巴西南部、西班牙中部、德國中西部、義大利北部、美國南中部、澳洲東部、瑞典中部、加拿大東部、南非北部、西部美國、西部美國 3, 南印度和英國南部。

在繼續之前,請考慮該課程的 限制 並檢視先決條件。

了解隔離模式

啟用受管虛擬網路隔離後,你會為 Foundry 帳號建立一個受管理的虛擬網路,該網路是在 Microsoft 租戶中建立的。 你在專案中建立的任何新代理都會自動使用受管理的虛擬網路來處理外出流量。 受管理的虛擬網路可以使用私有端點來管理您的代理程式使用的 Azure 資源,例如 Azure 儲存體、Azure Cosmos DB 和 Azure AI 搜尋服務。

受管理虛擬網路配置示意圖。

註

本文中的圖表僅代表邏輯連通性。 Foundry 管理的虛擬網路中的託管私有端點不會建立客戶可見的網路介面(NIC)。 與標準的 VNet 私有端點會在子網建立帶有私有 IP 的網卡不同,受管理的私有端點由 Microsoft 完全管理,並從客戶的虛擬網路資源中抽象出來。 你在訂閱中看不到這些端點或相關的網卡。

來自受管理虛擬網路的出站流量有三種配置模式:

出站模式 描述 劇本
允許網際網路輸出 允許所有出站流量存取網際網路。 不受限制的外撥存取是可接受的;需要廣泛的連結性。
僅允許已核准的傳出 透過服務標籤、私有端點及可選的 FQDN 規則(埠 80、443)透過 Azure 防火牆 強制執行,限制出站流量。 降低資料外洩風險;需要精選的目的地清單。
失能 除非使用自訂虛擬網路,否則不會啟用受管虛擬網路隔離。 需要公共出站網路還是計劃提供自己的虛擬網路。

以下架構圖顯示了在allow internet outbound模式下的受管理網路。

允許網際網路外撥模式中管理虛擬網路配置的示意圖。

以下架構圖顯示了在allow only approved outbound模式下的受管理網路。

顯示在僅允許已核准傳出模式下之受控虛擬網路組態的圖表。

當你設定一個受管理的虛擬網路 Foundry 允許網際網路外接後,你就無法再把資源重新設定為停用。 同樣地,當你設定一個受管理的虛擬網路資源僅允許核准的向外連線後,你將無法重新設定該資源以允許網際網路向外連線。

先決條件

在遵循本文步驟之前,請確保你具備以下先決條件:

  • 一個 Azure 訂閱。 如果你沒有 Azure 訂閱,請在開始前先建立一個免費帳號。

  • Azure CLI 版本 2.86.0 或更後版本。 需要建立來自受管網路的出站規則。

    註

    az cognitiveservices account managed-network指令群組目前還在預覽階段,可能會有變動。

  • Microsoft.Network、Microsoft.KeyVault、Microsoft.CognitiveServices、Microsoft.Storage、Microsoft.Search 以及 Microsoft.ContainerService 資源提供者都已註冊訂閱您的Azure訂閱。 欲了解更多資訊,請參閱 註冊資源提供者。

  • 部署受管理網路資源的權限。 建立 Foundry 帳號與專案需要在 Foundry 資源範圍內設定 Foundry Account Owner。 Owner 或 Role Based Access Administrator 是用來將 RBAC 分配到所需資源。 專案範圍上的 Foundry User 是建立及建置 Agent 的必要條件。

    重要

    Foundry RBAC 角色最近已重新命名。 Foundry 用戶、Foundry 擁有者、Foundry Account Owner 以及 Foundry Project Manager 先前分別被稱為 Azure AI 使用者、Azure AI 擁有者、Azure AI 帳戶擁有者及 Azure AI Project 管理者。 在更名期間,你可能還會在某些地方看到之前的名字。角色 ID 與核心權限不會因命名而改變。

  • 目標 Azure 區域內所有資源的配額足夠。 如果你沒有傳遞任何參數,這個範本會建立一個 Foundry 資源、Foundry 專案、Azure Cosmos DB for NoSQL、Azure AI 搜尋服務 以及 Azure 儲存體 帳號。

限制

在為您的 Foundry 資源啟用託管網路隔離前,請考慮以下限制事項。

  1. 你可以用三種方式部署受管理網路 Foundry 資源:
  2. foundry-samples 中 18-managed-virtual-network 資料夾內的 Bicep 範本
  3. Terraform 範本位於 foundry-samples 的 18-managed-virtual-network 資料夾中
  4. az rest 和 Azure CLI 指令 az cognitiveservices。 關於 Azure CLI 支援的更多內容,請參考以下文章。
  5. Azure 入口網站的介面目前不支援建立受管理網路。 改用 Azure CLI,az rest或是 Bicep 或 Terraform 範本。
  6. 建立 Foundry 資源後,將 Foundry 資源的管理身份指定為內建角色 Azure AI Enterprise Network Connection Approver (role ID: b556d68e-0be0-4f35-a333-ad7ee1ce17ea),以確保建立並核准所需的私有端點。
  7. 啟用後你無法關閉受管虛擬網路隔離。 從自訂虛擬網路設定升級到受管理虛擬網路,並沒有路徑。 需要 Foundry 資源重新部署。 刪除你的 Foundry 資源會刪除受管理的虛擬網路。
  8. 在所有支援 Foundry 代理服務並附有自訂虛擬網路的區域,都支援受管理虛擬網路。 請參閱鑄造廠代理服務文件。
  9. 如果你需要對 Foundry 資源的本地資源有私人存取權,請使用 Application Gateway 來設定本地存取權限。 支援同樣的設定,包含私有端點到應用程式閘道,並設置後端集區。 現在 GA 的應用閘道支援 L4 與 L7 流量。
  10. 如果你在受管理的虛擬網路處於 僅允許核准的出站 模式下建立 FQDN 出站規則,就會產生一個受管理的 Azure 防火牆,並伴隨相關的防火牆費用。 欲了解更多價格資訊,請參見定價。 FQDN 的外撥規則只支援埠 80 和 443。
  11. 你無法將自己的 Azure 防火牆 帶到受管理的虛擬網路。 當你使用 「只允許核准的外站 」模式時,你的 Foundry 帳號會自動建立一個受管理防火牆。
  12. 你不能重複使用同一個管理防火牆給多個 Foundry 帳號。 每個 Foundry 帳號在使用「 只允許核准的外站 」模式時,都會建立自己的受管理防火牆。
  13. 如果你在 Foundry 資源中建立啟用管理虛擬網路的新專案,請確認新專案是否解決了你預期的能力設定。 專案會繼承帳戶的設定值,除非你覆寫個別商店的設定。 更多關於管理網路設定的說明,請參閱 foundry-samples 資料庫 中的 README。

部署受管理虛擬網路隔離模式

要開始部署受管理的虛擬網路 Foundry 資源,請依照以下章節的步驟操作。

建立帶有網路注入的 AI 服務帳號

在建立帳號時,請設定 customSubDomainName、allowProjectManagement 和 networkInjections。 你在建立帳號後就不能新增這些屬性。

重要

使用 az rest 指令建立帶有網路注入的帳號。 Azure CLI 目前還不支援建立帶有網路注入的 Foundry 資源。

az rest --method PUT \
  --url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.CognitiveServices/accounts/{account-name}?api-version=2026-05-01" \
  --body '{
    "location": "{region}",
    "kind": "AIServices",
    "sku": { "name": "S0" },
    "identity": { "type": "SystemAssigned" },
    "properties": {
      "allowProjectManagement": true,
      "customSubDomainName": "{account-name}",
      "networkInjections": [
        {
          "scenario": "agent",
          "subnetArmId": "",
          "useMicrosoftManagedNetwork": true
        }
      ],
      "disableLocalAuth": false
    }
  }' \
  --headers "Content-Type=application/json"

請等 provisioningState 到達 Succeeded 後再繼續:

az rest --method GET \
  --url "https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.CognitiveServices/accounts/{account-name}?api-version=2026-05-01" \
  --query "properties.provisioningState" -o tsv

取得受控識別主體識別碼

從帳號中取得系統指派的管理的身份主體識別碼:

az cognitiveservices account show \
  --resource-group {resource-group} \
  --name {account-name} \
  --query identity.principalId -o tsv

指派網路連線審核者角色

將 Azure AI 企業網路連線審核員 角色(角色 ID:b556d68e-0be0-4f35-a333-ad7ee1ce17ea)指派到 Foundry 帳戶的管理身份。 此職務會自動核准受管網路私有端點。

az role assignment create \
  --assignee-object-id {principal-id} \
  --assignee-principal-type ServicePrincipal \
  --role "b556d68e-0be0-4f35-a333-ad7ee1ce17ea" \
  --scope /subscriptions/{subscription-id}/resourceGroups/{resource-group}

註

如果你的目標資源(Storage、Cosmos DB、AI Search)屬於不同的資源群組,請將角色分配範圍調整到該資源群組或訂閱。

建立受管理網路

在帳號上建立受管理網路子資源。 此資源建立網路隔離模式並配置網路基礎設施。

要建立帶有 允許網際網路流出的管理網路:

az cognitiveservices account managed-network create \
  --resource-group {resource-group} \
  --name {account-name} \
  --managed-network allow_internet_outbound

若要建立具有僅允許已核准的傳出的受控網路:

az cognitiveservices account managed-network create \
  --resource-group {resource-group} \
  --name {account-name} \
  --managed-network allow_only_approved_outbound \
  --firewall-sku Standard

關於管理虛擬網路部署所需參數的更多細節,請參見 Microsoft。Cognitive Services/accounts/managedNetworks。

驗證受管理的虛擬網路部署

部署完成後,請確認受管理的虛擬網路設定正確。

  1. 確認 Foundry 資源存在且管理網路已啟用:

    az cognitiveservices account managed-network show \
      --resource-group {resource-group} \
      --name {account-name}
    

    回應會顯示 isolationMode 已設為你選擇的模式(AllowInternetOutbound 或 AllowOnlyApprovedOutbound)。

  2. 列出所有外撥規則及其狀態:

    az cognitiveservices account managed-network outbound-rule list \
      --resource-group {resource-group} \
      --name {account-name}
    
  3. 顯示特定的輸出規則:

    az cognitiveservices account managed-network outbound-rule show \
      --resource-group {resource-group} \
      --name {account-name} \
      --rule {rule-name}
    
  4. 透過在你的 Foundry 專案中建立並執行一個基本代理來測試代理連線。 如果代理程式成功完成,表示受管理網路運作正常。

管理外撥規則

部署後,你可以新增、更新、列出並移除出站規則,以控制你的受管理網路可到達的目的地。 支援的外發規則類型如下:

類型 描述 目的地範例
fqdn 允許傳出流量前往完整網域名稱。 "*.openai.azure.com"
privateendpoint 允許傳出流量通過私人端點規則。 帶有子資源目標的服務資源識別碼
servicetag 允許傳出流量前往 Azure 服務標籤、通訊協定和連接埠範圍。 '{"serviceTag":"Storage","protocol":"TCP","portRanges":"443"}'

建立或更新 FQDN 出站規則

使用 FQDN 規則允許流量進入特定網域名稱或萬用字元網域。

az cognitiveservices account managed-network outbound-rule set \
  --resource-group {resource-group} \
  --name {account-name} \
  --rule {rule-name} \
  --type fqdn \
  --destination "*.openai.azure.com"

建立或更新服務標籤傳出規則

使用服務標籤規則允許流量透過特定協定和埠範圍傳送到 Azure 服務標籤。

az cognitiveservices account managed-network outbound-rule set \
  --resource-group {resource-group} \
  --name {account-name} \
  --rule {rule-name} \
  --type servicetag \
  --category UserDefined \
  --destination '{"serviceTag":"Storage","protocol":"TCP","portRanges":"443"}'

建立或更新私有端點外發規則

使用私有端點規則允許透過私有端點的流量到 Azure 資源。

az cognitiveservices account managed-network outbound-rule set \
  --resource-group {resource-group} \
  --name {account-name} \
  --rule {rule-name} \
  --type privateendpoint \
  --destination "/subscriptions/{subscription-id}/resourceGroups/{resource-group}/providers/Microsoft.Storage/storageAccounts/{storage-name}" \
  --subresource-target blob

常見的子資源目標包括Azure 儲存體blob、Azure AI 搜尋服務 searchService、Azure Cosmos DB Sql,以及Azure Key Vault vault。

列出出站規則

az cognitiveservices account managed-network outbound-rule list \
  --resource-group {resource-group} \
  --name {account-name}

顯示出站規則

az cognitiveservices account managed-network outbound-rule show \
  --resource-group {resource-group} \
  --name {account-name} \
  --rule {rule-name}

批次建立或更新匯出規則

使用 bulk-set 從 YAML 或 JSON 檔案建立或更新多個出站規則。

az cognitiveservices account managed-network outbound-rule bulk-set \
  --resource-group {resource-group} \
  --name {account-name} \
  --file rules.yaml

移除傳出規則

az cognitiveservices account managed-network outbound-rule remove \
  --resource-group {resource-group} \
  --name {account-name} \
  --rule {rule-name}

關於受管理虛擬網路外撥規則所需參數的更多細節,請參見 Microsoft。CognitiveServices/accounts/managedNetworks/outboundRules。

選擇 Azure 防火牆 版本

對於受管理的虛擬網路,當你在 Allow only approved outbound 模式新增外站 FQDN 規則時,Azure 防火牆會自動被配置。

防火牆的預設 SKU 是標準。 如果不需要進階功能,也可以選擇 Basic SKU,這樣可以降低成本。 欲了解更多價格資訊,請參見定價。 一旦你在部署時選擇了防火牆的 SKU,部署後就無法更改它。 因為這是管理型防火牆,防火牆不在你的租戶或你控制範圍內。 你唯一能控制的設定是防火牆的 SKU。

私有端點

啟用受管虛擬網路後,你可以建立受管理的私有端點,讓代理人員能安全存取所需的 Azure 資源,而不必使用公共網際網路。 這些私有端點提供一種隔離的、基於私有 IP 的連線方式,從管理網路接入諸如儲存、AI 搜尋和其他在您的 Foundry 專案中使用的依賴性服務。 與客戶管理的虛擬網路不同,Foundry 中的託管私有端點不會向客戶暴露網路介面或子網路設定。 Microsoft 會完全管理以私人 IP 為基礎的連線,且不會在客戶的訂用帳戶中將其顯示為網路介面卡。

以下資源支援來自受管理網路的私有端點。 你必須使用 CLI 來建立私有端點。

  • Microsoft Foundry(人工智慧服務)
  • Azure 應用程式閘道(透過 L4 或 L7 流量連接你的本地資源)
  • Azure API 管理(僅支援不含 VNet 注入的 Classic 層級,以及具備虛擬網路整合的標準 V2 層)
  • Azure AI 搜尋服務
  • Azure Container Registry
  • Azure Cosmos DB
  • Azure Data Factory
  • 適用於 MariaDB 的 Azure 資料庫
  • 適用於 MySQL 的 Azure 資料庫
  • 適用於 PostgreSQL 的 Azure 資料庫單一伺服器
  • 適用於 PostgreSQL 的 Azure 資料庫彈性伺服器
  • Azure Databricks
  • Azure 事件中樞
  • Azure Key Vault
  • Azure Machine Learning
  • Azure Cache for Redis
  • Azure SQL Server
  • Azure 儲存體
  • Azure 應用程式 Insights (透過 Azure 監視器 Private Link Scope)

當你從 Foundry 管理的虛擬網路建立受管理的私有端點到客戶擁有的目標資源時,該 Foundry 資源的管理身份 必須在該目標資源上擁有正確的權限,才能建立並核准私有端點連線。 此要求確保 Foundry 明確授權建立安全且私密的資源連結。

為了簡化此要求,將 Azure AI Enterprise Network Connection Approver 角色(角色 ID:b556d68e-0be0-4f35-a333-ad7ee1ce17ea)分配給 Foundry 帳戶的管理身份。 此職務包含大多數常用 Azure 服務的必要權限,通常也提供足夠的權限讓 Foundry 能代表您建立及核准私人端點。 一旦你核准連線,Foundry 就能完全管理私有端點,且不需要額外的客戶設定。

註

對於 Azure SQL 輸出規則,請將 Azure AI Enterprise Network Connection Approver角色指派給目標 Azure SQL 伺服器上 Foundry 帳戶的受控識別,並保持指派狀態。 同時,在目標 SQL 資源群組的範圍內,將 讀取 器角色指派給同一身份。 請稍候片刻,待角色指派變更生效後,再重試建立出站規則。

若為 Azure Container Registry 設定輸出規則,也請將 Reader 角色指派給 Foundry 帳戶的受控識別。

必要的傳出規則

在受管理虛擬網路的 「僅允許核准外站 」模式下,系統會為像代理服務這類功能建立一些必要的外站規則。 這些規則包括以下目的地:

  • 連至 Cosmos DB 資源的私人端點
  • 連至儲存體帳戶的私人端點
  • 你的 AI 搜尋資源的私有端點
  • 服務標籤到 Azure Active Directory

每種情境的出站規則

如果你部署 Foundry 並以 「只允許核准的出站 」模式管理虛擬網路,可能需要新增以下出站 FQDN 規則,以確保允許出口流量。 以下清單顯示可用來建立出站規則的受信任完整網域名稱(FQDN)和服務標籤,具體取決於 Foundry 中的情境或功能。

劇本 FQDN,服務標籤 描述
代理人 *.identity.azure.net、 login.microsoftonline.com、 *.login.microsoftonline.com、 *.login.microsoft.com或 mcr.microsoft.com AAD 服務標籤 必須為 Azure 容器應用程式的 Agent 服務提供委派權限。 包含 Microsoft 容器登錄庫,用於容器映像拉取。
使用 Application Insights 資源進行評估與追蹤 settings.sdk.monitor.azure.com、*.livediagnostics.monitor.azure.com、*.in.applicationinsights.azure.com、Azure Machine Learning 服務標籤 用於將結果傳送至連結的 Application Insights 資源及評估者目錄。
微調 raw.githubusercontent.com 用於微調,當使用者在 Foundry 入口網站選擇精選的樣本資料集時。

定價

Foundry 管理的虛擬網路功能是免費的。 不過,你需對受管理虛擬網路使用的以下資源收費:

  • Azure Private Link - 此解決方案依賴 Azure Private Link 來保護私有端點,以保護受管理虛擬網路與 Azure 資源之間的通訊。 欲了解更多價格資訊,請參閱Azure Private Link價格。

  • FQDN 出站規則 - 你透過使用 Azure 防火牆 實作 FQDN 出站規則。 如果你使用外撥 FQDN 規則,帳單中會新增 Azure 防火牆 的費用。 預設使用標準版的 Azure 防火牆。 你可以選擇基本版。 在您新增輸出 FQDN 規則之前,不會建立防火牆。

欲了解更多Azure定價資訊,請參閱Private Link 價格 及 Azure 防火牆價格。

比較託管網路與自訂網路(BYO)

根據您的網路需求與企業限制,選擇最適合您的外撥網路隔離模式。

層面 管理網路 自訂 (BYO) 網路
優點 Microsoft 負責子網路範圍、IP 選擇、委派。 完全控制:帶自訂防火牆、設定用戶自訂路由、網路對等、委派子網。
限制 無法使用自備的防火牆來僅允許已核准的對外輸出流量。 需要應用程式閘道以提供安全的本地環境(由應用閘道支援 L7 與 L4 流量)。 現在尚未支援外撥流量的記錄功能。 更複雜的設置,例如將子網委派至 Azure 容器應用程式。 需要正確建立 CapHost。 注入需要特定的 IP 類別範圍。 代理人委派需要最低的 /27 子網。

關於代理虛擬網路注入設定及其限制,請參見 「為代理設定自訂虛擬網路」。

清理資源

若要清理您的受管理虛擬網路 Foundry 資源,請刪除 Foundry 資源。 此動作也會刪除受管理的虛擬網路。

故障排除

  1. 建立 CapHost 失敗
    • 刪除有問題的 CapHost 資源,並重新部署範本。
  2. FQDN 規則未被執行
    • 確認防火牆的 SKU 已配置好,並確認埠口限制在 80 或 443 個。
  3. 私有端點衝突
    • 移除所有服務端點設定,只使用私有端點。