設定 Azure AI 搜尋服務的網路存取和防火牆規則
本文說明如何限制搜尋服務公用端點的網路存取。 若要封鎖對公用端點的所有資料平面存取,請使用私人端點和 Azure 虛擬網路。
本文假設使用 Azure 入口網站來設定網路存取選項。 您也可以使用管理 REST API、Azure PowerShell 或 Azure CLI。
必要條件
在任何區域中的搜尋服務,具有基本層或更高層級
擁有者或參與者權限
設定網路存取的時機
根據預設,Azure AI 搜尋服務會設定為允許透過公用端點的連線。 透過公用端點存取搜尋服務會受到驗證和授權通訊協議的保護,但端點本身會在資料平面要求的網路層對網際網路開放。
如果您未裝載公用網站,建議您設定網路存取來自動拒絕要求,除非這些要求來自一組已核准的裝置和雲端服務。
有兩種機制可用來限制對公用端點的存取:
- 輸入規則,列出要從中允許要求的 IP 位址、範圍或子網路
- 網路規則的例外狀況,在其中,只要要求來自受信任的服務,就會允許要求而不進行檢查
網路規則並非必要,但如果您使用 Azure AI 搜尋服務來呈現私人或內部公司內容,則新增網路規則是安全性最佳做法。
網路規則的範圍限定於對搜尋服務的公用端點進行資料平面作業。 資料平面作業包括建立或查詢索引,以及搜尋 REST API 所描述的所有其他動作。 控制平面作業目標服務管理。 這些作業會指定資源提供者端點,其受限於 Azure Resource Manager 所支援的網路保護。
限制
鎖定公用端點有幾個缺點。
需要一些時間才能完整識別 IP 範圍和設定防火牆,而且如果您處於概念證明測試和調查的早期階段,並使用範例資料,您可能會想要延遲網路存取控制,直到您實際需要它們為止。
某些工作流程需要存取公用端點。 具體而言,Azure 入口網站中的匯入精靈會連線到內建的 (託管) 範例資料,並透過公用端點內嵌模型。 您可以切換至程式碼或指令碼,以完成防火牆規則就緒時相同的工作,但如果您想要執行精靈,公用端點必須可供使用。 如需詳細資訊,請參閱在匯入精靈中保護連線。
在 Azure 入口網站中設定網路存取
登入 Azure 入口網站,並尋找您的搜尋服務。
在 [設定] 底下,選取最左邊窗格上的 [網路]。 如果您沒有看到此選項,請檢查您的服務層級。 基本層和更高層級有可用的網路選項。
選擇 [選取的IP 位址]。 除非您正在設定私人端點,否則請避免 [已停用] 選項。
選擇此選項時,會有更多設定可供使用。
在 [IP 防火牆] 底下,選取 [新增您的用戶端 IP 位址],建立個人裝置公用 IP 位址的輸入規則。 如需詳細資訊,請參閱允許從 Azure 入口網站 IP 位址存取。
針對會向搜尋服務傳送要求的其他裝置和服務,新增其他用戶端 IP 位址。
IP 位址和範圍是 CIDR 格式。 CIDR 標記法的範例是 8.8.8.0/24,其代表範圍從 8.8.8.8.0 到 8.8.8.255 的 IP。
如果您的搜尋用戶端是 Azure 上的靜態 Web 應用程式,請參閱 Azure App Service 中的輸入和輸出 IP 位址。 若為 Azure Functions,請參閱 Azure Functions 中的 IP 位址。
在 [例外狀況] 底下,選取 [允許受信任服務清單上的 Azure 服務以存取此搜尋服務]。 信任的服務清單包括:
Microsoft.CognitiveServices
用於 Azure OpenAI 和 Azure AI 服務Microsoft.MachineLearningServices
用於 Azure Machine Learning
啟用此例外狀況時,您會相依於 Microsoft Entra ID 驗證、受控識別和角色指派。 在搜尋服務上具有有效角色指派的任何 Azure AI 服務或 AML 功能,都可以略過防火牆。 如需詳細資訊,請參閱授與受信任服務的存取權。
儲存您的變更。
當您啟用 Azure AI 搜尋服務的 IP 存取控制原則後,即會拒絕所允許 IP 位址範圍清單外部的電腦對資料平面的所有要求。
當要求源自不在允許清單中的 IP 位址時,會傳回泛型 403 禁止回應,且不會有其他詳細資料。
重要
可能需要幾分鐘的時間,此變更才會生效。 等候至少 15 分鐘,再針對與網路設定相關的任何問題進行疑難排解。
允許從 Azure 入口網站存取 IP 位址
設定 IP 規則時,Azure 入口網站的某些功能會隨之停用。 您可以檢視和管理服務層級資訊,但入口網站對匯入精靈、索引、索引子和其他最上層資源的存取會受到限制。
您可以藉由新增 Azure 入口網站 IP 位址,來還原對完整搜尋服務作業範圍的入口網站存取。
若要取得 Azure 入口網站 的 IP 位址,請在下列項目上執行 nslookup
(或 ping
) :
stamp2.ext.search.windows.net
,這是 Azure 公用雲端流量管理員的網域。- 適用於 Azure Government 雲端的
stamp2.ext.search.azure.us
。
針對 nslookup,IP 位址會顯示在回應「非授權的答案」部分。 在下列範例中,您應該複製的 IP 位址是 52.252.175.48
。
$ nslookup stamp2.ext.search.windows.net
Server: ZenWiFi_ET8-0410
Address: 192.168.50.1
Non-authoritative answer:
Name: azsyrie.northcentralus.cloudapp.azure.com
Address: 52.252.175.48
Aliases: stamp2.ext.search.windows.net
azs-ux-prod.trafficmanager.net
azspncuux.management.search.windows.net
當服務在不同區域運作時,會連線至不同的流量管理員。 不論網域名稱為何,從 ping 傳回的 IP 位址都是正確的位址,在您的區域中為 Azure 入口網站定義輸入防火牆規則時,可以使用此 IP 位址。
針對 Ping,要求會逾時,但 IP 位址會顯示在回應中。 例如,在訊息 "Pinging azsyrie.northcentralus.cloudapp.azure.com [52.252.175.48]"
中,IP 位址為 52.252.175.48
。
橫幅會通知您 IP 規則會影響 Azure 入口網站 體驗。 即使您新增 Azure 入口網站 的IP位址,此橫幅仍會顯示。 記得等候數分鐘,讓網路規則生效再進行測試。
將存取權授與信任的 Azure 服務
您是否選取了受信任的服務例外狀況? 如果是,您的搜尋服務會承認來自受信任 Azure 資源的要求和回應,而不需要檢查 IP 位址。 受信任的資源必須具有受控識別 (系統或使用者指派,但通常是系統)。 受信任的資源必須擁有 Azure AI 搜尋服務的角色指派,才能授與權限給資料和作業。
Azure AI 搜尋服務的受信任服務清單包括:
Microsoft.CognitiveServices
用於 Azure OpenAI 和 Azure AI 服務Microsoft.MachineLearningServices
用於 Azure Machine Learning
此網路例外狀況的工作流程是源自 Azure AI Foundry 或其他 AML 功能至 Azure AI 搜尋的要求。 受信任的服務例外狀況通常是針對 Azure OpenAI On Data 案例,以擷取增強世代 (RAG) 和遊樂場環境。
受信任的資源必須具有受控識別
若要設定 Azure OpenAI 和 Azure Machine Learning 的受控識別:
若要設定 Azure AI 服務的受控識別:
- 尋找您的多重服務帳戶。
- 在最左邊窗格上的 [資源管理] 底下,選取 [身分識別]。
- 將 [系統指派] 設定為 [開啟]。
受信任的資源必須具有角色指派
一旦 Azure 資源具有受控識別,請在 Azure AI 搜尋服務上指派角色,以授與資料和作業的權限。
受信任的服務用於向量化工作負載:從文字和影像內容產生向量,並將承載傳回搜尋服務以進行查詢執行或編製索引。 來自受信任服務的連線可用來將承載傳遞至 Azure AI 搜尋。
在最左邊的窗格中,選取 [存取控制 (IAM)],選取 [身分識別]。
選取 [新增],然後選取 [新增角色指派]。
在 [角色] 頁面上:
- 選取 [搜尋索引資料參與者] 以載入搜尋索引,其中包含內嵌模型所產生的向量。 如果您想要在編製索引期間使用整合式向量化,請選擇此角色。
- 或者,選取 [搜尋索引數據讀取器 ],以提供查詢,其中包含查詢時內嵌模型所產生的向量。 查詢中使用的內嵌不會寫入索引,因此不需要寫入權限。
選取 [下一步]。
在 [成員] 頁面上,選取 [受控識別] 和 [選取成員]。
依系統管理的身分識別篩選,然後選取 Azure AI 多服務帳戶的受控識別。
注意
本文涵蓋認可對搜尋服務要求的信任例外狀況,但 Azure AI 搜尋服務本身位於其他 Azure 資源的受信任服務清單上。 具體而言,您可以針對從 Azure AI 搜尋服務到 Azure 儲存體的連線使用受信任的服務例外狀況。
下一步
一旦允許要求透過防火牆,就必須進行驗證和授權。 您有兩個選擇: