網路隔離的建議設定
遵循下列步驟來限制對 QnA Maker 資源的公用存取。 設定虛擬網路以保護 Azure AI 服務資源免於公用存取。
注意
QnA Maker 服務即將於 2025 年 3 月 31 日淘汰。 較新版的問題和解答功能現在隨附於 Azure AI 語言。 如需瞭解語言服務內的問題解答功能,請參閱問題解答。 從 2022 年 10 月 1 日開始,您將無法建立新的 QnA Maker 資源。 如需將現有的 QnA Maker 知識庫移轉至問題解答的相關資訊,請參閱移轉指南。
限制對 App Service (QnA 執行階段) 的存取
您可以使用 ServiceTag CognitiveServicesMangement
來限制對 App Service 或 ASE (App Service 環境) 網路安全性群組輸入規則的輸入存取。 如需服務標籤的詳細資訊,請參閱虛擬網路服務標籤文章。
一般 App Service
- 從 Azure 入口網站開啟 Cloud Shell (PowerShell)。
- 在頁面底部的 PowerShell 視窗中執行下列命令:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "<resource group name>" -WebAppName "<app service name>" -Name "Cognitive Services Tag" -Priority 100 -Action Allow -ServiceTag "CognitiveServicesManagement"
確認新增的存取規則出現在 [網路] 索引標籤的 [存取限制] 區段中:
若要存取 https://qnamaker.ai 入口網站上的 [測試窗格],請新增機器的公用 IP 位址以用來存取入口網站。 從 [存取限制] 頁面中,選取 [新增規則],並允許存取您的用戶端 IP。
App Service 的輸出存取
QnA Maker App Service 需要下列端點的輸出存取權。 若輸出流量有任何限制,請確定將該端點新增至允許清單。
將 App Service 環境設定為裝載 QnA Maker App Service
App Service 環境 (ASE) 可以用來裝載 QnA Maker App Service 執行個體。 請執行以下步驟:
建立具有 App Service 的外部 ASE。
- 遵循此 App Service 快速入門以取得指示。 此流程可能需要長達 1 到 2 小時。
- 最後,您會有一個 App Service 端點類似於:
https://<app service name>.<ASE name>.p.azurewebsite.net
。 - 範例:
https:// mywebsite.myase.p.azurewebsite.net
新增下列 App Service 設定:
名稱 值 PrimaryEndpointKey <app service name>-PrimaryEndpointKey
AzureSearchName <Azure AI Search Resource Name from step #1>
AzureSearchAdminKey <Azure AI Search Resource admin Key from step #1>
QNAMAKER_EXTENSION_VERSION latest
DefaultAnswer no answer found
在 App Service 上新增 CORS 來源 "*",以允許存取 https://qnamaker.ai 入口網站的 [測試窗格]。 CORS 位於 App Service 窗格中的 API 標頭下。
使用 Azure Resource Manager 建立 QnA Maker Azure AI 服務執行個體 (CognitiveServices/accounts)。 QnA Maker 端點應設定為上面建立的 App Service 端點 (
https:// mywebsite.myase.p.azurewebsite.net
)。 這裡有可供您參考的 Azure Resource Manager 範本範例。
相關問題
是否可以將 QnA Maker 部署到內部 ASE?
使用外部 ASE 的主要原因是為了讓 QnAMaker 服務後端 (製作 API) 透過網際網路連線到 App Service。 不過,您可以新增輸入存取限制,只允許連線來自 CognitiveServicesManagement
服務標籤相關聯的位址,而仍然予以保護。
如果仍然想要使用內部 ASE,您需要透過應用程式閘道 DNS TLS/SSL 憑證,在公用網域的 ASE 中公開該特定 QnA Maker 應用程式。如需詳細資訊,請參閱有關 App Services 企業部署的文章。
限制對認知搜尋資源的存取
建立 QnA Maker 資源之後,您可以透過私人端點來隔離認知搜尋執行個體。 使用下列步驟來封鎖存取:
建立新的虛擬網路 (VNet),或使用 ASE (App Service 環境) 的現有 VNet。
開啟 VNet 資源,然後在 [子網路] 索引標籤下建立兩個子網路。 一個用於 App Service (appservicesubnet),另一個子網路 (searchservicesubnet) 用於認知搜尋資源,不需要委派。
在認知搜尋服務執行個體的 [網路] 索引標籤中,將端點連線資料從公用切換為私人。 此作業是長時間執行流程,可能需要長達 30 分鐘才會完成。
一旦搜尋資源切換至私人,請選取新增 [私人端點]。
- 基本資料索引標籤:確定您在與搜尋資源相同的區域建立端點。
- [資源] 索引標籤:選取所需的搜尋資源類型
Microsoft.Search/searchServices
。
- [設定] 索引標籤:使用步驟 2 中建立的 VNet 子網路 (searchservicesubnet)。 之後,在 [私人 DNS 整合] 區段中,選取對應的訂用帳戶,並建立名為 privatelink.search.windows.net 的新私人 DNS 區域。
針對一般 App Service 啟用 VNET 整合。 ASE 已可存取 VNET,可略過此步驟。
- 移至 App Service [網路] 區段,然後開啟 [VNet 整合]。
- 連結至步驟 2 中建立的專用 App Service VNet 子網路 (appservicevnet)。
為 Azure 搜尋服務資源建立私人端點。
遵循下列步驟來限制對 QnA Maker 資源的公用存取。 設定虛擬網路以保護 Azure AI 服務資源免於公用存取。
根據 VNet 來限制對 Azure AI 服務資源的存取後,若要從內部部署網路或本機瀏覽器來瀏覽 https://qnamaker.ai 入口網站上的知識庫。