Рекомендации по обеспечению корпоративной безопасности с помощью службы «Машинное обучение Azure»

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

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

У управляемой виртуальной сети есть два режима, для которыми его можно настроить:

  • Разрешить исходящий интернет- Этот режим позволяет исходящее взаимодействие с ресурсами, расположенными в Интернете, например общедоступными репозиториями пакетов PyPi или Anaconda.

    A diagram of the recommended architecture with the internet outbound mode.

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

    A diagram of the recommended architecture with the only allowed outbound mode.

Дополнительные сведения см. в разделе "Изоляция управляемой виртуальной сети".

Если вы не можете использовать управляемую виртуальную сеть из-за бизнес-требований, можно использовать виртуальную сеть Azure со следующими подсетями:

  • Подсеть Обучение содержит ресурсы, используемые для обучения, такие как вычислительные экземпляры машинного обучения или кластеры.
  • Подсеть Оценка содержит вычислительные ресурсы, используемые для оценки, например Службу Azure Kubernetes (AKS).
  • Подсеть Брандмауэр содержит брандмауэр, который разрешает входящий и исходящий трафик из общедоступного Интернета, например Брандмауэр Azure.

A diagram of the recommended architecture when using Azure virtual network.

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

  • Учетная запись хранения Azure
  • Azure Key Vault
  • Реестр контейнеров Azure

Исходящий трафик из виртуальной сети должен достигать следующие службы Майкрософт:

  • Машинное обучение
  • Microsoft Entra ID
  • Реестр контейнеров Azure и определенные реестры, которые поддерживаются корпорацией Майкрософт
  • Azure Front Door
  • Azure Resource Manager
  • Хранилище Azure

Удаленные клиенты подключаются к виртуальной сети с помощью Azure ExpressRoute или vpn-подключения.

Проектирование виртуальной сети и частной конечной точки

При разработке виртуальная сеть Azure, подсетей и частных конечных точек учитывайте следующие требования:

  • Как правило, создайте отдельные подсети для обучения и оценки и используйте подсеть обучения для всех частных конечных точек.

  • Вычислительным экземплярам требуется один частный IP-адрес. Вычислительным кластерам требуется один частный IP-адрес на узел. Кластерам AKS требуется много частных IP-адресов, как описано в статье Планирование назначения IP-адресов для кластера AKS. Отдельная подсеть, по крайней мере для AKS, помогает предотвратить нехватку IP-адресов.

  • Вычислительные ресурсы в подсетях обучения и оценки должны получить доступ к учетной записи хранения, хранилищу ключей и реестру контейнеров. Создайте частные конечные точки для учетной записи хранения, хранилища ключей и реестра контейнеров.

  • Хранилищу по умолчанию рабочей области машинного обучения требуются две частные конечные точки: одна для службы Хранилища BLOB-объектов Azure, а другая — для службы «Файлы Azure».

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

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

Использование частных IP-адресов

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

Ресурсы Решение для частного IP-адреса Документация
Рабочая область Частная конечная точка Настройте частную конечную точку для рабочей области Машинного обучения Azure
Реестр Частная конечная точка Сетевая изоляция с помощью реестров Машинное обучение Azure
Связанные ресурсы
Хранилище Частная конечная точка Защита учетных записей хранения Azure с помощью конечных точек службы
Key Vault Частная конечная точка Защита Azure Key Vault
Реестр контейнеров Частная конечная точка Настройка Реестра контейнеров Azure
Учебные ресурсы
Вычислительная операция Частный IP-адрес (без общедоступного IP-адреса) Защита сред обучения
Вычислительный кластер Частный IP-адрес (без общедоступного IP-адреса) Защита сред обучения
Размещение ресурсов
Управляемая сетевая конечная точка Частная конечная точка Сетевая изоляция с управляемыми сетевыми конечными точками
Конечная точка в Сети (Kubernetes) Частная конечная точка Безопасные Служба Azure Kubernetes сетевые конечные точки
Пакетные конечные точки Частный IP-адрес (унаследованный от вычислительного кластера) Сетевая изоляция в конечных точках пакетной службы

Управление входящим и исходящим трафиком виртуальной сети

Используйте брандмауэр или группу безопасности сети (NSG) Azure для управления входящим и исходящим трафиком виртуальной сети. Дополнительные сведения о требованиях к входящему и исходящему трафику см. в статье Настройка входящего и исходящего сетевого трафика. Дополнительные сведения о потоках трафика между компонентами см. в разделе "Поток сетевого трафика" в защищенной рабочей области.

Обеспечение доступа к рабочей области

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

  1. Убедитесь, что у вас есть доступ к виртуальной сети через VPN-подключение, ExpressRoute или виртуальную машину сервера переходов с доступом к Бастиону Azure. Пользователь услуг общедоступного поставщика не может использовать рабочую область машинного обучения с частной конечной точкой, так как доступ к ней можно получить только из виртуальной сети. Дополнительные сведения см. в статье Защита рабочей области с помощью виртуальных сетей.

  2. Убедитесь, что вы можете сопоставить полные доменные имена (FQDN) рабочей области с частным IP-адресом. При использовании собственного сервера службы доменных имен (DNS) или централизованной инфраструктуры DNS необходимо настроить сервер пересылки DNS. Дополнительные сведения см. в статье Использование рабочей области с пользовательским DNS-сервером.

Управление доступом к рабочей области

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

Модель самообслуживания

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

  1. Определите политики Azure, чтобы настроить средства защиты для подготовки и использования ресурсов, например для допустимых размеров кластера и типов виртуальных машин.

  2. Создайте группу ресурсов для хранения рабочих областей и предоставьте специалистам по обработке и анализу данных роль участника в группе ресурсов.

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

  4. Чтобы получить доступ к хранилищу данных, создайте управляемые удостоверения, назначаемые пользователем, и предоставьте роли доступа для чтения в хранилище.

  5. Когда специалисты по обработке и анализу данных создают ресурсы, они могут назначать управляемые удостоверения вычислительным экземплярам для получения доступа к данным.

Рекомендации см. в статье "Проверка подлинности для аналитики в облаке".

Модель, ориентированная на данные

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

Недостатком является то, что доступ к данным не отделен или ограничен на основе каждого проекта, и любой пользователь, добавленный в рабочую область, может получить доступ к тем же ресурсам.

  1. Создайте рабочую область.

  2. Создайте вычислительные ресурсы с включенными удостоверениями, назначенными системой.

  3. Если специалисту по анализу и обработке данных потребуется доступ к данным для определенного проекта, предоставьте управляемому удостоверению доступ на чтение данных.

  4. Предоставьте вычислительным управляемым удостоверениям доступ к другим необходимым ресурсам, таким как реестр контейнеров с пользовательскими образами Docker для обучения.

  5. Кроме того, предоставьте роли доступа к управляемому удостоверению рабочей области для чтения данных, чтобы включить предварительную версию данных.

  6. Предоставьте специалисту по анализу и обработке данных доступ к рабочей области.

  7. Теперь специалист по обработке и анализу данных может создавать хранилища данных для доступа к данным, необходимым для проектов, и отправлять обучающие запуски, использующие данные.

При необходимости создайте группу безопасности Microsoft Entra и предоставьте ему доступ на чтение к данным, а затем добавьте управляемые удостоверения в группу безопасности. Этот подход сокращает число прямых назначений ролей для ресурсов, что позволяет избежать достижения лимита подписки при назначении ролей.

Модель, ориентированная на проекты

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

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

  1. Создание рабочей области

  2. Определите экземпляры хранилища данных, необходимые для проекта, создайте управляемое удостоверение, назначаемое пользователем, и предоставьте ему доступ на чтение к хранилищу.

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

  3. Создайте хранилища данных без учетных данных для ресурсов хранилища.

  4. Создайте вычислительные ресурсы в рабочей области и назначьте им управляемое удостоверение.

  5. Предоставьте вычислительным управляемым удостоверениям доступ к другим необходимым ресурсам, таким как реестр контейнеров с пользовательскими образами Docker для обучения.

  6. Предоставьте специалистам по анализу и обработке данных, работающим над проектом, роль в рабочей области.

    С помощью управления доступом на основе ролей (RBAC) Azure можно ограничить создание новых хранилищ данных или новых вычислительных ресурсов с разными управляемыми удостоверениями. Такой подход предотвращает доступ к данным, не относящимся к конкретному проекту.

    При необходимости для упрощения управления членством в проекте можно создать группу безопасности Microsoft Entra для участников проекта и предоставить группе доступ к рабочей области.

Использование Azure Data Lake Storage со сквозным режимом учетных данных

Вы можете использовать удостоверение пользователя Microsoft Entra для интерактивного доступа к хранилищу из студии машинного обучения. Data Lake Storage с включенным иерархическим пространством имен позволяет улучшить организацию ресурсов данных для хранения и совместной работы. С помощью иерархического пространства имен Data Lake Storage можно секционировать доступ к данным, предоставляя другим пользователям доступ к различным папкам и файлам на основе списка управления доступом. Например, можно предоставить доступ к конфиденциальным данным только подмножеству пользователей.

RBAC и пользовательские роли

Azure RBAC помогает управлять доступом к ресурсам машинного обучения и настраивать тех, кто может выполнять операции. Например, может потребоваться предоставить роли администратора рабочей области только конкретным пользователям для управления вычислительными ресурсами.

Область доступа в разных средах может отличаться. В рабочей среде может потребоваться ограничить возможность пользователей обновлять конечные точки вывода. Вместо этого вы можете предоставить это разрешение авторизованному субъекту-службе.

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

Со временем состав команды может измениться. Если вы создаете группу Microsoft Entra для каждой роли команды и рабочей области, вы можете назначить роль Azure RBAC группе Microsoft Entra и управлять доступом к ресурсам и группами пользователей отдельно.

Субъекты-пользователи и субъекты-службы могут быть частью одной группы Microsoft Entra. Например, при создании управляемого удостоверения, назначаемого пользователем, которое Фабрика данных Azure используется для активации конвейера машинного обучения, можно включить управляемое удостоверение в группу microsoft Entra конвейеров машинного обучения.

Централизованное управление образами Docker

Служба «Машинное обучение Azure» предоставляет проверенные образы Docker, которые можно использовать для обучения и развертывания. Однако требования к соответствию предприятия могут потребовать использования образов из частного репозитория, которым управляет ваша компания. В службе «Машинное обучение» предусмотрено два способа использования центрального репозитория:

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

  • Использование образов «как есть» без средств управления средой машинного обучения. Этот подход обеспечивает более высокую степень управления, но также требует тщательного создания среды Python в рамках образа. Для выполнения кода необходимо выполнить все необходимые зависимости, а для перестроения образа требуются новые зависимости.

Дополнительные сведения см. в разделе "Управление средами".

Шифрование данных

У неактивных данных машинного обучения есть два источника:

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

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

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

Сведения о том, как служба «Машинное обучение Azure» шифрует данные при передаче, см. в статье Шифрование при передаче.

Наблюдение

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

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

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

  • ИТ-отделы и операционные команды могут настроить ведение журнала диагностики для аудита доступа к ресурсам и изменения событий в рабочей области.

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

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

Политика Azure

Вы можете принудительно применять и проводить аудит использования функций безопасности в рабочих областях с помощью политики Azure. Дополнительные рекомендации.

  • Применяйте шифрование с ключами, управляемыми клиентами.
  • Используйте Приватный канал Azure и частные конечные точки.
  • Создайте частные зоны DNS.
  • Отключите проверку подлинности, не относящуюся к Azure AD, например Secure Shell (SSH).

Дополнительные сведения см. в статье Встроенные определения политик для Машинного обучения Azure.

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

Вычислительные кластеры и экземпляры

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

Шифрование дисков

Диск операционной системы (ОС) для вычислительного экземпляра или узла вычислительного кластера хранится в служба хранилища Azure и шифруется с помощью ключей, управляемых Корпорацией Майкрософт. У каждого узла также есть локальный временный диск. Временный диск также шифруется с помощью ключей, управляемых Корпорацией Майкрософт, если рабочая область была создана с параметром hbi_workspace = True . Дополнительные сведения см. в статье Шифрование данных с помощью службы «Машинное обучение Azure».

Управляемое удостоверение

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

Скрипт настройки

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

Создание от имени

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

Рабочая область с поддержкой частных конечных точек

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

Поддержка службы "Политика Azure"

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

Можно также использовать политику для отключения проверки подлинности, отличной от Azure AD, например SSH.

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

Дополнительные сведения о конфигурациях безопасности машинного обучения:

Начало работы над развертыванием на основе шаблона машинного обучения:

Дополнительные статьи о рекомендациях по архитектуре для развертывания машинного обучения см. в статье: