Поделиться через


Рекомендации передового опыта по безопасности и соответствию требованиям для пакетной обработки

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

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

Схема, на которой показана типичная среда пакетной обработки.

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

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

Конфигурация пула

Пулы можно настроить в одном из двух режимов связи узлов, классических или упрощенных. В классической модели связи между узлами служба пакетной обработки инициирует обмен данными с вычислительными узлами, а вычислительные узлы также должны взаимодействовать с хранилищем Azure. В упрощённой модели узловой связи вычислительные узлы инициируют обмен данными со службой пакетной обработки. За счет уменьшенного объема требуемых входящих и исходящих подключений и не требующего исходящего доступа к Azure Storage для базовых операций, рекомендуется использовать упрощенную модель коммуникации узлов. Классическая модель связи с узлами будет прекращена 31 марта 2026 г.

Пулы также должны быть настроены с расширенными параметрами безопасности, включая доверенный запуск (требуется образы виртуальных машин 2-го поколения и совместимый размер виртуальной машины), включение безопасной загрузки, vTPM и шифрование на узле (требуется совместимый размер виртуальной машины).

Проверка подлинности учетной записи пакетной службы

Доступ к учетной записи пакетной службы поддерживает два метода проверки подлинности: общий ключ и идентификатор Microsoft Entra.

Настоятельно рекомендуем использовать Microsoft Entra ID для проверки подлинности учетных записей пакетной службы. Для некоторых из возможностей пакетной службы этот метод проверки подлинности обязателен; это относится ко многим возможностям безопасности, обсуждаемым в данной статье. Механизм аутентификации API службы для учетной записи Batch может быть ограничен только идентификатором Microsoft Entra с помощью свойства allowedAuthenticationModes. Если это свойство задано, вызовы API с использованием проверки подлинности с общим ключом отклоняется.

Режим распределения пула аккаунтов партийной обработки

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

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

В режиме "Пользовательская подписка" виртуальные машины пакетной службы и другие ресурсы создаются непосредственно в подписке пользователя при создании пула. Пользовательский режим подписки необходим, если требуется создать пулы Batch с помощью зарезервированных виртуальных машин Azure, использовать политику Azure в ресурсах масштабируемого набора виртуальных машин и/или управлять основной квотой для подписки (общей для всех учетных записей Batch в подписке). Чтобы создать учетную запись пакетной службы в режиме пользовательской подписки, необходимо зарегистрировать подписку в пакетной службе Azure и связать учетную запись с Azure Key Vault.

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

Конечные точки для пакетной обработки сети

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

API групповой учетной записи

При создании учетной записи Batch создается общедоступная конечная точка, которая используется для вызова большинства операций над учетной записью с помощью REST API. У этой конечной точки учетной записи имеется базовый URL-адрес в формате https://{account-name}.{region-id}.batch.azure.com. Доступ к учетной записи пакетной службы защищен, с подключением к конечной точке учетной записи, зашифрованной с помощью HTTPS, и каждый запрос, прошедший проверку подлинности с помощью общего ключа или проверки подлинности Microsoft Entra.

Azure Resource Manager

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

Операции управления пакетной службой с помощью Azure Resource Manager шифруются с помощью HTTPS, и каждый запрос проходит проверку подлинности с помощью проверки подлинности Microsoft Entra.

Вычислительные узлы пула пакетных задач

Служба Batch взаимодействует с агентом узла Batch, который работает на каждом узле в пуле. Например, служба инструктирует агент узла запустить задачу, остановить задачу или получить файлы для задачи. Связь с агентом узла обеспечивается одним или несколькими балансировщиками нагрузки, количество которых зависит от количества узлов в пуле. Балансировщик нагрузки перенаправляет сообщение на нужный узел, причем каждый из узлов идентифицируется уникальным номером порта. По умолчанию с балансировщиками нагрузки связаны их общедоступные IP-адреса. Вы также можете удаленно получить доступ к узлам пула через RDP или SSH, см. раздел "Настройка удаленного доступа к вычислительным узлам в пуле Azure Batch".

Операционная система узла пакетной обработки данных

Batch поддерживает операционные системы Linux и Windows. Служба пакетной обработки поддерживает Linux с совместимым агентом узла для подмножества дистрибутивов ОС Linux. Рекомендуется обновлять операционную систему с последними исправлениями, предоставляемыми издателем ОС.

Рекомендуется включить автоматическое обновление ОС для пулов пакетной службы, что позволяет базовой инфраструктуре Azure координировать обновления в пуле. Этот параметр можно настроить как ненарушающее для выполнения задачи. Автоматическое обновление ОС не поддерживает все операционные системы, которые поддерживает Batch. Дополнительные сведения см. в Матрице поддержки автоматического обновления ОС в масштабируемых наборах виртуальных машин. Для операционных систем Windows убедитесь, что свойство не включается virtualMachineConfiguration.windowsConfiguration.enableAutomaticUpdates при автоматическом обновлении ОС в пуле пакетной службы.

Поддержка пакетной службы для образов и агентов узлов с течением времени, как правило, соответствует временной шкале поддержки издателя. Рекомендуется избегать использования изображений с приближающейся датой окончания срока действия (EOL) или с истекшей датой EOL. Вы несете ответственность за периодическое обновление сведений о датах окончания срока службы (EOL), относящихся к вашим пулам, и перенос рабочих нагрузок до наступления даты окончания срока службы. Если вы используете пользовательский образ с определенным (указанным) агентом узла, проследите за соблюдением дат окончания срока поддержки пакетной службы для образа, для которого ваш пользовательский образ является производным или согласованным. Изображение без указанной batchSupportEndOfLife даты указывает, что такая дата еще не определена пакетной службой. Отсутствие даты не означает, что соответствующий образ будет поддерживаться на неопределенный срок. Дата EOL может быть добавлена или обновлена в будущем в любое время. Даты EOL можно обнаружить с помощью ListSupportedImages API, PowerShell или Azure CLI.

Безопасность транспортного уровня ОС Windows (TLS)

Агент пакетного узла не изменяет значения по умолчанию операционной системы для версий SSL/TLS или порядка наборов шифров. В Windows версии SSL/TLS и порядок набора шифров контролируется на уровне операционной системы, поэтому агент пакетного узла принимает параметры, заданные образом, используемым каждым вычислительным узлом. Хотя агент узла пакетной службы пытается использовать наиболее безопасные параметры, доступные по возможности, он по-прежнему может быть ограничен параметрами уровня операционной системы. Рекомендуется просмотреть значения по умолчанию уровня ОС и задать их соответствующим образом для наиболее безопасного режима, который подходит для рабочих процессов и требований организации. Дополнительные сведения см. в разделе "Управление протоколом TLS для принудительного применения порядка шифров" и параметров реестра TLS для управления версиями SSL/TLS для Schannel SSP. Обратите внимание, что некоторые изменения параметров требуют, чтобы перезагрузка вступила в силу. Использование более новой операционной системы с современными параметрами безопасности по умолчанию или пользовательским образом с измененными настройками рекомендуется вместо применения таких настроек с задачей пакетного запуска.

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

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

Использование частных конечных точек

Приватный канал Azure обеспечивает доступ к службам PaaS Azure и к размещенным в Azure службам клиентов или партнеров через частную конечную точку в вашей виртуальной сети. С помощью Private Link можно ограничить доступ к аккаунту Batch из виртуальной сети или из любой одноранговой виртуальной сети. Ресурсы, сопоставленные с Private Link, также доступны в локальной сети с использованием частного пиринга через VPN или Azure ExpressRoute.

Чтобы использовать частные конечные точки, учетная запись пакетной службы должна быть соответствующим образом настроена при создании; конфигурация доступа к общедоступной сети должна быть отключена. Когда частные конечные точки созданы, их можно создать и связать с учетной записью Batch. Дополнительные сведения см. в статье Использование частных конечных точек с учетными записями пакетной службы Azure.

Создание пулов в виртуальных сетях

Вычислительные узлы в пуле Batch могут обмениваться данными друг с другом, например, для выполнения задач с несколькими экземплярами, без необходимости в виртуальной сети (VNET). Однако по умолчанию узлы в пуле не могут взаимодействовать с виртуальными машинами, находящимися в виртуальной сети за пределами пула, а также иметь частные IP-адреса, как у серверов лицензий или файловых серверов.

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

Если у пулов имеются конечные точки с общедоступными IP-адресами, такая подсеть должна разрешать входящие подключения от пакетной службы для планирования задач и выполнения других операций на вычислительных узлах, а также разрешать исходящие подключения для обмена данными со службой хранилища Azure или другими ресурсами, которые могут требоваться вашей рабочей нагрузке. Для пулов в конфигурации виртуальной машины пакетная служба добавляет группы безопасности сети (NSG) на уровне сетевых интерфейсов, подключенных к вычислительным узлам. Эти группы безопасности имеют правила для разрешения:

  • Входящий трафик TCP от IP-адресов службы Batch
  • Входящий трафик TCP для удаленного доступа
  • Исходящий трафик на любой порт в виртуальной сети (может корректироваться согласно правилам группы безопасности сети NSG на уровне подсетей).
  • Исходящий трафик на любые порты в Интернете (может корректироваться согласно правилам группы безопасности NSG на уровне подсетей).

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

Дополнительные сведения см. в разделе Создание пула пакетной службы Azure в виртуальной сети.

Создание пулов со статическими общедоступными IP-адресами

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

Можно создать ресурсы со статическими общедоступными IP-адресами в той же подписке, что и учетная запись Batch, перед созданием пула. Затем эти адреса можно указать при создании пула.

Дополнительные сведения см. в статье Создание пула пакетной службы Azure с указанными общедоступными IP-адресами.

Создание пулов без общедоступных IP-адресов

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

Чтобы ограничить доступ к этим узлам и уменьшить возможность обнаружения этих узлов из Интернета, вы можете подготовить пул без общедоступных IP-адресов.

Дополнительные сведения см. в разделе Создание пула без общедоступных IP-адресов.

Ограничение удаленного доступа к узлам пула

Для пулов, созданных с более ранней версией API 2024-07-01, Batch по умолчанию разрешает пользователю узла с сетевым подключением извне подключаться к вычислительному узлу в пуле Batch с использованием RDP или SSH.

Чтобы ограничить удаленный доступ, создайте пулы с помощью версии 2024-07-01 API или более поздней версии.

Чтобы ограничить удаленный доступ к узлам в пулах, созданных API с более ранней 2024-07-01версией, используйте один из следующих методов:

  • Настройте конфигурацию PoolEndpointConfiguration на отказ в доступе. С пулом будет связана соответствующая группа безопасности сети (NSG).
  • Создайте пул без общедоступных IP-адресов. По умолчанию к таким пулам нельзя получить доступ к ним извне виртуальной сети.
  • Свяжите группу NSG с виртуальной сетью, чтобы запретить доступ к портам RDP и SSH.
  • Не создавайте пользователей на узле. Если на узле нет пользователей, удаленный доступ к нему будет невозможен.

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

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

Все соединения с конечной точкой учетной записи пакетной службы (или соединения через Azure Resource Manager) должны использовать протокол HTTPS. В URL-адресах учетной записи пакетной службы, указываемых в API при подключении к пакетной службе, необходимо использовать префикс https://.

Клиенты, взаимодействующие с пакетной службой, должны быть настроены на использование протокола TLS 1.2.

Шифрование данных пакетной обработки в состоянии покоя.

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

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

Шифрование дисков узлов вычислений

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

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

Безопасный доступ к службам с узлов вычислений

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

Система управления и соответствие требованиям

Соответствие нормативным требованиям

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

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

Политика Azure

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

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

  • Напрямую, с использованием ресурса Microsoft.Batch/batchAccounts. Можно использовать подмножество свойств учетной записи Batch. Например, политика может включать допустимые регионы для учетной записи пакетной службы, разрешенный режим распределения пула, а также разрешать или запрещать общедоступные сети для учетных записей.
  • Косвенно, с использованием ресурса Microsoft.Compute/virtualMachineScaleSets. Учетные записи пакетной службы с режимом выделения пула подписок пользователей могут иметь политику для ресурсов масштабируемого набора виртуальных машин, созданных в подписке учетной записи пакетной службы. Например, так можно задавать разрешенные размеры виртуальных машин или гарантировать выполнение на каждом из узлов пула определенных расширений.

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