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


Аудит и регулирование Машинного обучения Azure

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

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

Политики для Машинного обучения Azure

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

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

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

Имя.
(портал Azure)
Description Действие Версия
(GitHub)
[предварительная версия]: развертывания Машинное обучение Azure должны использовать только утвержденные модели реестра Ограничение развертывания моделей реестра для управления внешними моделями, используемыми в организации Audit, Deny, Disabled 1.0.0 (предварительная версия)
[Предварительная версия]: развертывание реестра моделей Машинное обучение Azure ограничено, за исключением разрешенного реестра Развертывание только моделей реестра в разрешенном реестре и не ограничено. Deny, Disabled 1.0.0 (предварительная версия)
Экземпляр Вычислительной среды Машинного обучения Azure должен завершать работу в режиме простоя. Расписание завершения работы в режиме простоя позволяет сократить затраты за счет завершения работы вычислений, находящихся в режиме простоя после заранее определенного периода действия. Audit, Deny, Disabled 1.0.0
Машинное обучение Azure вычислительных экземпляров необходимо повторно создать, чтобы получить последние обновления программного обеспечения Убедитесь, что Машинное обучение Azure вычислительные экземпляры выполняются в последней доступной операционной системе. Безопасность улучшается, а уязвимости сокращаются за счет выполнения последних исправлений безопасности. Дополнительные сведения см. на странице https://aka.ms/azureml-ci-updates/. [parameters('effects')] 1.0.3
Машинное обучение Azure вычисления должны находиться в виртуальной сети. Azure виртуальная сеть обеспечивают повышенную безопасность и изоляцию для Машинное обучение Azure вычислительных кластеров и экземпляров, а также подсетей, политик управления доступом и других функций для дальнейшего ограничения доступа. Если вычислительная среда настроена с виртуальной сетью, она не является общедоступной и может быть доступна только из виртуальных машин и приложений в виртуальной сети. Audit, Disabled 1.0.1
Машинное обучение Azure вычисления должны иметь локальные методы проверки подлинности отключены Отключение локальных методов проверки подлинности повышает безопасность, гарантируя, что Машинное обучение вычисления требуют удостоверения Azure Active Directory исключительно для проверки подлинности. См. дополнительные сведения: https://aka.ms/azure-ml-aad-policy. Audit, Deny, Disabled 2.1.0
Рабочие области Машинного обучения Azure должны быть зашифрованы с использованием ключа, управляемого клиентом Управляйте шифрованием неактивных данных рабочей области Машинного обучения Azure с помощью ключей, управляемых клиентом. По умолчанию пользовательские данные шифруются с помощью ключей, управляемых службой, но для соблюдения нормативных требований обычно требуются ключи, управляемые клиентом. Ключи, управляемые клиентом, позволяют шифровать данные с помощью ключа Azure Key Vault, создателем и владельцем которого являетесь вы. Вы полностью контролируете жизненный цикл ключа, включая его смену и управление им. Узнайте больше по адресу https://aka.ms/azureml-workspaces-cmk. Audit, Deny, Disabled 1.1.0
Машинное обучение Azure рабочие области должны отключить доступ к общедоступной сети Отключение доступа к общедоступной сети повышает безопасность, гарантируя, что Машинное обучение рабочие области не предоставляются в общедоступном Интернете. Вместо этого можно управлять воздействием рабочих областей, создавая частные конечные точки. Дополнительные сведения см. в следующем: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2& tabs=azure-portal. Audit, Deny, Disabled 2.0.1
Рабочие области машинного обучения Azure должны включить V1LegacyMode для поддержки обратной совместимости сетевой изоляции Служба "Машинное обучение Azure" переводится на новую платформу API версии 2 в Azure Resource Manager, и вы можете управлять версией платформы API с помощью параметра V1LegacyMode. Включение параметра V1LegacyMode позволит сохранить рабочие области в сетевой изоляции версии 1, хотя вы не сможете использовать новые функции версии 2. Мы рекомендуем включать устаревший режим версии 1 только в том случае, если нужно сохранить данные уровня управления AzureML в частных сетях. См. дополнительные сведения: https://aka.ms/V1LegacyMode. Audit, Deny, Disabled 1.0.0
Рабочие области Машинного обучения Azure должны использовать Приватный канал Приватный канал Azure позволяет подключить виртуальную сеть к службам Azure без общедоступного IP-адреса в исходном или целевом расположении. Платформа Приватного канала поддерживает подключение между потребителем и службами через магистральную сеть Azure. При сопоставлении частных конечных точек с рабочими областями Машинного обучения Azure снижаются риски утечки данных. Дополнительные сведения о приватных каналах см. здесь: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. Audit, Disabled 1.0.0
Рабочие области Машинного обучения Azure должны использовать назначаемое пользователем управляемое удостоверение Обеспечьте управление доступом к рабочей области Машинного обучения Azure и связанными ресурсами, Реестром контейнеров Azure, KeyVault, службой хранилища и App Insights с помощью назначаемого пользователем управляемого удостоверения. По умолчанию рабочая область Машинного обучения Azure для доступа к связанным ресурсам использует назначаемое системой управляемое удостоверение. Назначаемое пользователем управляемое удостоверение позволяет создать удостоверение в виде ресурса Azure и поддерживать его жизненный цикл. Узнайте больше по адресу https://docs.microsoft.com/azure/machine-learning/how-to-use-managed-identities?tabs=python. Audit, Deny, Disabled 1.0.0
Настройка вычислений Машинное обучение Azure для отключения локальных методов проверки подлинности Отключите методы проверки подлинности расположения, чтобы Машинное обучение вычисления требовали удостоверения Azure Active Directory исключительно для проверки подлинности. См. дополнительные сведения: https://aka.ms/azure-ml-aad-policy. Modify, Disabled 2.1.0
Настройка рабочей области машинного обучения Azure для использования частных зон DNS Использование частных зон DNS для переопределения разрешения DNS для частной конечной точки. Частная зона DNS связывается с виртуальной сетью для разрешения в рабочие области Машинного обучения Azure. См. дополнительные сведения: https://docs.microsoft.com/azure/machine-learning/how-to-network-security-overview. DeployIfNotExists, Disabled 1.1.0
Настройка рабочих областей Машинное обучение Azure для отключения доступа к общедоступной сети Отключите доступ к общедоступной сети для рабочих областей Машинное обучение Azure, чтобы рабочие области не были доступны через общедоступный Интернет. Это помогает защитить рабочие области от рисков утечки данных. Вместо этого можно управлять воздействием рабочих областей, создавая частные конечные точки. Дополнительные сведения см. в следующем: https://learn.microsoft.com/azure/machine-learning/how-to-configure-private-link?view=azureml-api-2& tabs=azure-portal. Modify, Disabled 1.0.3
Настройка частных конечных точек для рабочих областей Машинного обучения Azure Частные конечные точки подключают виртуальную сеть к службам Azure без общедоступного IP-адреса в исходном или целевом расположении. Сопоставив частные конечные точки с рабочей областью Машинного обучения Azure, можно снизить риски утечки данных. Дополнительные сведения о приватных каналах см. здесь: https://docs.microsoft.com/azure/machine-learning/how-to-configure-private-link. DeployIfNotExists, Disabled 1.0.0
Настройка параметров диагностики для рабочих областей Машинное обучение Azure в рабочей области Log Analytics Развертывает параметры диагностики для рабочих областей Машинное обучение Azure для потоковой передачи журналов ресурсов в рабочую область Log Analytics при создании или обновлении любой Машинное обучение Azure рабочей области, в которой отсутствуют эти параметры диагностики. DeployIfNotExists, Disabled 1.0.1
Журналы ресурсов в рабочих областях Машинное обучение Azure должны быть включены Журналы ресурсов позволяют повторно создавать тропы действий, которые используются для расследования, когда возникает инцидент безопасности или когда сеть скомпрометирована. AuditIfNotExists, Disabled 1.0.1

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

Назначение встроенных политик

Чтобы просмотреть определения встроенных политик для Машинного обучения, следуйте инструкциям ниже:

  1. Перейдите в Политику Azure на портале Azure.
  2. Выберите элемент Определения.
  3. В поле "Тип" выберите "Встроенный". Для категории выберите Машинное обучение.

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

Вы также можете назначать политики с помощью Azure PowerShell, Azure CLI или шаблонов.

Политики условного доступа

Чтобы контролировать доступ к рабочей области Машинное обучение Azure, используйте условный доступ Microsoft Entra. Чтобы использовать условный доступ для рабочих областей Машинное обучение Azure, назначьте политику условного доступа приложению с именем Машинное обучение Azure. Идентификатор приложения — 0736f41a-0425-bdb5-1563eff02385.

Разрешение самообслуживания с использованием целевых зон

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

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

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

Машинное обучение Azure интегрируется с зонами размещения данных в сценарии управления данными и анализа данных в Cloud Adoption Framework. Эта эталонная реализация предоставляет оптимизированную среду для переноса рабочих нагрузок машинного обучения на Машинное обучение Azure и включает предварительно настроенные политики.

Настройка встроенных политик

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

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

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

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

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

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

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

Управляет аудитом вычислительных кластеров и ресурсов экземпляров за виртуальными сетями.

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

Вычисления должны отключать локальные методы проверки подлинности.

Определяет, следует ли отключить локальную проверку подлинности (SSH) в вычислительном кластере или экземпляре Машинного обучения Azure.

Чтобы настроить эту политику, задайте для параметра эффекта значение Audit, Deny или Disabled. Если задано значение Audit, вы можете создать вычисления с включенным SSH, а в журнале действий создается предупреждение.

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

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

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

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

Если для политики задано значение "Запретить", вы не можете создать рабочую область, если она не указывает ключ, управляемый клиентом. Если вы попытаетесь создать рабочую область без ключа, управляемого клиентом, возникнет ошибка наподобие Resource 'clustername' was disallowed by policy, а в журнале действий появится сообщение об ошибке. В результате этой ошибки также будет возвращен идентификатор политики.

Настройка рабочих областей для отключения доступа к общедоступной сети

Определяет, должна ли Рабочая область отключить сетевой доступ из общедоступного Интернета.

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

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

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

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

Чтобы настроить эту политику, задайте для параметра эффекта значение Audit или Deny, or Disabled. Если задано значение Audit, вы можете создать рабочую область без включения V1LegacyMode, а событие предупреждения создается в журнале действий.

Если для политики задано значение "Запретить", невозможно создать рабочую область, если она не включает V1LegacyMode.

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

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

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

Рабочие области должны использовать управляемое удостоверение, назначаемое пользователем

Контролирует способ создания рабочей области — с помощью управляемого удостоверения, назначаемого системой (по умолчанию), или же с помощью управляемого удостоверения, назначаемого пользователем. Управляемое удостоверение для рабочей области позволяет получить доступ к таким ресурсам, как служба хранилища Azure, Реестр контейнеров Azure, Azure Key Vault и Application Insights. Дополнительные сведения см. в разделе "Настройка проверки подлинности между Машинное обучение Azure и другими службами".

Чтобы настроить эту политику, задайте для параметра эффекта значение Audit, Deny или Disabled. Если задано значение Audit, можно создать рабочую область без указания управляемого удостоверения, назначаемого пользователем. Используется назначаемое системой удостоверение, и в журнале действий создается событие предупреждения.

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

Настройка вычислений для изменения и отключения локальной проверки подлинности

Эта политика изменяет любой запрос на создание вычислительного кластера или экземпляра Машинное обучение Azure, чтобы отключить локальную проверку подлинности (SSH).

Чтобы отключить эту политику, задайте параметр эффекта Modify или Disabled. Если задано значение "Изменить", любое создание вычислительного кластера или экземпляра в области, в которой применяется политика, автоматически отключается локальная проверка подлинности.

Настройка рабочей области для использования частных зон DNS

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

Чтобы настроить эту политику, задайте параметр действия на DeployIfNotExists. В качестве privateDnsZoneId укажите идентификатор нужной частной зоны DNS в Azure Resource Manager.

Настройка рабочих областей для отключения доступа к общедоступной сети

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

Чтобы отключить эту политику, задайте параметр эффекта Modify или Disabled. Если задано значение "Изменить", любое создание рабочей области в области, в которой политика применяется, автоматически отключен доступ к общедоступной сети.

Настройка рабочих областей с частными конечными точками

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

Чтобы настроить эту политику, задайте параметр действия на DeployIfNotExists. В качестве privateEndpointSubnetID укажите идентификатор подсети в Azure Resource Manager.

Настройка рабочих областей диагностики для отправки журналов в рабочие области Log Analytics

Настраивает параметры диагностики для рабочей области Машинное обучение Azure для отправки журналов в рабочую область Log Analytics.

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

Журналы ресурсов в рабочих областях должны быть включены

Проверяет, включены ли журналы ресурсов для рабочей области Машинное обучение Azure. Журналы ресурсов предоставляют подробные сведения об операциях, выполняемых с ресурсами в рабочей области.

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

Создание настраиваемых определений

Когда необходимо создать пользовательские политики для организации, можно использовать структуру определения Политика Azure для создания собственных определений. Вы можете использовать расширение Политика Azure Visual Studio Code для создания и тестирования политик.

Чтобы узнать псевдонимы политики, которые можно использовать в определении, используйте следующую команду Azure CLI для перечисления псевдонимов для Машинное обучение Azure:

az provider show --namespace Microsoft.MachineLearningServices --expand "resourceTypes/aliases" --query "resourceTypes[].aliases[].name"

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

Инструкции по созданию настраиваемых политик см. в руководстве по созданию пользовательских политик (а не Машинное обучение Azure конкретному).

Пример. Блокировка бессерверных заданий вычислений Spark

{
    "properties": {
        "displayName": "Deny serverless Spark compute jobs",
        "description": "Deny serverless Spark compute jobs",
        "mode": "All",
        "policyRule": {
            "if": {
                "allOf": [
                    {
                        "field": "Microsoft.MachineLearningServices/workspaces/jobs/jobType",
                        "in": [
                            "Spark"
                        ]
                    }
                ]
            },
            "then": {
                "effect": "Deny"
            }
        },
        "parameters": {}
    }
}

Пример. Настройка общедоступного IP-адреса для управляемых вычислений

{
    "properties": {
        "displayName": "Deny compute instance and compute cluster creation with public IP",
        "description": "Deny compute instance and compute cluster creation with public IP",
        "mode": "all",
        "parameters": {
            "effectType": {
                "type": "string",
                "defaultValue": "Deny",
                "allowedValues": [
                    "Deny",
                    "Disabled"
                ],
                "metadata": {
                    "displayName": "Effect",
                    "description": "Enable or disable the execution of the policy"
                }
            }
        },
        "policyRule": {
            "if": {
                "allOf": [
                  {
                    "field": "type",
                    "equals": "Microsoft.MachineLearningServices/workspaces/computes"
                  },
                  {
                    "allOf": [
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/computeType",
                        "notEquals": "AKS"
                      },
                      {
                        "field": "Microsoft.MachineLearningServices/workspaces/computes/enableNodePublicIP",
                        "equals": true
                      }
                    ]
                  }
                ]
              },
            "then": {
                "effect": "[parameters('effectType')]"
            }
        }
    }
}