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 應用程式服務的輸入和輸出要求存取。
私人端點可透過 Direct Line App Service 擴充功能在 Bot 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 組態或從權杖端點擷取權杖。 若要加速這些要求,您必須設定及設定私人端點。
Bot Service 如何實作私人端點
有兩個主要案例會使用私人端點:
- 讓您的 Bot 存取權杖端點。
- 若要讓 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 服務可確保您的要求不會外泄至公用網際網路,並為您的網路維護隔離。