共用方式為


Azure AI Bot Service 中的網路隔離

從 2023 年 9 月 1 日起,強烈建議使用 Azure 服務標籤 方法來進行網路隔離。 DL-ASE 的使用率應僅限於高度特定的案例。 在生產環境中實作此解決方案之前,建議您諮詢您的支援小組以取得指引。

本文涵蓋 Azure Bot 及其相依服務的網路隔離概念。

您可能希望限制對您的 Bot 的存取,使其只能在私人網路上進行。 在 Azure AI Bot Service 中執行這項作的唯一方法是使用 Direct Line App Service 擴充功能。 例如,您可以使用 App Service 擴充功能來裝載公司內部 Bot,並要求使用者從公司網路存取 Bot。

如需如何在專用網中設定 Bot 的詳細指示,請參閱如何使用 隔離的網路

如需支持網路隔離之功能的詳細資訊,請參閱:

特徵 / 功能 文章
Direct Line App Service 擴充功能 Direct Line App Service 擴充功能
Azure 虛擬網路 什麼是 Azure 虛擬網路?
Azure 網路安全性群組 網路安全性群組
Azure Private Link 和私人端點 什麼是私人端點?
Azure DNS 使用 Azure 入口網站建立 Azure DNS 區域和記錄

使用私人端點

當您的 Bot 端點位於虛擬網路內,並在網路安全組中設定適當的規則時,您可以使用私人端點來限制對 Bot 應用程式服務的輸入和輸出要求存取。

Bot Service 中可以透過 Direct Line App Service 擴充套件取得私人端點。 請參閱下列使用私人端點的需求:

  1. 活動必須從 App Service 端點來回傳送。

    App Service 延伸模組與您的 Bot 端點的 App Service 共置。 所有往返端點的訊息都在您虛擬網路的本地處理,直接到達您的用戶端,而不會傳送到 Bot Framework 服務。

  2. 若要讓 使用者驗證 能夠運作,您的 Bot 用戶端必須與服務提供者通訊,例如Microsoft Entra ID 或 GitHub,以及令牌端點。

    如果您的 Bot 用戶端位於虛擬網路中,您必須在虛擬網路內將這兩個端點加入白名單。 請透過 服務標籤針對令牌端點執行此動作。 Bot 端點本身也需要存取令牌端點,如下所述。

  3. 使用 App Service 擴充功能時,您的 Bot 端點和 App Service 擴充功能必須將輸出 HTTPS 要求傳送至 Bot Framework 服務。

    這些請求適用於各種元操作,例如擷取機器人配置或從令牌端點擷取令牌。 為了便於處理這些請求,您需要設置並配置一個私人端點。

Bot Service 如何實作私人端點

有兩個主要案例會使用私人端點:

  • 讓您的機器人能存取令牌端點。
  • 要讓 Direct Line 通道擴充功能存取 Bot 服務。

私人端點會將所需的服務 投影 到您的虛擬網路中,使其可直接在您的網路內使用,而不需向因特網公開您的虛擬網路,或允許列出任何IP位址。 透過私人端點的所有流量都會通過 Azure 內部伺服器,以確保您的流量不會外洩至因特網。

服務會使用兩個子資源 BotToken,將服務投影到您的網路。 當您新增私人端點時,Azure 會為每個子資源產生 Bot 特定的 DNS 記錄,並在 DNS 區域群組中設定端點。 這可確保以相同子資源為目標之不同 Bot 的端點可以彼此區別,同時重複使用相同的 DNS 區域群組資源。

範例案例

假設您有一個名為 SampleBot 的 Bot,以及對應的應用程式服務, SampleBot.azurewebsites.net可作為此 Bot 的傳訊端點。 您可以在公用雲端環境下的 Azure 入口網站中設定 SampleBot 的私人端點,具有子資源類型 Bot,以建立 DNS 區域群組,其 A 記錄對應至 SampleBot.botplinks.botframework.com。 此 DNS 記錄會對應到虛擬網路中的本機 IP。 同樣地,使用子資源類型 Token 會產生端點 SampleBot.bottoken.botframework.com

A您所建立 DNS 區域中的記錄會對應至虛擬網路內的 IP 位址。 因此,傳送至此端點的要求是在您的網路內部進行,並且不會違反網路安全組或 Azure 防火牆中限制來自您網路的輸出流量的規則。 Azure 網路層和 Bot Framework 服務可確保您的要求不會外洩至公用因特網,併為您的網路維護隔離。