分享方式:


網路隔離的建議設定

遵循下列步驟來限制對 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

  1. 從 Azure 入口網站開啟 Cloud Shell (PowerShell)。
  2. 在頁面底部的 PowerShell 視窗中執行下列命令:
Add-AzWebAppAccessRestrictionRule -ResourceGroupName "<resource group name>" -WebAppName "<app service name>" -Name "Cognitive Services Tag" -Priority 100 -Action Allow -ServiceTag "CognitiveServicesManagement" 
  1. 確認新增的存取規則出現在 [網路] 索引標籤的 [存取限制] 區段中:

    存取限制規則的螢幕擷取畫面

  2. 若要存取 https://qnamaker.ai 入口網站上的 [測試窗格],請新增機器的公用 IP 位址以用來存取入口網站。 從 [存取限制] 頁面中,選取 [新增規則],並允許存取您的用戶端 IP。

    存取限制規則加上公用 ID 位址的螢幕擷取畫面

App Service 的輸出存取

QnA Maker App Service 需要下列端點的輸出存取權。 若輸出流量有任何限制,請確定將該端點新增至允許清單。

將 App Service 環境設定為裝載 QnA Maker App Service

App Service 環境 (ASE) 可以用來裝載 QnA Maker App Service 執行個體。 請執行以下步驟:

  1. 建立新的 Azure AI 搜尋服務資源。。

  2. 建立具有 App Service 的外部 ASE。

    • 遵循此 App Service 快速入門以取得指示。 此流程可能需要長達 1 到 2 小時。
    • 最後,您會有一個 App Service 端點類似於:https://<app service name>.<ASE name>.p.azurewebsite.net
    • 範例: https:// mywebsite.myase.p.azurewebsite.net
  3. 新增下列 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
  4. 在 App Service 上新增 CORS 來源 "*",以允許存取 https://qnamaker.ai 入口網站的 [測試窗格]。 CORS 位於 App Service 窗格中的 API 標頭下。

    App Service UI 中 CORS 介面的螢幕擷取畫面

  5. 使用 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 資源之後,您可以透過私人端點來隔離認知搜尋執行個體。 使用下列步驟來封鎖存取:

  1. 建立新的虛擬網路 (VNet),或使用 ASE (App Service 環境) 的現有 VNet。

  2. 開啟 VNet 資源,然後在 [子網路] 索引標籤下建立兩個子網路。 一個用於 App Service (appservicesubnet),另一個子網路 (searchservicesubnet) 用於認知搜尋資源,不需要委派。

    虛擬網路子網路 UI 螢幕擷取畫面

  3. 在認知搜尋服務執行個體的 [網路] 索引標籤中,將端點連線資料從公用切換為私人。 此作業是長時間執行流程,可能需要長達 30 分鐘才會完成。

    包含公用/私人切換按鈕的網路 UI 螢幕擷取畫面

  4. 一旦搜尋資源切換至私人,請選取新增 [私人端點]

    • 基本資料索引標籤:確定您在與搜尋資源相同的區域建立端點。
    • [資源] 索引標籤:選取所需的搜尋資源類型 Microsoft.Search/searchServices

    建立私人端點 UI 視窗的螢幕擷取畫面

    • [設定] 索引標籤:使用步驟 2 中建立的 VNet 子網路 (searchservicesubnet)。 之後,在 [私人 DNS 整合] 區段中,選取對應的訂用帳戶,並建立名為 privatelink.search.windows.net 的新私人 DNS 區域。

    已填入子網路欄位的建立私人端點 UI 視窗螢幕擷取畫面

  5. 針對一般 App Service 啟用 VNET 整合。 ASE 已可存取 VNET,可略過此步驟。

    • 移至 App Service [網路] 區段,然後開啟 [VNet 整合]
    • 連結至步驟 2 中建立的專用 App Service VNet 子網路 (appservicevnet)。

    VNET 整合 UI 的螢幕擷取畫面

為 Azure 搜尋服務資源建立私人端點

遵循下列步驟來限制對 QnA Maker 資源的公用存取。 設定虛擬網路以保護 Azure AI 服務資源免於公用存取。

根據 VNet 來限制對 Azure AI 服務資源的存取後,若要從內部部署網路或本機瀏覽器來瀏覽 https://qnamaker.ai 入口網站上的知識庫。

  • 授與對內部部署網路的存取。

  • 授與對本機瀏覽器/機器的存取。

  • 在 [網路] 索引標籤的 [防火牆] 區段底下,新增電腦的公用 IP 位址。根據預設,portal.azure.com 會顯示目前瀏覽電腦的公用 IP (選取這個項目),然後選取 [儲存]

    防火牆和虛擬網路設定 UI 的螢幕擷取畫面