將搜尋服務新增至網路安全性周邊
重要
Azure AI 搜尋服務的網路安全性周邊支援在補充使用規定下處於公開預覽狀態。 此功能適用於 提供此功能的區域。 此預覽版本是在沒有服務等級協定的情況下提供,不建議用於生產工作負載。 可能不支援特定功能,或可能已經限制功能。
開始之前,請先檢閱 限制和考慮 一節。
本文說明如何將 Azure AI 搜尋服務 加入網路安全性周邊,以控制搜尋服務的網路存取。 藉由加入網路安全性周邊,您可以:
- 使用相同周邊的其他 Azure 資源,記錄您搜尋服務的所有存取權。
- 封鎖從搜尋服務外流至周邊外部其他服務的任何數據外洩。
- 允許使用網路安全性周邊的輸入和輸出存取功能來存取您的搜尋服務。
您可以將搜尋服務新增至 Azure 入口網站 的網路安全性周邊,如本文所述。 或者,您可以使用 Azure 虛擬網絡 Manager REST API 來加入搜尋服務,並使用搜尋管理 REST API 來檢視及同步處理組態設定。
限制與考量
對於網路安全性周邊內的搜尋服務,索引器必須使用 系統或使用者指派的受控識別 ,並具有允許數據源讀取許可權的角色指派。
支援的索引器數據源目前僅限於 Azure Blob 儲存體、適用於 NoSQL 的 Azure Cosmos DB 和 Azure SQL 資料庫。
目前,在周邊內,用來擷取數據之 Azure PaaS 的索引器連線是主要使用案例。 若要對 Azure AI 服務、Azure OpenAI 或 Azure AI Foundry 模型目錄進行輸出技能驅動 API 呼叫,或針對來自 Azure AI Foundry 的輸入呼叫,以進行「與您的數據聊天」案例,您必須 設定輸入和輸出規則 ,以允許透過周邊的要求。 如果您需要具有結構感知區塊化和向量化的私人連線,您應該建立共用的私人連結和專用網。
必要條件
現有的網路安全性周邊。 您可以 建立一個與搜尋服務建立關聯的服務。
Azure AI 搜尋服務,任何區域的任何計費層。
將搜尋服務指派給網路安全性周邊
Azure 網路安全性周邊可讓系統管理員為部署在虛擬網路外部的 PaaS 資源(例如,Azure 儲存體 和 Azure SQL 資料庫)定義邏輯網路隔離界限。 它會限制與周邊資源之間的通訊,並允許透過輸入和輸出存取規則的非周邊公用流量。
您可以將 Azure AI 搜尋新增至網路安全性周邊,讓所有索引和查詢要求都發生在安全性界限內。
在 Azure 入口網站 中,尋找您訂用帳戶的網路安全性周邊服務。
從左側功能表中選取 [資源 ]。
選取 [新增>將資源與現有配置檔建立關聯]。
選取您在建立設定檔的網路安全性周邊時所建立的 設定檔。
選取 [ 關聯],然後選取您所建立的搜尋服務。
選取 畫面左下方區段中的 [建立 關聯] 來建立關聯。
網路安全性周邊存取模式
網路安全性周邊支援兩種不同的相關聯資源的存取模式:
模式 | 說明 |
---|---|
學習模式 | 這是預設存取模式。 在 學習 模式中,網路安全性周邊會將所有流量記錄到已拒絕的搜尋服務,如果周邊處於強制模式,則為 。 這可讓網路管理員先瞭解搜尋服務的現有存取模式,再實作強制執行存取規則。 |
強制模式 | 在 強制 模式中,網路安全性周邊記錄並拒絕存取規則未明確允許的所有流量。 |
網路安全性周邊和搜尋服務網路設定
此 publicNetworkAccess
設定會決定與網路安全性周邊的搜尋服務關聯。
在學習模式中,設定
publicNetworkAccess
會控制資源的公用存取。在 [強制模式] 中
publicNetworkAccess
,網路安全性周邊規則會覆寫設定。 例如,如果 具有publicNetworkAccess
設定enabled
的搜尋服務與 [強制執行] 模式中的網路安全性周邊相關聯,則搜尋服務的存取仍由網路安全性周邊存取規則控制。
變更網路安全性周邊存取模式
流覽至 Azure 入口網站 中的網路安全性周邊資源。
選取 左側功能表中的 [資源 ]。
在數據表中尋找您的搜尋服務。
選取搜尋服務數據列最右邊的三個點。 在彈出視窗中選取 [變更存取模式 ]。
選取所需的存取模式,然後選取 [ 套用]。
啟用記錄網路存取
流覽至 Azure 入口網站 中的網路安全性周邊資源。
選取 左側功能表中的 [診斷設定 ]。
選取 [新增診斷設定]。
輸入診斷設定名稱的任何名稱,例如 「診斷」。
在 [記錄] 底下,選取 [allLogs]。 allLogs 可確保記錄網路安全性周邊中資源的所有輸入和輸出網路存取權。
在 [目的地詳細數據] 下,選取 [封存至記憶體帳戶] 或 [傳送至 Log Analytics] 工作區。 記憶體帳戶必須位於與網路安全性周邊相同的區域中。 您可以使用現有的記憶體帳戶或建立新的記憶體帳戶。 Log Analytics 工作區可以位於與網路安全性周邊所使用的區域不同。 您也可以選取任何其他適用的目的地。
選取 [ 儲存 ] 以建立診斷設定,並開始記錄網络存取。
讀取網路存取記錄
Log Analytics 工作區
數據表 network-security-perimeterAccessLogs
包含每個記錄類別的所有記錄檔(例如 network-security-perimeterPublicInboundResourceRulesAllowed
)。 每個記錄都包含符合記錄類別的網路安全性周邊網路存取記錄。
以下是記錄格式的 network-security-perimeterPublicInboundResourceRulesAllowed
範例:
資料行名稱 | 意義 | 範例值 |
---|---|---|
ResultDescription | 網路存取作業的名稱 | POST /indexes/my-index/docs/search |
設定檔 | 與搜尋服務相關聯的網路安全性周邊 | defaultProfile |
ServiceResourceId | 搜尋服務的資源標識碼 | search-service-resource-id |
相符的規則 | 記錄所比對之規則的 JSON 描述 | { "accessRule": "IP firewall" } |
SourceIPAddress | 如果適用,輸入網路存取的來源IP | 1.1.1.1 |
AccessRuleVersion | 用來強制執行網路存取規則的網路安全性周邊存取規則版本 | 0 |
儲存體帳戶
記憶體帳戶具有每個記錄類別的容器(例如 insights-logs-network-security-perimeterpublicinboundperimeterrulesallowed
)。 容器內的資料夾結構符合網路安全性周邊的資源標識元,以及記錄的取得時間。 JSON 記錄檔上的每一行都包含符合記錄類別的網路安全性周邊網路存取記錄。
例如,允許的輸入周邊規則類別記錄會使用下列格式:
"properties": {
"ServiceResourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/network-security-perimeter/providers/Microsoft.Search/searchServices/network-security-perimeter-search",
"Profile": "defaultProfile",
"MatchedRule": {
"AccessRule": "myaccessrule"
},
"Source": {
"IpAddress": "255.255.255.255",
}
}
新增搜尋服務的存取規則
網路安全性周邊配置檔會指定允許或拒絕透過周邊存取的規則。
在周邊內,所有資源在網路層級都有相互存取權。 您仍然必須設定驗證和授權,但在網路層級,會接受來自周邊的連線要求。
針對網路安全性周邊以外的資源,您必須指定輸入和輸出存取規則。 輸入規則會指定要允許的連線,而輸出規則會指定允許哪些要求。
搜尋服務會接受來自 Azure AI Foundry、Azure OpenAI Studio、Azure 機器學習 提示流程,以及傳送索引或查詢要求的任何應用程式輸入要求。 搜尋服務會在索引器型索引編製和技能集執行期間傳送輸出要求。 本節說明如何設定 Azure AI 搜尋案例的輸入和輸出存取規則。
注意
與網路安全性周邊相關聯的任何服務,在使用該存取權使用受控識別和角色指派進行驗證時,隱含地允許對與相同網路安全性周邊相關聯的任何其他服務進行輸入和輸出存取。 只有在允許網路安全性周邊外部存取,或使用 API 金鑰進行驗證的存取時,才需要建立存取規則。
新增輸入存取規則
輸入存取規則可讓周邊外部的因特網和資源與周邊內的資源連線。
網路安全性周邊支援兩種類型的輸入存取規則:
IP 位址範圍。 IP 位址或範圍必須是無類別網路變數間路由 (CIDR) 格式。 CIDR 表示法的範例是 192.0.2.0/24,代表範圍從 192.0.2.0 到 192.0.2.255 的 IP。 這種類型的規則允許來自範圍內任何IP位址的輸入要求。
訂用帳戶。 這種類型的規則允許從訂用帳戶使用任何受控識別進行驗證的輸入存取。
若要在 Azure 入口網站 中新增輸入存取規則:
流覽至 Azure 入口網站 中的網路安全性周邊資源。
選取 左側選單中的 [配置檔 ]。
選取您搭配網路安全性周邊使用的配置檔
選取左側功能表中的 [ 輸入存取規則 ]。
選取 [新增]。
輸入或選取下列值:
設定 值 規則名稱 輸入存取規則的名稱(例如“MyInboundAccessRule”)。 來源類型 有效值為IP位址範圍或訂用帳戶。 允許的來源 如果您選取 IP 位址範圍,請以您想要允許輸入存取的 CIDR 格式輸入 IP 位址範圍。 此連結提供 Azure IP 範圍。 如果您選取 [訂用帳戶],請使用您想要允許輸入存取的訂用帳戶。 選取 [ 新增 ] 以建立輸入存取規則。
新增輸出存取規則
搜尋服務會在索引器型索引編製和技能集執行期間進行輸出呼叫。 如果您的索引器數據源、Azure AI 服務或自定義技能邏輯不在網路安全性周邊之外,您應該建立可讓搜尋服務進行連線的輸出存取規則。
回想一下,在公開預覽中,Azure AI 搜尋只能連線到安全性周邊內的 Azure 儲存體 或 Azure Cosmos DB。 如果您的索引器使用其他數據源,您需要輸出存取規則來支援該連線。
網路安全性周邊根據目的地的完整功能變數名稱 (FQDN) 支援輸出存取規則。 例如,您可以允許從與網路安全周邊相關聯的任何服務到 FQDN 的輸出存取,例如 mystorageaccount.blob.core.windows.net
。
若要在 Azure 入口網站 中新增輸出存取規則:
流覽至 Azure 入口網站 中的網路安全性周邊資源。
選取 左側選單中的 [配置檔 ]。
選取您搭配網路安全性周邊使用的配置檔
選取 左側選單中的 [輸出存取規則 ]。
選取 [新增]。
輸入或選取下列值:
設定 值 規則名稱 輸出存取規則的名稱(例如“MyOutboundAccessRule”) 目的地類型 保留為 FQDN 允許的目的地 輸入您想要允許輸出存取的 FQDN 逗號分隔清單 選取 [ 新增 ] 以建立輸出存取規則。
透過網路安全性周邊測試您的連線
若要透過網路安全性周邊測試您的連線,您需要在具有因特網連線或 Azure VM 的本機電腦上存取網頁瀏覽器。
將網路安全性周邊關聯變更為 強制模式 ,以開始強制執行網路安全性周邊需求,以存取您的搜尋服務。
決定是否要使用本機電腦或 Azure VM。
- 如果您使用本機計算機,則必須知道您的公用IP位址。
- 如果您使用 Azure VM,您可以使用私人連結,或使用 Azure 入口網站 檢查 IP 位址。
使用IP位址,您可以建立 該IP位址的輸入存取規則 ,以允許存取。 如果您使用私人連結,則可以略過此步驟。
最後,請嘗試瀏覽至 Azure 入口網站 中的搜尋服務。 如果可以成功檢視索引,則網路安全性周邊已正確設定。
檢視和管理網路安全性周邊設定
您可以使用 網路安全周邊設定 REST API 來檢閱及協調周邊設定。
請務必使用預覽 API 版本 2024-06-01-preview
。 瞭解如何呼叫管理 REST API。