設定網路隔離
從 2023 年 9 月 1 日起,強烈建議採用 Azure 服務標籤 方法來隔離網路。 DL-ASE 的使用率應僅限於高度特定的案例。 在生產環境中實作此解決方案之前,建議您諮詢您的支援小組以取得指引。
您可以將網路隔離新增至現有的 Direct Line App Service 擴充功能 Bot。 私人端點可讓您的網路隔離 Bot 與必要的 Bot Framework 服務通訊,讓 Bot 可以在受限於虛擬網路時正確執行。
若要將網路隔離新增至 Bot:
- 使用虛擬網路並設定網路來防止輸出流量。 此時,您的 Bot 將會失去與其他 Bot Framework 服務通訊的能力。
- 設定私人端點以還原連線。
- 重新開機您的應用程式服務,並在隔離的網路內測試 Bot。
- 停用 Bot 的公用網路存取。
必要條件
- Azure 帳戶。 如果您還沒有帳戶,請在開始之前建立 免費帳戶 。
- 具有建立 Azure 虛擬網絡 和網路安全性群組資源的訂用帳戶。
- 運作中的 Direct Line App Service 擴充功能 Bot。
- 您的 Bot 會使用適用于 C# 或 JavaScript 的 Bot Framework SDK 4.16 版或更新版本。
- 您的 Bot 已啟用具名管道。
- Bot 的 App Service 已啟用 Direct Line App Service 延伸模組。
- 連線至 Bot Direct Line 用戶端的網路聊天控制項。
若要確認您現有的 Bot 已正確設定:
在瀏覽器中,開啟 Bot 的 Direct Line 用戶端端點。 例如:
https://<your-app_service>.azurewebsites.net/.bot
。確認頁面會顯示下列內容:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
- v 顯示 Direct Line App Service 延伸模組的組建版本。
- k 表示延伸模組是否能夠從其組態讀取延伸模組金鑰。
- 初始化 表示延伸模組是否能夠從 Azure AI Bot Service 下載 Bot 中繼資料。
- ib 指出延伸模組是否能夠建立 Bot 的輸入連線。
- ob 指出延伸模組是否能夠從 Bot 建立輸出連線。
建立虛擬網路
- 前往 Azure 入口網站。
- 在與 Bot 相同的區域中建立 Azure 虛擬網絡 資源。
- 這會同時建立虛擬網路和子網。
- 請勿建立任何虛擬機器。
- 如需一般指示,請參閱 使用 Azure 入口網站 建立虛擬網路。
- 開啟 Bot 的 App Service 資源,並啟用虛擬網路整合。
- 使用上一個步驟中的虛擬網路和子網。
- 如需一般指示,請參閱 在 Azure App 服務 中啟用虛擬網路整合。
- 建立第二個子網。 您稍後會使用第二個子網來新增私人端點。
拒絕來自您網路的輸出流量
- 開啟與您的第一個子網相關聯的網路安全性群組。
- 如果未設定安全性群組,請建立一個。 如需詳細資訊,請參閱 網路安全性群組 。
- 在 [設定] 下,選取 [輸出安全性規則]。
- 在輸出安全性規則清單中,啟用 DenyAllInternetOutbound 。
- 移至 Bot 的 App Service 資源。
- 重新開機您的應用程式服務。
確認連線中斷
在不同的瀏覽器索引標籤中,開啟 Bot 的 Direct Line 用戶端端點。 例如:
https://<your-app_service>.azurewebsites.net/.bot
。確認頁面會顯示下列內容:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":false}
的值
initialized
應該是false
,因為您的應用程式服務和 App Service 擴充功能無法連線到其他 Bot Framework 服務來初始化本身。 您的 Bot 現在會在虛擬網路中隔離以進行輸出連線。
建立私人端點
- 前往 Azure 入口網站。
- 開啟 Bot 的 Azure Bot 資源。
- 在 [設定 ] 下 ,選取 [ 網路 ]。
- 在 [ 私人存取] 索引標籤上,選取 [ 建立私人端點 ]。
- 在 [ 資源] 索引標籤上,針對 [目標子資源 ],從清單中選取 [Bot ]。
- 在 [ 虛擬網絡] 索引標籤上,選取您的虛擬網路和您建立的第二個子網。
- 儲存您的私人端點。
- 在 [ 私人存取] 索引標籤上,選取 [ 建立私人端點 ]。
將私人端點新增至 Bot 的應用程式服務
- 開啟 Bot 的Azure App 服務資源。
- 在 [設定] 底下,選取 [設定]。
- 在 [ 應用程式設定] 索引標籤上,選取 [ 新增應用程式設定 ]。
- 將 [名稱] 設定為
DirectLineExtensionABSEndpoint
。 - 將 [值] 設定 為私人端點 URL,例如
https://<your_azure_bot>.privatelink.directline.botframework.com/v3/extension
。 - 儲存新的設定。
- 將 [名稱] 設定為
- 在 [ 應用程式設定] 索引標籤上,選取 [ 新增應用程式設定 ]。
重新開機您的應用程式服務,並確認已還原連線
重新開機 Bot 的應用程式服務。
在不同的瀏覽器索引標籤中,開啟 Bot 的 Direct Line 用戶端端點。 例如:
https://<your-app_service>.azurewebsites.net/.bot
。確認頁面會顯示下列內容:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
的值
initialized
應該是true
。使用連線至 Bot Direct Line 用戶端的網路聊天控制項,與私人網路內的 Bot 互動。
如果您的私人端點無法正常運作,您可以新增規則以允許輸出流量特別傳送至 Azure AI Bot Service。
注意
這可讓您的虛擬網路稍微隔離一點。
- 開啟與您的第一個子網相關聯的網路安全性群組。
- 在 [設定] 下,選取 [輸出安全性規則]。
- 在輸出安全性規則清單中,啟用 AllowAzureBotService 。
- 移至 Bot 的 App Service 資源。
- 重新開機您的應用程式服務。
停用 Bot 的公用網路存取
您可以封鎖對 Azure AI Bot 服務的公用存取,並只允許透過私人端點進行存取。 您可以在 Azure 入口網站 中停用 Azure AI Bot Service 的網路存取。
提示
這會取消設定 Teams 頻道。 在 Azure 入口網站 中,沒有其他通道(除了 Direct Line) 可以混為一體或更新。
- 前往 Azure 入口網站。
- 開啟 Bot 的 App Service。
- 停用公用網路存取。
其他資訊
虛擬網路設定
您有幾個選項可設定虛擬網路的 Bot。
- 建立虛擬網路,然後在網路中啟用Azure App 服務。 這是本文中使用的選項。
- 建立 App Service 環境,然後在環境中新增 App Service 方案。
- 建立虛擬網路。
- 啟用虛擬網路內的Azure App 服務整合。
這些是本文中使用的步驟,如建立虛擬網路 一節中所述 。
如需詳細資訊,請參閱 在 Azure App 服務 中使用Azure 入口網站 和 啟用虛擬網路整合來建立虛擬網路。