設定 Azure AI 服務虛擬網路
Azure AI 服務提供多層式安全性模型。 此模型可讓您將 Azure AI 服務帳戶固定在特定的網路子集。 設定網路規則時,只有透過一組指定網路要求資料的應用程式才能存取帳戶。 您可以使用要求篩選來限制資源的存取,只有源自所指定 IP 位址、IP 範圍或來自 Azure 虛擬網路中子網路清單的要求。
在網路規則生效時存取 Azure AI 服務資源的應用程式需要授權。 系統支援透過 Microsoft Entra ID (部分機器翻譯) 認證或有效的 API 金鑰來進行授權。
重要
為您的 Azure AI 服務帳戶開啟防火牆規則時,預設會封鎖資料的傳入要求。 為了允許要求通過,必須符合下列其中一個條件:
- 要求源自 Azure 虛擬網路內操作的服務,而此虛擬網路是在目標 Azure AI 服務帳戶允許的子網路清單上。 要求中源自虛擬網路的端點必須設定為 Azure AI 服務帳戶的自訂子網域。
- 要求源自允許的 IP 位址清單。
封鎖的要求包括來自其他 Azure 服務、Azure 入口網站及記錄與計量服務。
注意
建議您使用 Azure Az PowerShell 模組來與 Azure 互動。 若要開始使用,請參閱安裝 Azure PowerShell (部分機器翻譯)。 若要了解如何移轉至 Az PowerShell 模組,請參閱將 Azure PowerShell 從 AzureRM 移轉至 Az。
案例
若要保護您的 Azure AI 服務帳戶,您應該先設定規則,預設為拒絕存取來自所有網路的流量 (包括網際網路流量)。 然後,設定規則,以授與特定虛擬網路中流量的存取權。 此設定可讓您為應用程式設定安全的網路界限。 您也可以設定規則,授與存取所選取公用網際網路 IP 位址範圍中流量的權限,這會啟用來自特定網際網路或內部部署用戶端的連線。
Azure AI 服務的所有網路通訊協定上都會強制執行網路規則,包括 REST 和 SMB。 若要使用 Azure 測試主控台之類的工具來存取資料,必須設定明確的網路規則。 您可以將網路規則套用至現有的 Azure AI 服務資源,或在建立新的 Azure AI 服務資源時套用這些規則。 套用網路規則後,就會對所有要求執行。
支援的區域和服務供應項目
提供 Azure AI 服務的區域支援虛擬網路。 Azure AI 服務支援網路規則組態的服務標籤。 此處列出的服務包含在 CognitiveServicesManagement
服務標籤中。
- 異常偵測器
- Azure OpenAI
- 內容仲裁者
- 自訂視覺
- 臉部
- Language Understanding (LUIS)
- 個人化服務工具
- 語音服務
- 語言
- QnA Maker
- Translator
注意
如果您使用 Azure OpenAI、LUIS 或語音服務,或語言服務,CognitiveServicesManagement
標記只讓您可以使用 SDK 或 REST API 來使用服務。 若要從虛擬網路存取及使用 Azure AI Foundry 入口網站、LUIS 入口網站、Speech Studio 或 Language Studio,您必須使用下列卷標:
AzureActiveDirectory
AzureFrontDoor.Frontend
AzureResourceManager
CognitiveServicesManagement
CognitiveServicesFrontEnd
Storage
(僅限 Speech Studio)
如需 Azure AI Foundry 入口網站設定的詳細資訊,請參閱 Azure AI Foundry 檔。
變更預設的網路存取規則
根據預設,Azure AI 服務資源會接受來自任何網路上用戶端的連線。 若要限制對所選網路的存取權,您必須先變更預設動作。
警告
變更網路規則會影響應用程式連接到 Azure AI 服務的能力。 將預設的網路規則設定為拒絕以封鎖所有的資料存取,除非也套用了授與存取權的特定網路規則。
變更預設規則以拒絕存取前,請務必先將存取權授與任何使用網路規則的允許網路。 如果您允許列出內部部署網路的 IP 位址,請務必從您的內部部署網路新增所有可能的傳出公用 IP 位址。
管理預設網路存取規則
您可以透過 Azure 入口網站、PowerShell 或 Azure CLI 來管理 Azure AI 服務資源的預設網路存取規則。
授與虛擬網路存取權
您可以將 Azure AI 服務資源設定為僅允許來自特定子網路的存取。 允許的子網路可能屬於相同訂用帳戶或不同訂用帳戶中的虛擬網絡。 另一個訂用帳戶可以屬於不同的 Microsoft Entra 租用戶。 當子網路屬於不同的訂用帳戶時,則也必須為該訂用帳戶註冊 Microsoft.CognitiveServices 資源提供者。
為虛擬網路內的 Azure AI 服務啟用服務端點。 服務端點會透過最佳路徑,將來自虛擬網路的流量路由傳送至 Azure AI 服務。 如需詳細資訊,請參閱虛擬網路服務端點。
子網路和虛擬網路的身分識別也會隨著每個要求傳輸。 管理員接著可以設定 Azure AI 服務資源的網路規則,允許來自虛擬網路中特定子網路的要求。 透過這些網路規則授與存取的用戶端,必須仍要繼續符合 Azure AI 服務資源的授權需求,才能存取資料。
每個 Azure AI 服務資源最多可支援 100 個虛擬網路規則,它們也可以結合 IP 網路規則。 如需詳細資訊,請參閱本文稍後說明的從網際網路 IP 範圍授與存取權。
設定必要權限
若要將虛擬網路規則套用至 Azure AI 服務資源,您必須對要新增的子網路具有適當權限。 必要的權限是預設的參與者角色或認知服務參與者角色。 也可以將必要的權限新增至自訂角色定義。
Azure AI 服務資源和虛擬網路授與的存取權可能在不同的訂用帳戶中,包括屬於不同 Microsoft Entra 租用戶的訂用帳戶。
注意
若要授權存取虛擬網路中的子網路,且這些虛擬網路屬於不同的 Microsoft Entra 租用戶,目前只支援透過 PowerShell、Azure CLI 和 REST API 設定規則。 您可以在 Azure 入口網站中檢視這些規則,但無法加以設定。
設定虛擬網路規則
您可以透過 Azure 入口網站、PowerShell 或 Azure CLI 來管理 Azure AI 服務資源的虛擬網路規則。
若要使用現有的網路規則授與存取權給虛擬網路:
移至您想要保護的 Azure AI 服務資源。
選取 [資源管理] 以展開,然後選取 [網路功能]。
確認您已選取 [選取的網路與私人端點]。
在 [允許下列存取] 底下,選取 [新增現有的虛擬網路]。
選取 [虛擬網路] 和 [子網路] 選項,然後選取 [啟用]。
注意
如果 Azure AI 服務的服務端點未針對所選虛擬網路和子網路事先設定,可以將其設定為這項作業的一部分。
目前,只有屬於相同 Microsoft Entra 租用戶的虛擬網路才可供在規則建立期間選取。 當虛擬網路屬於另一個租用戶時,若要授與權限存取其中的子網路,請使用 PowerShell、Azure CLI 或 REST API。
選取儲存套用變更。
若要建立新的虛擬網路並授與存取權:
若要移除現有虛擬網路或子網路規則:
重要
請務必將預設規則設定為 [拒絕],否則網路規則不會生效。
授與網際網路 IP 範圍存取權
您可以將 Azure AI 服務設定為允許從特定公用網際網路 IP 位址範圍進行存取。 此設定可將存取權授與特定服務和內部部署網路,這會有效地封鎖一般網際網路流量。
您可以使用 CIDR 格式 (RFC 4632) 以 192.168.0.0/16
的形式或 192.168.0.1
一類的個別 IP 位址來指定允許的網際網路位址範圍。
提示
不支援使用 /31
或 /32
前置詞大小的小型位址範圍。 使用個別 IP 位址規則設定這些範圍。
只有公用網際網路 IP 位址允許使用 IP 網路規則。 IP 規則中不允許保留私人網路的 IP 位址範圍。 私人網路包括以 10.*
、172.16.*
- 172.31.*
和 192.168.*
開頭的位址。 如需詳細資訊,請參閱私人位址空間 (RFC 1918)。
目前僅支援 IPv4 位址。 每個 Azure AI 服務資源最多可支援 100 個 IP 網路規則,它們也可以結合虛擬網路規則。
設定內部部署網路存取權
若要使用 IP 網路規則,從您的內部部署網路將存取權授與您的 Azure AI 服務資源,請識別網路所使用的網際網路對應 IP 位址。 請連絡網路系統管理員尋求協助。
如果使用 Azure ExpressRoute 內部部署來進行 Microsoft 對等互連,則必須識別 NAT IP 位址。 如需詳細資訊,請參閱何謂 Azure ExpressRoute。
若為 Microsoft 對等互連,所使用的 NAT IP 位址是由客戶提供或由服務提供者提供。 若要允許存取您的服務資源,您必須在資源 IP 防火牆設定中允許這些公用 IP 位址。
管理 IP 網路規則
您可以透過 Azure 入口網站、PowerShell 或 Azure CLI 來管理 Azure AI 服務資源的 IP 網路規則。
移至您想要保護的 Azure AI 服務資源。
選取 [資源管理] 以展開,然後選取 [網路功能]。
確認您已選取 [選取的網路與私人端點]。
在 [防火牆與虛擬網路] 底下,找出 [位址範圍] 選項。 若要授與網際網路 IP 範圍的存取權,請輸入 IP 位址或位址範圍 (採用 CIDR 格式)。 只接受有效的公用 IP (非保留) 位址。
若要移除 IP 網路規則,請選取位址範圍旁的垃圾桶 圖示。
選取儲存套用變更。
重要
請務必將預設規則設定為 [拒絕],否則網路規則不會生效。
使用私人端點
您可以將私人端點用於 Azure AI 服務資源,以允許虛擬網路上的用戶端可安全地透過 Azure Private Link 存取資料。 私人端點會使用來自虛擬網路位址空間的 IP 位址來執行 Azure AI 服務資源。 虛擬網路上的用戶端與資源之間的網路流量會流經虛擬網路和 Microsoft Azure 骨幹網路上的私人連結,以排除公開網際網路的風險。
Azure AI 服務資源的私人端點可讓您:
- 設定防火牆為 Azure AI 服務封鎖公用端點上的所有連線,以保護您的 Azure AI 服務資源。
- 防止虛擬網路中的資料外流,進而提升虛擬網路的安全性。
- 使用 Azure VPN 閘道或 ExpressRoute 私人對等互連,從連線至虛擬網路的內部部署網路安全地連線到 Azure AI 服務資源。
了解私人端點
在您的虛擬網路中,私人端點是 Azure 資源的特殊網路介面。 為您的 Azure AI 服務資源建立私人端點,可在虛擬網路中的用戶端與您的資源之間提供安全的連線能力。 私人端點會獲指派您虛擬網路 IP 位址範圍中的 IP 位址。 私人端點與 Azure AI 服務之間的連線會使用安全的私人連結。
虛擬網路中的應用程式可以順暢地透過私人端點連線到服務。 連線會使用與其他連線相同的連接字串和授權機制。 例外狀況是語音服務,其需要個別的端點。 如需詳細資訊,請參閱本文中的具有語音服務的私人端點。 私人端點可與 Azure AI 服務資源所支援的所有通訊協定搭配使用,包括 REST。
私人端點可以在使用服務端點的子網路中建立。 子網路中的用戶端可以使用私人端點連線至 Azure AI 服務資源,同時使用服務端點存取其他服務。 如需詳細資訊,請參閱虛擬網路服務端點。
在虛擬網路中為 Azure AI 服務資源建立私人端點時,Azure 會將同意要求傳送給 Azure AI 服務資源擁有者。 如果要求建立私人端點的使用者也是儲存體帳戶的擁有者,則系統會自動核准此同意要求。
Azure AI 服務資源擁有者可以透過 Azure 入口網站中 Azure AI 服務資源的 [私人端點連線] 索引標籤,來管理同意要求和私人端點。
指定私人端點
建立私人端點時,請指定其所連線的 Azure AI 服務資源。 如需有關建立私人端點的詳細資訊,請參閱:
連線私人端點
注意
Azure OpenAI 服務使用不同於其他 Azure AI 服務的私人 DNS 區域和公用 DNS 區域轉寄站。 如需正確的區域和轉寄站名稱,請參閱 Azure 服務 DNS 區域設定。
虛擬網路上使用私人端點的用戶端在用戶端連線至公用端點時,將相同的連接字串用於 Azure AI 服務資源。 例外狀況是語音服務,其需要個別的端點。 如需詳細資訊,請參閱本文中的使用具有語音服務的私人端點。 DNS 解析會自動透過私人連結將虛擬網路連線路由傳送至 Azure AI 服務資源。
根據預設,Azure 建立附加至虛擬網路的私人 DNS 區域,並對私人端點進行必要更新。 如果您使用自己的 DNS 伺服器,您可能需要對 DNS 設定進行更多變更。 如需私人端點可能需要的更新,請參閱本文中的套用私人端點的 DNS 變更。
使用具有語音服務的私人端點
請參閱透過私人端點使用語音服務。
套用私人端點的 DNS 變更
建立私人端點時,Azure AI 服務資源的 DNS CNAME
資源記錄會更新為子網域中首碼為 'privatelink
' 的別名。 根據預設,Azure 也會以私人端點的 DNS A 資源記錄建立對應於 privatelink
子網域的私人 DNS 區域。 如需詳細資訊,請參閱何謂 Azure Private DNS。
當您從具有私人端點的虛擬網路外部解析端點 URL 時,其會解析為 Azure AI 服務資源的公用端點。 從裝載私人端點的虛擬網路進行解析時,端點 URL 會解析為私人端點的 IP 位址。
這種方法可讓您將相同的連接字串用於虛擬網路 (裝載私人端點) 中的用戶端和虛擬網路外的用戶端來存取 Azure AI 服務資源。
如果您是在網路上使用自訂 DNS 伺服器,用戶端必須能夠將 Azure AI 服務資源端點的完整網域名稱 (FQDN) 解析為私人端點 IP 位址。 設定您的 DNS 伺服器,以將 Private Link 子網域委派給虛擬網路的私人 DNS 區域。
提示
使用自訂或內部部署 DNS 伺服器時,您應設定 DNS 伺服器將 privatelink
子網域中的 Azure AI 服務資源名稱解析為私人端點 IP 位址。 將 privatelink
子網域委派給虛擬網路的私人 DNS 區域。 或者,在 DNS 伺服器上設定 DNS 區域,並新增 DNS A 記錄。
如需有關設定您自己的 DNS 伺服器以支援私人端點的詳細資訊,請參閱下列資源:
為 Azure OpenAI 授與受信任 Azure 服務的存取權
您可以將一部分的受信任 Azure 服務存取權授與 Azure OpenAI,同時維護其他應用程式的網路規則。 這些受信任的服務接著會使用受控識別來驗證您的 Azure OpenAI 服務。 下表列出當服務的受控識別具有適當的角色指派時,可以存取 Azure OpenAI 的服務。
服務 | 資源提供者名稱 |
---|---|
Azure AI 服務 | Microsoft.CognitiveServices |
Azure Machine Learning | Microsoft.MachineLearningServices |
Azure AI 搜尋服務 | Microsoft.Search |
您可以使用 REST API 或 Azure 入口網站建立網路規則例外狀況,以授與受信任 Azure 服務的網路存取權:
使用 Azure CLI
accessToken=$(az account get-access-token --resource https://management.azure.com --query "accessToken" --output tsv)
rid="/subscriptions/<your subscription id>/resourceGroups/<your resource group>/providers/Microsoft.CognitiveServices/accounts/<your Azure AI resource name>"
curl -i -X PATCH https://management.azure.com$rid?api-version=2023-10-01-preview \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $accessToken" \
-d \
'
{
"properties":
{
"networkAcls": {
"bypass": "AzureServices"
}
}
}
'
若要撤銷例外狀況,請將 networkAcls.bypass
設定為 None
。
若要確認是否已從 Azure 入口網站啟用受信任的服務,
使用 Azure 入口網站
瀏覽至您的 Azure OpenAI 資源,然後從導覽功能表中選取 [網路]。
在 [例外狀況] 底下,選取 [允許受信任服務清單上的 Azure 服務存取此認知服務帳戶]。
提示
您可以在 [允許從此存取] 底下選取 [選取的網路與私人端點] 或 [已停用] 來檢視 [例外狀況] 選項。
定價
如需價格詳細資料,請參閱 Azure Private Link 價格。
下一步
- 探索各種 Azure AI 服務
- 深入了解虛擬網路服務端點