Защита ресурсов рабочей области Машинного обучения Azure с помощью виртуальных сетей
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение машинного обучения Azure CLI версии 2 (current)Python SDK azure-ai-ml версии 2 (current)
ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Машинного обучения для Azure CLI версии 1пакет SDK для Python azureml версии 1
Совет
Вместо действий, описанных в этой статье, можно использовать Машинное обучение Azure управляемых виртуальных сетей. С помощью управляемой виртуальной сети Машинное обучение Azure обрабатывает задание сетевой изоляции для рабочей области и управляемых вычислений. Вы также можете добавить частные конечные точки для ресурсов, необходимых рабочей области, например служба хранилища Azure account. Дополнительные сведения см. в изоляция управляемой сети рабочей области.
Узнайте, как защитить ресурсы рабочей области Машинное обучение Azure и вычислительные среды с помощью виртуальная сеть Azure (виртуальных сетей). В статье использован пример сценария для демонстрации настройки полной виртуальной сети.
Эта статья входит в цикл статей, посвященных вопросам защиты рабочего процесса Машинного обучения Azure. Другие статьи этой серии:
Руководство по созданию безопасной рабочей области см. в руководстве по созданию безопасной рабочей области, шаблона Bicep или шаблона Terraform.
Необходимые компоненты
В этой статье предполагается, что у вас есть знакомство со следующими статьями:
- Виртуальные сети Azure
- Работа в сети по протоколу IP
- Рабочая область Машинного обучения Azure с частной конечной точкой.
- Группы безопасности сети (NSG)
- Сетевые брандмауэры
Пример сценария
В этом разделе вы ознакомитесь с настройкой общего сетевого сценария для защиты взаимодействия службы "Машинное обучение Azure" с частными IP-адресами.
В таблице ниже проведено сравнение обращения к разным частям сети "Машинное обучение Azure" как с виртуальной сетью, так и без нее.
Сценарий | Рабочая область | Связанные ресурсы | Вычислительная среда для обучения | Вычислительная среда для операций вывода |
---|---|---|---|---|
Без виртуальной сети | Общедоступный IP-адрес | Общедоступный IP-адрес | Общедоступный IP-адрес | Общедоступный IP-адрес |
Общедоступная рабочая область, все остальные ресурсы в виртуальной сети | Общедоступный IP-адрес | Общедоступный IP-адрес (конечная точка службы) - или - Частный IP-адрес (частная конечная точка) |
Общедоступный IP-адрес | Частный IP-адрес |
Защита ресурсов в виртуальной сети | Частный IP-адрес (частная конечная точка) | Общедоступный IP-адрес (конечная точка службы) - или - Частный IP-адрес (частная конечная точка) |
Частный IP-адрес | Частный IP-адрес |
- Рабочая область. Создайте частную конечную точку для рабочей области. Частная конечная точка подключает рабочую область к виртуальной сети через несколько частных IP-адресов.
- Общий доступ. При необходимости можно включить общий доступ для защищенной рабочей области.
- Связанный ресурс. Используйте конечные точки службы или частные конечные точки для подключения к ресурсам рабочей области, таким как служба хранилища Azure, Azure Key Vault. Для службы контейнеров Azure используйте частную конечную точку.
- Конечные точки службы предоставляют идентификатор виртуальной сети службе Azure. После включения конечных точек службы в виртуальной сети можно добавить правило виртуальной сети, чтобы обеспечить безопасность ресурсов службы Azure в виртуальной сети. Конечные точки службы используют общедоступные IP-адреса.
- Частные конечные точки — это сетевые интерфейсы, которые безопасно подключают пользователя к службе на базе Приватного канала Azure. Частная конечная точка использует частный IP-адрес из виртуальной сети, фактически перемещая службу в виртуальную сеть.
- Доступ к вычислительной среде обучения. Обеспечение доступа с помощью общедоступных или частных IP-адресов к целевым объектам вычислительной среды обучения, таким как экземпляр Вычислительной среды Машинного обучения Azure и вычислительные кластеры службы "Машинное обучение Azure".
- Доступ к вычислительной среде для операций вывода. Обеспечение доступа к вычислительным кластерам службы Azure Kubernetes (AKS) с помощью частных IP-адресов.
В следующих разделах показано, как защитить описанный ранее сетевой сценарий. Для защиты сети необходимо выполнить действия, описанные ниже.
- Обеспечение безопасности рабочей области и связанных ресурсов.
- Обеспечение безопасности среды обучения.
- Обеспечение безопасности среды для операций вывода.
- Дополнительно: включение функциональных возможностей студии.
- Настройка параметров брандмауэра.
- Настройка разрешения имен DNS.
Общедоступная рабочая область и защищенные ресурсы
Внимание
Хотя это поддерживаемая конфигурация для Машинное обучение Azure, корпорация Майкрософт не рекомендует ее. Данные в учетной записи служба хранилища Azure виртуальной сети можно предоставлять в общедоступной рабочей области. Перед использованием конфигурации в рабочей среде необходимо проверить эту конфигурацию с помощью команды безопасности.
Если вы хотите получить доступ к рабочей области через общедоступный Интернет, сохраняя при этом все связанные ресурсы в безопасности в виртуальной сети, выполните следующие действия.
Создайте виртуальная сеть Azure. Эта сеть защищает ресурсы, используемые рабочей областью.
Чтобы создать общедоступную рабочую область, используйте один из следующих вариантов.
- Создайте рабочую область Машинного обучения Azure, которая не использует виртуальную сеть. Дополнительные сведения см. в статье Управление рабочей областью Машинного обучения Azure.
ИЛИ
- Создайте рабочую область с поддержкой Приватного канала Azure, чтобы обеспечить взаимодействие между виртуальной сетью и рабочей областью. Затем включите общий доступ к рабочей области.
- Создайте рабочую область Машинного обучения Azure, которая не использует виртуальную сеть. Дополнительные сведения см. в статье Управление рабочей областью Машинного обучения Azure.
- Создайте рабочую область с поддержкой Приватного канала Azure, чтобы обеспечить взаимодействие между виртуальной сетью и рабочей областью. Затем включите общий доступ к рабочей области.
Добавьте в виртуальную сеть указанные ниже службы, используя либо конечную точку службы или частную конечную точку. Разрешите также доступ к этим службам для доверенных служб Майкрософт.
Service Сведения о конечных точках Разрешить доверенные сведения Azure Key Vault Конечная точка службы
Частная конечная точкаРазрешить доверенным службам Майкрософт обходить этот брандмауэр Учетная запись хранения Azure Конечная точка службы и частная конечная точка
Частная конечная точкаПредоставить доступ к доверенным службам Azure Реестр контейнеров Azure; Частная конечная точка Разрешить доверенные службы Service Сведения о конечных точках Разрешить доверенные сведения Azure Key Vault Конечная точка службы
Частная конечная точкаРазрешить доверенным службам Майкрософт обходить этот брандмауэр Учетная запись хранения Azure Конечная точка службы и частная конечная точка
Частная конечная точкаПредоставить доступ к доверенным службам Azure Реестр контейнеров Azure; Частная конечная точка Разрешить доверенные службы В свойствах учетной записи служба хранилища Azure для рабочей области добавьте IP-адрес клиента в список разрешенных в параметрах брандмауэра. Дополнительные сведения см. в статье Настройка брандмауэров и виртуальных сетей.
Защита рабочей области и связанных ресурсов
Чтобы защитить рабочую область и связанные с ней ресурсы, выполните действия, описанные ниже. Эти действия обеспечивают взаимодействие служб в виртуальной сети.
Создайте виртуальная сеть Azure. Эта сеть защищает рабочую область и другие ресурсы. Затем создайте рабочую область с поддержкой Приватного канала Azure, чтобы обеспечить взаимодействие между виртуальной сетью и рабочей областью.
Добавьте в виртуальную сеть указанные ниже службы, используя либо конечную точку службы или частную конечную точку. Разрешите также доступ к этим службам для доверенных служб Майкрософт.
Service Сведения о конечных точках Разрешить доверенные сведения Azure Key Vault Конечная точка службы
Частная конечная точкаРазрешить доверенным службам Майкрософт обходить этот брандмауэр Учетная запись хранения Azure Конечная точка службы и частная конечная точка
Частная конечная точкаПредоставление доступа из экземпляров ресурсов Azure
или
Предоставление доступа к доверенным службам AzureРеестр контейнеров Azure; Частная конечная точка Разрешить доверенные службы
Создайте виртуальная сеть Azure. Эта виртуальная сеть защищает рабочую область и другие ресурсы. Затем создайте рабочую область с поддержкой Приватного канала Azure, чтобы обеспечить взаимодействие между виртуальной сетью и рабочей областью.
Добавьте в виртуальную сеть указанные ниже службы, используя либо конечную точку службы или частную конечную точку. Разрешите также доступ к этим службам для доверенных служб Майкрософт.
Service Сведения о конечных точках Разрешить доверенные сведения Azure Key Vault Конечная точка службы
Частная конечная точкаРазрешить доверенным службам Майкрософт обходить этот брандмауэр Учетная запись хранения Azure Конечная точка службы и частная конечная точка
Частная конечная точкаПредоставление доступа из экземпляров ресурсов Azure
или
Предоставление доступа к доверенным службам AzureРеестр контейнеров Azure; Частная конечная точка Разрешить доверенные службы
Подробные инструкции по выполнению этих действий см. в статье Защита рабочей области "Машинное обучение Azure".
Подробные инструкции по выполнению этих действий см. в статье Защита рабочей области "Машинное обучение Azure".
Ограничения
Для защиты рабочей области и связанных с ней ресурсов в виртуальной сети установлены описанные ниже ограничения.
Рабочая область и учетная запись хранения по умолчанию должны находиться в одной виртуальной сети. Однако разрешены подсети в рамках одной и той же виртуальной сети. Например, рабочая область в одной подсети и хранилище в другой.
Рекомендуется также использовать Azure Key Vault и Реестр контейнеров Azure для рабочей области. Однако оба этих ресурса также могут находиться в одноранговой виртуальной сети.
Обеспечение безопасности среды обучения
В этом разделе вы ознакомитесь с методами обеспечения безопасности среды обучения в решении "Машинное обучение Azure". Вы также узнаете, как решение "Машинное обучение Azure" выполняет учебное задание, и разберетесь в совместной работой сетевых конфигураций.
Чтобы обеспечить безопасность среды обучения, выполните действия, описанные ниже.
Создайте Машинное обучение Azure вычислительный экземпляр и кластер компьютеров в виртуальной сети. Задания обучения выполняются на этих вычислениях.
Если в вычислительном кластере или вычислительном экземпляре используется общедоступный IP-адрес, необходимо разрешить входящий трафик, чтобы службы управления могли отправлять задания в вычислительные ресурсы.
Совет
Вычислительный кластер и вычислительный экземпляр можно создать с общедоступным IP-адресом или без него. При создании с помощью общедоступного IP-адреса вы получите подсистему балансировки нагрузки с общедоступным IP-адресом, чтобы принимать входящий трафик из пакетной службы Azure и службы "Машинное обучение Azure". При использовании брандмауэра необходимо настроить определяемую пользователем маршрутизацию (UDR). При создании без использования общедоступного IP-адреса вы получите службу приватного канала для приема входящего трафика из пакетной службы Azure и службы "Машинное обучение Azure" без общедоступного IP-адреса.
Создайте Машинное обучение Azure вычислительный экземпляр и кластер компьютеров в виртуальной сети. Обучение заданий, выполняемых на этих вычислениях.
Если в вычислительном кластере или вычислительном экземпляре используется общедоступный IP-адрес, необходимо разрешить входящий трафик, чтобы службы управления могли отправлять задания в вычислительные ресурсы.
Совет
Вычислительный кластер и вычислительный экземпляр можно создать с общедоступным IP-адресом или без него. При создании с помощью общедоступного IP-адреса вы получите подсистему балансировки нагрузки с общедоступным IP-адресом, чтобы принимать входящий трафик из пакетной службы Azure и службы "Машинное обучение Azure". При использовании брандмауэра необходимо настроить определяемую пользователем маршрутизацию (UDR). При создании без использования общедоступного IP-адреса вы получите службу приватного канала для приема входящего трафика из пакетной службы Azure и службы "Машинное обучение Azure" без общедоступного IP-адреса.
Подробные инструкции по выполнению этих действий см. в разделе Обеспечение безопасности среды обучения.
Подробные инструкции по выполнению этих действий см. в разделе Обеспечение безопасности среды обучения.
Пример отправки учебного задания
В этом разделе вы ознакомитесь с тем, как решение "Машинное обучение Azure" обеспечивает безопасное взаимодействие между службами для отправки учебного задания. В этом примере показано, как все конфигурации работают вместе для защиты обмена данными.
Клиент отправляет учебные сценарии и данные для обучения в учетные записи хранения, защищенные с помощью службы или частной конечной точки.
Клиент отправляет учебное задание в рабочую область "Машинное обучение Azure" через частную конечную точку.
Пакетная служба Azure получает задание из рабочей области. А затем отправляет задание обучения в вычислительную среду через общедоступную подсистему балансировки нагрузки для вычислительного ресурса.
Вычислительный ресурс получает задание и начинает обучение. Вычислительный ресурс использует сведения, хранящиеся в хранилище ключей, для доступа к учетным записям хранения для загрузки обучающих файлов и передачи выходных данных.
Ограничения
- Вычислительный экземпляр Azure и вычислительные кластеры Azure должны находиться в той же виртуальной сети, регионе и подписке, что и рабочая область и связанные с ней ресурсы.
Защита среды для операций вывода
Вы можете включить сетевую изоляцию для управляемых подключенных конечных точек для защиты следующего сетевого трафика:
- Входящие запросы оценки.
- Исходящая связь с рабочей областью, Реестр контейнеров Azure и Хранилище BLOB-объектов Azure.
Дополнительные сведения см. в статье Включение сетевой изоляции для управляемых подключенных конечных точек.
В этом разделе описаны параметры, доступные для защиты среды вывода при использовании расширения Azure CLI для ML версии 1 или пакета SDK для Python версии 1 Машинное обучение Azure. При развертывании с помощью версии 1 рекомендуем использовать кластеры Службы Azure Kubernetes (AKS) для масштабных производственных развертываний.
Имеется два варианта для кластеров AKS в виртуальной сети.
- Развертывание или присоединение кластера AKS по умолчанию к виртуальной сети.
- Присоединение частного кластера AKS к виртуальной сети.
Кластеры AKS по умолчанию имеют уровень управления с общедоступными IP-адресами. Вы можете добавить кластер AKS по умолчанию в виртуальную сеть во время развертывания или подключить кластер после создания.
Частные кластеры AKS имеют уровень управления, доступ к которому может осуществляться только через частные IP-адреса. Частные кластеры AKS должны присоединяться после создания кластера.
Подробные инструкции по добавлению кластера по умолчанию и частных кластеров см. в разделе Обеспечение безопасности среды для операций вывода.
Независимо от используемого по умолчанию кластера AKS или частного кластера AKS, если кластер AKS находится за виртуальной сетью, ваша рабочая область и связанные с ней ресурсы (хранилище, хранилище ключей и ACR) должны иметь частные конечные точки или конечные точки службы в той же виртуальной сети, что и кластер AKS.
На схеме сети, представленной ниже, показана защищенная рабочая область "Машинное обучение Azure" с частным кластером AKS, подключенным к виртуальной сети.
Дополнительно: включение общего доступа
С помощью частной конечной точки можно защитить рабочую область границей виртуальной сети, при этом по-прежнему разрешая доступ через общедоступный Интернет. Начальная конфигурация аналогична конфигурации для обеспечения безопасности рабочей области и связанных с ней ресурсов.
После защиты рабочей области с помощью частной конечной точки выполните следующие шаги, чтобы разрешить клиентам удаленную разработку с помощью пакета SDK или Студии машинного обучения Azure.
- Включите общий доступ к рабочей области.
- Настройте брандмауэр службы хранилища Azure, чтобы разрешить обмен данными с IP-адресами клиентов, которые подключаются через общедоступный Интернет.
- Включите общий доступ к рабочей области.
- Настройте брандмауэр службы хранилища Azure, чтобы разрешить обмен данными с IP-адресами клиентов, которые подключаются через общедоступный Интернет.
Дополнительно: включение функциональных возможностей студии.
Если хранилище находится в виртуальной сети, то для включения функциональных возможностей студии в полном объеме необходимо выполнить дополнительные действия по конфигурации. По умолчанию отключены компоненты, указанные ниже.
- Предварительный просмотр данных в студии.
- Визуализация данных в конструкторе.
- Развертывание модели в конструкторе.
- Отправка эксперимента автоматизированного машинного обучения (AutoML).
- Запуск проекта маркировки.
Сведения о включении функциональных возможностей студии в полном объеме см. в статье Использование Студии машинного обучения Azure в виртуальных сетях.
Ограничения
Служба маркировки данных с поддержкой Машинного обучения Azure не поддерживает учетные записи хранения по умолчанию за границей виртуальной сети. Вместо этого используйте учетную запись хранения, отличную от используемой по умолчанию, для маркировки данных с поддержкой Машинного обучения Azure.
Совет
Если это не учетная запись хранения по умолчанию, то учетная запись, используемая для маркировки данных, может быть защищена за границей виртуальной сети.
Настройка параметров брандмауэра
Настройте брандмауэр для управления трафиком между ресурсами рабочей области "Машинное обучение Azure" и общедоступной сети Интернет. Хотя мы рекомендуем использовать Брандмауэр Azure, можно использовать другие продукты.
Дополнительные сведения о параметрах брандмауэра см. в статье Использование рабочей области за границей брандмауэра.
Пользовательский DNS
Если для виртуальной сети необходимо использовать пользовательское решение DNS, следует добавить записи узла для рабочей области.
Дополнительные сведения о необходимых доменных именах и IP-адресах см. в статье Использование рабочей области с пользовательским DNS-сервером.
Microsoft Sentinel
Microsoft Sentinel — это решение для обеспечения безопасности, которое можно интегрировать с Машинным обучением Azure. Например, использование записных книжек Jupyter, предоставляемых Машинным обучением Azure. Дополнительные сведения см. в статье Использование записных книжек Jupyter для охоты на угрозы безопасности.
Открытый доступ
Microsoft Sentinel может автоматически создать рабочую область для вас, если вы используете общедоступную конечную точку. В этой конфигурации аналитики центра информационной безопасности (SOC) и системные администраторы подключаются к записным книжкам в вашей рабочей области через Sentinel.
Сведения об этом процессе см. в статье "Создание рабочей области Машинное обучение Azure из Microsoft Sentinel"
Частная конечная точка
Если вы хотите защитить свою рабочую область и связанные ресурсы в виртуальной сети, сначала необходимо создать рабочую область машинного обучения Azure. Вы также должны создать поле перехода виртуальной машины в той же виртуальной сети, что и ваша рабочая область, и включить подключение к ней Бастиона Azure. Как и в общедоступной конфигурации, аналитики и администраторы SOC могут подключаться с помощью Microsoft Sentinel, но некоторые операции для подключения к виртуальной машине необходимо выполнять с помощью Бастиона Azure.
Дополнительные сведения об этой конфигурации см. в статье "Создание рабочей области Машинное обучение Azure" из Microsoft Sentinel
Связанный контент
Эта статья входит в цикл статей, посвященных вопросам защиты рабочего процесса Машинного обучения Azure. Другие статьи этой серии: