Настройка сетевой изоляции
С 1 сентября 2023 г. настоятельно рекомендуется использовать метод тега службы Azure для сетевой изоляции. Использование DL-ASE должно быть ограничено конкретными сценариями. Прежде чем реализовать это решение в рабочей среде, мы рекомендуем проконсультироваться с вашей группой поддержки для получения рекомендаций.
Вы можете добавить сетевую изоляцию в существующий бот расширения Direct Line Служба приложений. Частная конечная точка позволяет вашему сетевому изолированному боту взаимодействовать с необходимыми службами Bot Framework, чтобы бот смог правильно выполняться при ограничении виртуальной сети.
Чтобы добавить сетевую изоляцию в бот, выполните следующее:
- Используйте виртуальную сеть и настройте сеть для предотвращения исходящего трафика. На этом этапе бот потеряет возможность взаимодействовать с другими службами Bot Framework.
- Настройте частные конечные точки для восстановления подключения.
- Перезапустите службу приложений и протестируйте бота в изолированной сети.
- Отключите доступ к общедоступной сети боту.
Необходимые компоненты
- Учетная запись Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начать работу.
- Подписка с разрешением на создание ресурсов группы безопасности сети и azure виртуальная сеть.
- Рабочий бот расширения Direct Line Служба приложений.
- Бот использует пакет SDK Bot Framework для C# или JavaScript версии 4.16 или более поздней.
- Бот включил именованные каналы.
- Служба приложений бота включает расширение Direct Line Служба приложений.
- Элемент управления Веб-чат, подключенный к клиенту Direct Line бота.
Чтобы убедиться, что существующий бот настроен правильно:
В браузере откройте конечную точку клиента Direct Line для бота. Например,
https://<your-app_service>.azurewebsites.net/.bot
.Проверьте, отображается следующая страница:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
- В v показана версия сборки расширения Direct Line Служба приложений.
- k указывает, удалось ли расширение считывать ключ расширения из конфигурации.
- инициализировано указывает, удалось ли расширение скачать метаданные бота из Служба Bot ИИ Azure.
- ib указывает, удалось ли расширение установить входящее подключение к боту.
- ob указывает, удалось ли расширение установить исходящее подключение от бота.
Создание виртуальной сети
- Перейдите на портал Azure.
- Создайте ресурс Azure виртуальная сеть в том же регионе, что и бот.
- Это создает виртуальную сеть и подсеть.
- Не создавайте виртуальные машины.
- Общие инструкции см. в статье "Создание виртуальной сети с помощью портал Azure".
- Откройте ресурс службы приложений для бота и включите интеграцию виртуальной сети.
- Используйте виртуальную сеть и подсеть из предыдущего шага.
- Общие инструкции см. в разделе "Включение интеграции виртуальной сети" в службе приложение Azure.
- Создайте вторую подсеть. Вы будете использовать вторую подсеть позже, чтобы добавить частную конечную точку.
Запрет исходящего трафика из сети
- Откройте группу безопасности сети, связанную с первой подсетью.
- Если группа безопасности не настроена, создайте ее. Дополнительные сведения см. в разделе Группы безопасности сети.
- В разделе Параметры выберите Правила безопасности для исходящего трафика.
- В списке правил безопасности для исходящего трафика включите DenyAllInternetOutbound.
- Перейдите к ресурсу службы приложений для бота.
- Перезапустите службу приложений.
Убедитесь, что подключение нарушено
На отдельной вкладке браузера откройте конечную точку клиента Direct Line для бота. Например,
https://<your-app_service>.azurewebsites.net/.bot
.Проверьте, отображается следующая страница:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":false}
Значение
initialized
должно бытьfalse
, так как служба приложений и расширение службы приложений не могут подключаться к другим службам Bot Framework, чтобы инициализировать себя. Теперь бот изолирован в виртуальной сети для исходящих подключений.
Создание частной конечной точки
- Перейдите на портал Azure.
- Откройте ресурс Azure Bot для бота.
- В разделе Параметры выберите Сеть.
- На вкладке "Частный доступ" выберите "Создать частную конечную точку".
- На вкладке "Ресурс " в качестве подресурса целевого объекта выберите Bot из списка.
- На вкладке виртуальная сеть выберите виртуальную сеть и созданную вторую подсеть.
- Сохраните частную конечную точку.
- На вкладке "Частный доступ" выберите "Создать частную конечную точку".
Добавление частной конечной точки в службу приложений бота
- Откройте ресурс службы приложение Azure для бота.
- В разделе Параметры выберите пункт Конфигурация.
- На вкладке Параметры приложения выберите Новый параметр приложения.
- В качестве имени задайте
DirectLineExtensionABSEndpoint
. - Задайте значение URL-адрес частной конечной точки, например
https://<your_azure_bot>.privatelink.directline.botframework.com/v3/extension
. - Сохраните новый параметр.
- В качестве имени задайте
- На вкладке Параметры приложения выберите Новый параметр приложения.
Перезапустите службу приложений и убедитесь, что подключение восстановлено
Перезапустите службу приложений для бота.
На отдельной вкладке браузера откройте конечную точку клиента Direct Line для бота. Например,
https://<your-app_service>.azurewebsites.net/.bot
.Проверьте, отображается следующая страница:
{"v":"123","k":true,"ib":true,"ob":true,"initialized":true}
Значение
initialized
должно быть следующим:true
.Используйте элемент управления Веб-чат, подключенный к клиенту Direct Line бота, для взаимодействия с ботом в частной сети.
Если частная конечная точка не работает правильно, можно добавить правило, чтобы разрешить исходящий трафик специально в azure AI Служба Bot.
Примечание.
Это сделает виртуальную сеть менее изолированной.
- Откройте группу безопасности сети, связанную с первой подсетью.
- В разделе Параметры выберите Правила безопасности для исходящего трафика.
- В списке правил безопасности для исходящего трафика включите AllowAzureBotService.
- Перейдите к ресурсу службы приложений для бота.
- Перезапустите службу приложений.
Отключение доступа к общедоступной сети боту
Вы можете заблокировать общедоступный доступ к Служба Bot ИИ Azure и разрешить доступ только через частную конечную точку. В портал Azure можно отключить сетевой доступ Служба Bot ИИ Azure.
Совет
Это приведет к ненастройке каналов Teams. Другие каналы (кроме Direct Line) не могут быть настроены или обновлены в портал Azure.
- Перейдите на портал Azure.
- Откройте службу приложений для бота.
- Отключите доступ к общедоступной сети.
Дополнительные сведения
Конфигурация виртуальной сети
У вас есть несколько вариантов настройки бота для виртуальной сети.
- Создайте виртуальную сеть и включите службу приложение Azure в сети. Этот параметр используется в этой статье.
- Создайте среду Служба приложений и добавьте Служба приложений план в среде.
- Создайте виртуальную сеть.
- Включите интеграцию служб приложение Azure в виртуальной сети.
Это действия, описанные в этой статье, как описано в разделе "Создание виртуальной сети ".
Дополнительные сведения см. в статье "Создание виртуальной сети с помощью портал Azure и включение интеграции виртуальной сети в службе приложение Azure".