Поток сетевого трафика при использовании защищенной рабочей области

Когда вы помещаете рабочую область Машинное обучение Azure и связанные ресурсы в виртуальную сеть Azure, она изменяет сетевой трафик между ресурсами. Без виртуальной сети сетевой трафик передается через общедоступный Интернет или в центре обработки данных Azure. После внедрения виртуальной сети также может потребоваться ужесточить безопасность сети. Например, может потребоваться заблокировать входящий и исходящий обмен данными между виртуальной сетью и общедоступным Интернетом. Однако Машинному обучению Azure требуется доступ к некоторым ресурсам в интернете. Например, он использует Azure Resource Manager для развертываний и операций управления.

В этой статье перечислены исходящий и входящий трафик для общедоступного Интернета. В ней также объясняется, как сетевой трафик проходит между средой разработки клиента и защищенной рабочей областью Машинного обучения Azure в следующих сценариях:

  • Использование студии машинного обучения Azure для работы с:

    • Ваша рабочая область
    • AutoML (автоматизированное машинное обучение)
    • Дизайнер
    • Наборы данных и хранилища данных

    Студия машинного обучения Azure — это веб-интерфейс, который выполняется частично в веб-браузере. Он вызывает службы Azure для выполнения таких задач, как обучение модели, использование конструктора или просмотр наборов данных. Некоторые из этих запросов используют иной поток связи, чем использование Машинное обучение Azure SDK, Azure CLI, REST API или Visual Studio Code.

  • Используя Машинное обучение Azure Studio, Машинное обучение Azure SDK, Azure CLI или REST API для работы:

    • Вычислительные экземпляры и кластеры
    • Служба Azure Kubernetes (AKS)
    • Образы Docker, управляемые Машинное обучение Azure

Если сценарий или задача не перечислены здесь, он должен работать с защищенной рабочей областью или без нее.

Предположения

В этой статье предполагается использование следующей конфигурации:

  • Рабочая область Машинное обучение Azure использует частную конечную точку для взаимодействия с виртуальной сетью.
  • Учетная запись хранения Azure, хранилище ключей и реестр контейнеров, используемые рабочей областью, также использует частную конечную точку для взаимодействия с виртуальной сетью.
  • Клиентские рабочие станции используют VPN-шлюз или Azure ExpressRoute для доступа к виртуальной сети.

Требования к входящим и исходящим данным

Сценарий Обязательные входящие данные Обязательные исходящие данные Дополнительная конфигурация
Доступ к рабочей области из студии Не применимо
  • Microsoft Entra ID
  • Azure Front Door (облачное сетевое решение от Microsoft)
  • Машинное обучение Azure
Может потребоваться использовать пользовательский DNS-сервер. Дополнительные сведения см. в статье "Использование рабочей области с пользовательским DNS-сервером".
Используйте AutoML, конструктор, набор данных и хранилище данных из мастерской Не применимо Не применимо
  • Настройка субъекта-службы рабочей области
  • Разрешение доступа из доверенных служб Azure
Дополнительные сведения см. в статье "Защита рабочей области Машинное обучение Azure с помощью виртуальных сетей".
Использование вычислительного экземпляра и вычислительного кластера
  • Машинное обучение Azure через порт 44224
  • Служба пакетная служба Azure на портах 29876-29877
  • Microsoft Entra ID
  • Azure Resource Manager
  • Машинное обучение Azure
  • Хранилище Azure
  • Azure Key Vault
При использовании брандмауэра создайте определяемые пользователем маршруты. Дополнительную информацию см. в статье Настройка входящего и исходящего сетевого трафика.
Используйте службу Kubernetes Azure Не применимо Сведения о конфигурации исходящих соединений для AKS см. в разделе "Безопасная среда вывода Служба Azure Kubernetes".
Использование сетевых конечных точек См. входящие сообщения См. исходящая связь Требуется управляемая рабочей областью виртуальная сеть.
Используйте образы Docker, управляемые службой Машинное обучение Azure Не применимо Реестр артефактов Microsoft Если реестр контейнеров для рабочей области находится за виртуальной сетью, настройте рабочую область для создания образов с помощью вычислительного кластера. Дополнительные сведения см. в статье "Защита рабочей области Машинное обучение Azure с помощью виртуальных сетей".

Цели учетных записей хранения

Машинное обучение Azure использует несколько учетных записей хранения. Каждый хранит разные данные и имеет разные цели:

  • Ваше хранилище: учетные записи хранения в подписке Azure хранят данные и артефакты, такие как модели, обучающие данные, журналы обучения и скрипты Python. Например, учетная запись хранения по умолчанию для рабочей области находится в вашей подписке. Вычислительный экземпляр и кластер вычислений службы машинного обучения Azure получают доступ к файлам и данным BLOB в этом хранилище через порты 445 (SMB) и 443 (HTTPS).

    При использовании вычислительного экземпляра или вычислительного кластера учетная запись хранения подключается в качестве общей папки через протокол SMB. Вычислительный экземпляр и кластер используют эту общую папку для хранения таких элементов, как данные, модели, записные книжки Jupyter и наборы данных. Вычислительный экземпляр и кластер используют частную конечную точку при доступе к учетной записи хранения.

  • Хранилище Microsoft: Вычислительный экземпляр и кластер для машинного обучения в Azure используют службу пакетная служба Azure. Они получают доступ к хранилищу, расположенному в подписке Майкрософт. Это хранилище используется только для управления вычислительным экземпляром или кластером. Ваши данные в нем не хранятся. Вычислительный экземпляр и вычислительный кластер обращаются к данным больших двоичных объектов, таблиц и очередей в этом хранилище с помощью порта 443 (HTTPS).

Машинное обучение также хранит метаданные в экземпляре Azure Cosmos DB. По умолчанию этот экземпляр размещается в подписке Майкрософт, а корпорация Майкрософт управляет ею. При необходимости можно использовать экземпляр Azure Cosmos DB в подписке Azure. Дополнительные сведения см. в статье Шифрование данных с помощью службы «Машинное обучение Azure».

Сценарий. Доступ к рабочей области из студии

Примечание.

Сведения в этом разделе относятся к использованию рабочей области из Студии машинного обучения Azure. Если вы используете пакет SDK для Машинное обучение Azure, REST API, Azure CLI или Visual Studio Code, сведения в этом разделе не применяются к вам.

При доступе к рабочей области из студии потоки сетевого трафика приведены следующим образом:

  • Для проверки подлинности в ресурсах конфигурация использует идентификатор Microsoft Entra.
  • Для операций управления и развертывания конфигурация использует Azure Resource Manager.
  • Для задач, специфических для Машинное обучение Azure, для конфигурации используется служба Машинное обучение Azure.
  • Для доступа к Студия машинного обучения Azure конфигурация использует Azure Front Door.
  • Для большинства операций с хранилищем трафик проходит через частную конечную точку хранилища по умолчанию для рабочей области. В разделе студии о применении AutoML, конструктора, набора данных и хранилища данных этой статьи рассматриваются исключения.
  • Кроме того, необходимо настроить решение DNS, позволяющее разрешать имена ресурсов в виртуальной сети. Дополнительные сведения см. в статье "Использование рабочей области с пользовательским DNS-сервером".

Схема сетевого трафика между клиентом и рабочей областью при использовании студии.

Сценарий. Использование AutoML, конструктора, набора данных и хранилища данных из студии

Следующие возможности студии Azure Machine Learning используют профилирование данных.

  • Набор данных. Изучение набора данных из студии.
  • Конструктор. Визуализация выходных данных модуля.
  • AutoML: просмотр предварительного просмотра или профиля данных и выбор целевого столбца.
  • Маркировка. Используйте метки для подготовки данных к проекту машинного обучения.

Профилирование данных зависит от способности управляемой службы Машинное обучение Azure получить доступ к учетной записи хранения Azure по умолчанию для рабочей области. Управляемая служба не существует в виртуальной сети, поэтому она не может напрямую получить доступ к учетной записи хранения в виртуальной сети. Вместо этого для доступа к хранилищу в рабочем пространстве используется сервисный принципал.

Совет

При создании рабочей области можно указать представителя службы. Если вы этого не сделаете, оно создаётся для вас и имеет то же имя, что и ваше рабочее пространство.

Чтобы разрешить доступ к учетной записи хранения, настройте её, чтобы разрешить экземпляру ресурса вашего рабочего пространства доступ, или выберите в списке доверенных служб опцию «Разрешить службам Azure» для доступа к этой учетной записи хранения. Этот параметр позволяет управляемой службе получать доступ к хранилищу через сеть центра обработки данных Azure.

Затем добавьте служебный принципал для рабочей области в роль читателя на частную конечную точку учетной записи хранения. Azure использует эту роль для проверки сведений о рабочей области и подсети хранилища. Если они одинаковы, Azure разрешает доступ. Наконец, субъекту-службе также требуется доступ к учетной записи хранения для участника данных Blob.

Дополнительные сведения см. в разделе "Безопасные учетные записи хранения Azure" статьи "Защита рабочей области Машинное обучение Azure с помощью виртуальных сетей".

Схема трафика между клиентом, профилированием данных и хранилищем.

Сценарий. Использование вычислительного экземпляра и вычислительного кластера

Вычислительный экземпляр и кластер в Машинное обучение Azure — это управляемые службы, которые предоставляет корпорация Майкрософт. Они созданы на основе пакетной службы Azure. Хотя они существуют в управляемой корпорацией Майкрософт среде, они также внедряются в виртуальную сеть.

При создании вычислительного экземпляра или вычислительного кластера в виртуальной сети также создаются следующие ресурсы:

  • Группа безопасности сети с необходимыми правилами входящего трафика. Эти правила разрешают входящий доступ из службы машинного обучения Azure (TCP на порту 44224) и службы пакетных вычислений Azure (TCP на портах 29876-29877).

    Внимание

    Если вы используете брандмауэр для блокировки доступа к Интернету в виртуальной сети, необходимо настроить брандмауэр, чтобы разрешить этот трафик. Например, с помощью Брандмауэр Azure можно создать определяемые пользователем маршруты. Дополнительную информацию см. в статье Настройка входящего и исходящего сетевого трафика.

  • Подсистема балансировки нагрузки с общедоступным IP-адресом.

Также разрешите исходящий доступ к следующим тегам службы. Для каждого тега замените region на регион Azure для вашего вычислительного экземпляра или кластера

  • Storage.region: эти исходящие подключения используются для подключения к учетной записи хранилища Azure в управляемой виртуальной сети пакетная служба Azure.
  • AzureKeyVault.region: Этот исходящий доступ используется для подключения к учетной записи Azure Key Vault внутри управляемой пакетной службой Azure виртуальной сети.

Доступ к данным из вычислительного экземпляра или кластера осуществляется через частную конечную точку учетной записи хранения данных в вашей виртуальной сети.

При использовании Visual Studio Code в вычислительном экземпляре необходимо разрешить другой исходящий трафик. Дополнительную информацию см. в статье Настройка входящего и исходящего сетевого трафика.

Схема потока трафика при использовании вычислительного экземпляра или кластера.

Сценарий. Использование сетевых конечных точек

Безопасность для входящих и исходящих подключений настраивается отдельно для управляемых конечных точек в Сети.

Входящая связь

Вы можете защитить входящий обмен данными с URL-адресом оценки конечной точки в Сети с помощью public_network_access флага в конечной точке. Установка флага в значение disabled гарантирует, что конечная точка в сети получает трафик только из виртуальной сети клиента через частную конечную точку рабочей области Машинное обучение Azure.

Флаг public_network_access рабочей области машинного обучения Azure также управляет видимостью онлайн-конечной точки. Если этот флаг disabled, к конечным точкам оценки можно получить доступ только из виртуальных сетей, содержащих частную конечную точку для рабочей области. Если этот флаг имеется enabled, конечная точка оценки может быть получена из виртуальной сети и общедоступных сетей.

Исходящее взаимодействие

Вы можете помочь защитить исходящую связь от развертывания на уровне рабочей области с помощью изоляции управляемой виртуальной сети для рабочей области машинного обучения Azure. Использование этого параметра приводит к тому, что Машинное обучение Azure создаёт управляемую виртуальную сеть для рабочей области. Любые развертывания в управляемой виртуальной сети в рабочей области могут использовать частные конечные точки этой виртуальной сети для исходящих соединений.

Устаревший метод сетевой изоляции для защиты исходящего трафика работал путем отключения флага egress_public_network_access развертывания. Настоятельно рекомендуется защитить исходящее взаимодействие для развертываний, используя вместо этого виртуальную сеть, управляемую рабочей областью. В отличие от устаревшего подхода, флаг egress_public_network_access для развертывания больше не применяется, если вы используете управляемую рабочей областью виртуальную сеть с вашим развертыванием. Вместо этого правила, которые вы устанавливаете для управляемой виртуальной сети рабочей области, контролируют исходящую связь.

Сценарий: использование Службы Azure Kubernetes

Для информации о требуемой конфигурации исходящего трафика для Службы Azure Kubernetes см. ”Защита среды вывода Машинное обучение Azure с помощью виртуальных сетей”.

Примечание.

Балансировщик нагрузки в Службе Kubernetes Azure не совпадает с балансировщиком нагрузки, который создает Машинное обучение Azure. Если вы хотите разместить модель как защищенное приложение, доступное только в виртуальной сети, используйте внутреннюю подсистему балансировки нагрузки, которая Машинное обучение Azure создает. Если вы хотите разрешить общедоступный доступ, используйте общедоступную подсистему балансировки нагрузки, которая Машинное обучение Azure создает.

Если для модели требуется дополнительная возможность входящего или исходящего подключения, например для внешнего источника данных, используйте группу безопасности сети или брандмауэр, чтобы разрешить трафик.

Сценарий: Использование образов Docker, управляемых средством Машинное обучение Azure

Машинное обучение Azure предоставляет образы Docker, которые можно использовать для обучения моделей или вывода. Эти изображения размещаются в Реестр артефактов Microsoft.

Если вы предоставляете собственные образы Docker, например в предоставленном реестре контейнеров, вам не нужен исходящий обмен данными с реестром артефактов.

Совет

Если реестр контейнеров защищен в виртуальной сети, Машинное обучение Azure не может использовать его для создания образов Docker. Вместо этого необходимо назначить вычислительный кластер Машинного обучения Azure для компиляции изображений. Дополнительные сведения см. в статье "Защита рабочей области Машинное обучение Azure с помощью виртуальных сетей".

Схема потока трафика при использовании предоставленных образов Docker.

Следующие шаги

Теперь, когда вы понимаете, как протекает сетевой трафик в защищенной конфигурации, узнайте больше о защите Машинное обучение Azure в виртуальной сети, ознакомившись с обзорной статьей об изоляции виртуальной сети и конфиденциальности.

Дополнительные сведения о рекомендациях см. в статье "Рекомендации по Машинному обучению Azure для обеспечения безопасности предприятий".