從 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 擴充套件取得私人端點。 請參閱下列使用私人端點的需求:
活動必須從 App Service 端點來回傳送。
App Service 延伸模組與您的 Bot 端點的 App Service 共置。 所有往返端點的訊息都在您虛擬網路的本地處理,直接到達您的用戶端,而不會傳送到 Bot Framework 服務。
若要讓 使用者驗證 能夠運作,您的 Bot 用戶端必須與服務提供者通訊,例如Microsoft Entra ID 或 GitHub,以及令牌端點。
如果您的 Bot 用戶端位於虛擬網路中,您必須在虛擬網路內將這兩個端點加入白名單。 請透過 服務標籤針對令牌端點執行此動作。 Bot 端點本身也需要存取令牌端點,如下所述。
使用 App Service 擴充功能時,您的 Bot 端點和 App Service 擴充功能必須將輸出 HTTPS 要求傳送至 Bot Framework 服務。
這些請求適用於各種元操作,例如擷取機器人配置或從令牌端點擷取令牌。 為了便於處理這些請求,您需要設置並配置一個私人端點。
Bot Service 如何實作私人端點
有兩個主要案例會使用私人端點:
- 讓您的機器人能存取令牌端點。
- 要讓 Direct Line 通道擴充功能存取 Bot 服務。
私人端點會將所需的服務 投影 到您的虛擬網路中,使其可直接在您的網路內使用,而不需向因特網公開您的虛擬網路,或允許列出任何IP位址。 透過私人端點的所有流量都會通過 Azure 內部伺服器,以確保您的流量不會外洩至因特網。
服務會使用兩個子資源 Bot
和 Token
,將服務投影到您的網路。 當您新增私人端點時,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 服務可確保您的要求不會外洩至公用因特網,併為您的網路維護隔離。