配置网络隔离
从2023年9月1日起,强烈建议使用 Azure 服务标记 方法进行网络隔离。 DL-ASE的使用应仅限于高度特定的方案。 在生产环境中实施此解决方案之前,我们建议咨询支持团队以获取指导。
可以将网络隔离添加到现有的 Direct Line 应用服务扩展机器人上。 专用终结点允许网络隔离的机器人与所需的 Bot Framework 服务通信,以便机器人可以在限制为虚拟网络时正确运行。
若要向机器人添加网络隔离,请执行以下操作:
- 使用虚拟网络并配置网络以防止出站流量。 此时,机器人将无法与其他 Bot Framework 服务通信。
- 配置专用终结点恢复连接。
- 重启应用服务并在隔离网络中测试机器人。
- 禁用公用网络访问机器人。
先决条件
- 一个 Azure 帐户。 如果你还没有该订阅,请在开始之前先创建试用版订阅。
- 有权创建 Azure 虚拟网络和网络安全组资源的订阅。
- 工作中的 Direct Line 应用服务扩展机器人。
- 机器人必须使用用于C# 或者JavaScript的 Bot Framework SDK 版本 4.16 或更高版本。
- 机器人已启用命名管道。
- 机器人的应用服务已启用 Direct Line App 服务扩展。
- 连接到机器人 Direct Line 客户端的 Web 聊天控件。
若要确认现有机器人已正确配置:
在浏览器中,打开机器人的 Direct Line 客户端终结点。 例如,
https://<your-app_service>.chinacloudsites.cn/.bot
。验证页面是否显示以下内容:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
- v 显示 Direct Line 应用服务扩展 (ASE) 的生成版本。
- k 指示扩展是否可以从其配置中读取扩展密钥。
- initialized 表明扩展是否可以从 Azure AI 机器人服务下载机器人元数据。
- ib 表明扩展是否能够建立与机器人的入站连接。
- ob 表明扩展是否能够从机器人建立出站连接。
创建虚拟网络
- 转到 Azure 门户。
- 与机器人位于同一区域的 Azure 虚拟网络。
- 将创建虚拟网络和子网。
- 不要创建任何虚拟机。
- 有关常规说明,请参阅使用 Azure 门户中创建虚拟网络。
- 打开机器人的应用服务资源并启用虚拟网络集成。
- 使用在前面步骤中创建的虚拟网络和子网。
- 有关常规说明,请参阅在 Azure 应用服务中启用虚拟网络集成。
- 创建第二个子网。 稍后将使用第二个子网添加专用终结点。
拒绝来自网络的出站流量
- 打开与第一个子网关联的网络安全组。
- 如果未配置安全组,请创建一个。 有关详细信息,请参阅网络安全组。
- 在设置下,选择出站安全规则。
- 在出站安全规则列表中,启用 DenyAllInternetOutbound。
- 转到机器人的应用服务资源。
- 重新启动应用服务。
验证连接是否已断开
在单独的浏览器选项卡中,打开机器人的 Direct Line 客户端终结点。 例如,
https://<your-app_service>.chinacloudsites.cn/.bot
。验证页面是否显示以下内容:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":false}
值
initialized
应为false
,因为应用服务和应用服务扩展无法连接到其他 Bot Framework 服务来初始化自身。 机器人正在虚拟网络中隔离,用于出站连接。
创建专用终结点
- 转到 Azure 门户。
- 打开机器人的 Web 应用机器人资源。
- 在设置下选择网络 。
- 在专用访问选项卡上,选择创建专用终结点连接。
- 在资源选项卡上,从目标子资源列表中选择机器人。
- 在虚拟网络选项卡中,选择你创建的虚拟网络和第二个子网。
- 保存专用终结点。
- 在专用访问选项卡上,选择创建专用终结点连接。
将专用终结点添加到机器人的应用服务
- 打开机器人的 Azure 应用服务资源。
- 在设置下,选择配置。
- 在应用程序设置选项卡上,选择新建应用程序设置 。
- 将名称设为
DirectLineExtensionABSEndpoint
。 - 将值设置为专用终结点 URL,例如
https://<your_azure_bot>.privatelink.directline.botframework.azure.cn/v3/extension
。 - 保存新设置。
- 将名称设为
- 在应用程序设置选项卡上,选择新建应用程序设置 。
重启应用服务并验证是否已还原连接
重启机器人的应用服务。
在单独的浏览器选项卡中,打开机器人的 Direct Line 客户端终结点。 例如,
https://<your-app_service>.chinacloudsites.cn/.bot
。验证页面是否显示以下内容:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
initialized
的值应当为true
。使用连接到机器人 Direct Line 客户端的 Web 聊天控件与专用网络中机器人进行交互。
如果专用终结点无法正常工作,可以添加规则以允许专门流向 Azure AI 机器人服务的出站流量。
注意
这样,虚拟网络就不那么隔离了。
- 打开与第一个子网关联的网络安全组。
- 在设置下,选择出站安全规则。
- 在出站安全规则列表中,启用 AllowAzureBotService。
- 转到机器人的应用服务资源。
- 重新启动应用服务。
禁用公用网络访问机器人
可以阻止对 Azure AI 机器人服务的公共访问,并且仅允许通过专用终结点进行访问。 可以在Azure 门户中禁用 Azure AI 机器人服务的网络访问。
提示
这将取消配置 Teams 通道。 在Azure 门户中,没有其他通道(Direct Line 除外)可以进行混淆或更新。
- 转到 Azure 门户。
- 打开机器人的应用服务。
- 禁用公用网络访问。
其他信息
虚拟网络配置
有几个选项可用于为虚拟网络配置机器人。
- 创建虚拟网络,然后在网络中启用 Azure 应用服务。 本文介绍了此选项。
- 创建应用服务环境,然后在环境中添加应用服务计划。
- 创建虚拟网络。
- 在虚拟网络中启用Azure 应用服务集成。
以下是本文中使用的步骤,如创建虚拟网络部分中所述。
有关详细信息,请参阅使用 Azure 门户创建虚拟网络和在 Azure 应用服务中启用虚拟网络集成创建虚拟网络。