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


Изоляция управляемой виртуальной сети рабочей области

ОБЛАСТЬ ПРИМЕНЕНИЯ:Расширение Azure CLI ml версии 2 (текущая)Python SDK azure-ai-ml версии 2 (текущая)

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

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

Архитектура управляемых виртуальных сетей

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

Существует два разных режима конфигурации для исходящего трафика из управляемой виртуальной сети:

Подсказка

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

Исходящий режим Описание Сценарии
Разрешить исходящее подключение к интернету Разрешить весь исходящий трафик через Интернет из управляемой виртуальной сети. Требуется неограниченный доступ к ресурсам машинного обучения в Интернете, например пакетам Python или предварительно обученным моделям.1
Разрешить только утвержденный исходящий трафик Исходящий трафик разрешен путем указания тегов службы. * Вы хотите свести к минимуму риск кражи данных, но вы должны подготовить все необходимые артефакты машинного обучения в своей частной среде.
* Вы хотите настроить исходящий доступ к утвержденному списку служб, тегов служб или полных доменных имен.
Нетрудоспособный Входящий и исходящий трафик не ограничены, или вы используете собственную виртуальную сеть Azure для защиты ресурсов. Вам нужна общедоступная возможность для входящего и исходящего трафика из рабочей области, или вы обрабатываете сетевую изоляцию с помощью собственной виртуальной сети Azure.
  1. Вы можете использовать правила исходящего трафика с режимом разрешить только утвержденный исходящий трафик, чтобы добиться того же результата, что и при разрешении исходящего трафика в Интернет. Различия описаны ниже.
  • Необходимо добавить правила для каждого исходящего подключения, который необходимо разрешить.
  • Добавление правил исходящего трафика полного доменного имени увеличивает затраты, так как этот тип правила использует Брандмауэр Azure. Дополнительные сведения см. на странице Цены
  • Правила по умолчанию разрешают только утвержденный исходящий трафик , чтобы свести к минимуму риск кражи данных. Любые добавленные правила для исходящего трафика могут увеличить риск.

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

На следующей схеме показана управляемая виртуальная сеть, настроенная для разрешения исходящего трафика в Интернет:

Схема изоляции управляемой виртуальной сети, настроенной для исходящего трафика в Интернете.

На следующей схеме показана управляемая виртуальная сеть, настроенная для разрешения только утвержденного исходящего трафика:

Примечание.

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

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

Примечание.

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

Студия машинного обучения Azure

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

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

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

Дополнительные сведения о создании частной конечной точки или конечной точки службы см. в статьях «Подключение к учетной записи хранения» и «Конечные точки службы».

Защищенные связанные ресурсы

При добавлении следующих служб в виртуальную сеть с помощью конечной точки службы или частной конечной точки (отключение общедоступного доступа) разрешить доверенным службы Майкрософт доступ к этим службам:

Сервис Сведения о конечных точках Разрешить доверенные сведения
Azure Key Vault Конечная точка службы
Частная конечная точка
Разрешить доверенным службам Майкрософт обходить этот брандмауэр
Учетная запись хранения Azure Конечная точка службы и частная конечная точка
Частная конечная точка
Разрешить доступ из экземпляров ресурсов Azure
или
Разрешить доступ к доверенным службам Azure
Реестр контейнеров Azure; Приватная конечная точка Разрешить доверенные службы

Предварительные условия

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

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

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

    Сведения о регистрации поставщиков ресурсов см. в статье Устранение ошибок регистрации поставщика ресурсов.

  • Удостоверение Azure, используемое при развертывании управляемой сети, требует следующих действий управления доступом на основе ролей Azure (Azure RBAC) для создания частных конечных точек:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • Azure CLI и расширение ml для Azure CLI. Дополнительные сведения см. в разделе Установка, настройка и использование CLI (версия 2).

    Подсказка

    Управляемая виртуальная сеть Azure для машинного обучения была представлена 23 мая 2023 года. Если у вас есть более ранняя версия расширения ml, может потребоваться обновить его для примеров, приведенных в этой статье. Чтобы обновить расширение, используйте следующую команду Azure CLI:

    az extension update -n ml
    
  • В примерах интерфейса командной строки в этой статье предполагается, что вы используете оболочку Bash (или совместимая). Например, из системы Linux или подсистемы Windows для Linux.

  • Примеры Azure CLI в этой статье используют ws для представления имени рабочей области и rg для представления имени группы ресурсов. Измените эти значения по мере необходимости при использовании команд с подпиской Azure.

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

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

    Сведения о регистрации поставщиков ресурсов см. в статье Устранение ошибок регистрации поставщика ресурсов.

  • Удостоверение Azure, используемое при развертывании управляемой сети, требует следующих действий управления доступом на основе ролей Azure (Azure RBAC) для создания частных конечных точек:

    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/read
    • Microsoft.MachineLearningServices/workspaces/privateEndpointConnections/write
  • Пакет SDK для Python v2 для платформы Azure Machine Learning. Дополнительные сведения о пакете SDK см. в статье "Установка пакета SDK для Python версии 2 для Машинное обучение Azure".

    Подсказка

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

    pip install --upgrade azure-ai-ml azure-identity
    
  • В примерах этой статьи предполагается, что ваш код начинается со следующего кода на языке программирования Python. Этот код импортирует классы, необходимые при создании рабочей области с управляемой виртуальной сетью, задает переменные для вашей подписки Azure и группы ресурсов и создаёт ml_client.

    from azure.ai.ml import MLClient
    from azure.ai.ml.entities import (
        Workspace,
        ManagedNetwork,
        IsolationMode,
        ServiceTagDestination,
        PrivateEndpointDestination,
        FqdnDestination
    )
    from azure.identity import DefaultAzureCredential
    
    # Replace with the values for your Azure subscription and resource group.
    subscription_id = "<SUBSCRIPTION_ID>"
    resource_group = "<RESOURCE_GROUP>"
    
    # get a handle to the subscription
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group)
    

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

Корпорация Майкрософт рекомендует назначить управляемому удостоверению роль утверждающего подключения к сети Azure AI Enterprise. Следующий список содержит типы целевых ресурсов частной конечной точки, охватываемые ролью утверждающего сетевого подключения Azure AI Enterprise :

  • Шлюз приложений Azure
  • Azure Monitor
  • Поиск с использованием ИИ Azure
  • Центры событий
  • База данных SQL Azure
  • Служба хранилища Azure
  • Рабочая область Машинного обучения Azure
  • Реестр машинного обучения Azure
  • Azure AI Foundry
  • Azure Key Vault
  • Azure Cosmos DB (облачная база данных)
  • База данных Azure для MySQL
  • База данных Azure для PostgreSQL
  • Службы искусственного интеллекта Azure
  • Кэш Azure для Redis
  • Реестр контейнеров
  • Управление API

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

Чтобы создать правила исходящего трафика для приватных конечных точек, направленных на типы ресурсов, которые не охватываются ролью утверждающего сетевого подключения Azure AI Enterprise, рекомендуется использовать кастомную роль с ограниченной областью. Роль должна быть определена с действиями, необходимыми для утверждения подключений частной конечной точки к целевым типам ресурсов. Примерами таких типов ресурсов являются Фабрика данных Azure, Azure Databricks и приложения-функции Azure.

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

Настройте управляемую виртуальную сеть для разрешения исходящего трафика в Интернет

Подсказка

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

Внимание

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

Чтобы настроить управляемую виртуальную сеть, которая разрешает исходящие подключения к Интернету, можно использовать --managed-network allow_internet_outbound параметр или файл конфигурации YAML, содержащий следующие записи:

managed_network:
  isolation_mode: allow_internet_outbound

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

managed_network:
  isolation_mode: allow_internet_outbound
  outbound_rules:
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

Вы можете настроить управляемую виртуальную сеть с помощью команд az ml workspace create или az ml workspace update команд:

В следующем примере создается новая рабочая область. Параметр --managed-network allow_internet_outbound настраивает управляемую виртуальную сеть для рабочей области:

az ml workspace create --name ws --resource-group rg --managed-network allow_internet_outbound

Чтобы создать рабочую область с помощью YAML-файла, используйте --file параметр и укажите ФАЙЛ YAML, содержащий параметры конфигурации:

az ml workspace create --file workspace.yaml --resource-group rg --name ws

В следующем примере YAML определяется рабочая область с управляемой виртуальной сетью:

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_internet_outbound

Чтобы настроить управляемую виртуальную сеть, которая позволяет исходящим интернет-подключениям, используйте ManagedNetwork класс для определения сети с IsolationMode.ALLOW_INTERNET_OUTBOUND. Затем можно использовать ManagedNetwork объект для создания новой рабочей области или обновления существующей. Чтобы определить правила исходящего трафика для служб Azure, на которые используется рабочая область, используйте PrivateEndpointDestination класс для определения новой частной конечной точки для службы.

В следующем примере создается новая рабочая область с именем myworkspace, с исходящим правилом под названием myrule, которое добавляет частную конечную точку для хранилища BLOB-объектов Azure.

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True

# Add the outbound 
ws.managed_network.outbound_rules = [PrivateEndpointDestination(
    name=rule_name, 
    service_resource_id=service_resource_id, 
    subresource_target=subresource_target, 
    spark_enabled=spark_enabled)]

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Войдите в портал Azure и выберите Машинное обучение Azure в меню "Создать ресурс".

  2. Укажите необходимые сведения на вкладке "Основные сведения".

  3. На вкладке "Сеть" выберите "Приватный" с исходящим интернетом.

    Снимок экрана: создание рабочей области с управляемой виртуальной сетью из Интернета.

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

    • Имя правила: название для правила. Имя должно быть уникальным для этой рабочей области.
    • Тип назначения: частная конечная точка является единственным вариантом, если сетевая изоляция является частной с исходящим интернетом. Управляемая виртуальная сеть в системе машинного обучения Azure не поддерживает создание частной конечной точки для всех типов ресурсов Azure. См. список поддерживаемых ресурсов в разделе «Частные конечные точки».
    • Подписка: подписка, содержащая ресурс Azure, для которого требуется добавить частную конечную точку.
    • Группа ресурсов: группа ресурсов, содержащая ресурс Azure, для которой требуется добавить частную конечную точку.
    • Тип ресурса: тип ресурса Azure.
    • Имя ресурса: имя ресурса Azure.
    • Вложенный ресурс: вложенный ресурс типа ресурса Azure.
    • Включение Spark. Выберите этот параметр, если вы хотите включить бессерверные задания Spark для рабочей области. Этот параметр доступен только в том случае, если тип ресурса служба хранилища Azure.

    Снимок экрана: добавление правила исходящего трафика для частной конечной точки.

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

  5. Продолжайте создавать рабочую область как обычно.

Настройка управляемой виртуальной сети для разрешения только одобренного исходящего трафика

Подсказка

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

Внимание

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

Чтобы настроить управляемую виртуальную сеть, которая разрешает только утвержденные исходящие подключения, можно использовать --managed-network allow_only_approved_outbound параметр или файл конфигурации YAML, содержащий следующие записи:

managed_network:
  isolation_mode: allow_only_approved_outbound

Вы также можете определить правила исходящего соединения для утвержденной исходящей связи. Правило исходящего трафика можно создать для типа service_tag, fqdn или private_endpoint. В следующем правиле демонстрируется добавление частной конечной точки к ресурсу Azure Blob, тега службы в Azure Data Factory и полного доменного имени в pypi.org:

Внимание

  • Добавление исходящего трафика для тега службы или полного доменного имени допустимо только, когда управляемая виртуальная сеть настроена на allow_only_approved_outbound.
  • Если вы добавляете правила исходящего трафика, Майкрософт не может гарантировать предотвращение утечки данных.

Предупреждение

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

managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - name: added-servicetagrule
    destination:
      port_ranges: 80, 8080
      protocol: TCP
      service_tag: DataFactory
    type: service_tag
  - name: add-fqdnrule
    destination: 'pypi.org'
    type: fqdn
  - name: added-perule
    destination:
      service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
      spark_enabled: true
      subresource_target: blob
    type: private_endpoint

Вы можете настроить управляемую виртуальную сеть с помощью команд az ml workspace create или az ml workspace update команд:

В следующем примере используется --managed-network allow_only_approved_outbound параметр для настройки управляемой виртуальной сети:

az ml workspace create --name ws --resource-group rg --managed-network allow_only_approved_outbound

Следующий ФАЙЛ YAML определяет рабочую область с управляемой виртуальной сетью:

name: myworkspace
location: EastUS
managed_network:
    isolation_mode: allow_only_approved_outbound

Чтобы создать рабочую область с помощью YAML-файла, используйте --file параметр:

az ml workspace create --file workspace.yaml --resource-group rg --name ws

Чтобы настроить управляемую виртуальную сеть, которая разрешает только утвержденные исходящие подключения, используйте ManagedNetwork класс для определения сети с IsolationMode.ALLOw_ONLY_APPROVED_OUTBOUND. Затем можно использовать ManagedNetwork объект для создания новой рабочей области или обновления существующей. Чтобы определить правила исходящего трафика, используйте следующие классы:

Назначение Класс
Служба Azure, на которую используется рабочая область PrivateEndpointDestination
Тег службы Azure ServiceTagDestination
Полное доменное имя (FQDN) FqdnDestination

В следующем примере создается новая рабочая область с именем myworkspace, с несколькими правилами исходящего трафика.

  • myrule — добавляет частную конечную точку для хранилища BLOB-объектов Azure.
  • datafactory— добавляет правило тега службы для взаимодействия с Azure Data Factory.

Внимание

  • Добавление исходящего трафика для тега службы или полного доменного имени допустимо только, когда управляемая виртуальная сеть настроена на IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
  • Если вы добавляете правила исходящего трафика, Майкрософт не может гарантировать предотвращение утечки данных.

Предупреждение

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

# Basic managed VNet configuration
network = ManagedNetwork(IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND)

# Workspace configuration
ws = Workspace(
    name="myworkspace",
    location="eastus",
    managed_network=network
)

# Append some rules
ws.managed_network.outbound_rules = []
# Example private endpoint outbound to a blob
rule_name = "myrule"
service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
subresource_target = "blob"
spark_enabled = True
ws.managed_network.outbound_rules.append(
    PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled
    )
)

# Example service tag rule
rule_name = "datafactory"
service_tag = "DataFactory"
protocol = "TCP"
port_ranges = "80, 8080-8089"
ws.managed_network.outbound_rules.append(
    ServiceTagDestination(
        name=rule_name, 
        service_tag=service_tag, 
        protocol=protocol, 
        port_ranges=port_ranges
    )
)

# Example FQDN rule
ws.managed_network.outbound_rules.append(
    FqdnDestination(
        name="fqdnrule", 
        destination="pypi.org"
    )
)

# Create the workspace
ws = ml_client.workspaces.begin_create(ws).result()
  1. Войдите в портал Azure и выберите Машинное обучение Azure в меню "Создать ресурс".

  2. Укажите необходимые сведения на вкладке "Основные сведения".

  3. На вкладке "Сеть" выберите "Приватный" с утвержденным исходящим трафиком.

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

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

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

    Если тип назначения является частной конечной точкой, укажите следующие сведения:

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

    Подсказка

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

    Снимок экрана: обновление утвержденной исходящей сети путем добавления частной конечной точки.

    Если тип назначения - это Service Tag, укажите следующие сведения:

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

    Снимок экрана: обновление утвержденной исходящей сети путем добавления тега службы.

    Если тип назначения — полное доменное имя, укажите следующие сведения:

    Предупреждение

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

    • Назначение полного доменного имени: полное доменное имя для добавления в утвержденные правила исходящего трафика.

    Снимок экрана обновления утвержденной исходящей управляемой виртуальной сети с добавлением правила FQDN для нее.

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

  5. Продолжайте создавать рабочую область как обычно.

Настройка для бессерверных заданий Spark

Подсказка

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

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

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

    Используйте YAML-файл, чтобы определить конфигурацию управляемой виртуальной сети и добавить частную конечную точку для учетной записи хранения Azure. Также установлено: spark_enabled: true

    Подсказка

    В этом примере используется управляемая виртуальная сеть, настроенная с использованием isolation_mode: allow_internet_outbound для разрешения интернет-трафика. Если вы хотите разрешить только утвержденный исходящий трафик, используйте isolation_mode: allow_only_approved_outbound.

    name: myworkspace
    managed_network:
      isolation_mode: allow_internet_outbound
      outbound_rules:
      - name: added-perule
        destination:
          service_resource_id: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>
          spark_enabled: true
          subresource_target: blob
        type: private_endpoint
    

    Файл конфигурации YAML можно использовать с az ml workspace update командой, указав --file параметр и имя YAML-файла. Например, следующая команда обновляет существующую рабочую область с помощью файла YAML с именем workspace_pe.yml:

    az ml workspace update --file workspace_pe.yml --resource_group rg --name ws
    

    Примечание.

    Если включен параметр "Разрешить только утвержденный исходящий трафик ",isolation_mode: allow_only_approved_outbound зависимости пакета conda, определенные в конфигурации сеанса Spark, не устанавливаются. Чтобы устранить эту проблему, отправьте автономное колесо пакета Python без внешних зависимостей в учетную запись хранения Azure и создайте частную конечную точку в эту учетную запись хранения. Используйте путь к колесу пакета Python в качестве py_files параметра в задании Spark. Установка правила исходящих соединений с полным доменным именем не будет обходить эту проблему, так как распространение правила FQDN не поддерживается Spark.

    В следующем примере показано, как создать управляемую виртуальную сеть для существующей рабочей области Машинное обучение Azure с именемmyworkspace. Он также добавляет частную конечную точку для учетной записи службы хранения Azure и задает spark_enabled=true:

    Подсказка

    В следующем примере показана управляемая виртуальная сеть, настроенная с помощью IsolationMode.ALLOW_INTERNET_OUTBOUND для разрешения интернет-трафика. Если вы хотите разрешить только утвержденный исходящий трафик, используйте IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.

    # Get the existing workspace
    ml_client = MLClient(DefaultAzureCredential(), subscription_id, resource_group, "myworkspace")
    ws = ml_client.workspaces.get()
    
    # Basic managed VNet configuration
    ws.managed_network = ManagedNetwork(IsolationMode.ALLOW_INTERNET_OUTBOUND)
    
    # Example private endpoint outbound to a blob
    rule_name = "myrule"
    service_resource_id = "/subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP>/providers/Microsoft.Storage/storageAccounts/<STORAGE_ACCOUNT_NAME>"
    subresource_target = "blob"
    spark_enabled = True
    
    # Add the outbound 
    ws.managed_network.outbound_rules = [PrivateEndpointDestination(
        name=rule_name, 
        service_resource_id=service_resource_id, 
        subresource_target=subresource_target, 
        spark_enabled=spark_enabled)]
    
    # Create the workspace
    ml_client.workspaces.begin_update(ws)
    

    Примечание.

    • Если включен параметр "Разрешить только утвержденный исходящий трафик ",isolation_mode: allow_only_approved_outbound зависимости пакета conda, определенные в конфигурации сеанса Spark, не устанавливаются. Чтобы устранить эту проблему, отправьте автономное колесо пакета Python без внешних зависимостей в учетную запись хранения Azure и создайте частную конечную точку в эту учетную запись хранения. Используйте путь к колесу пакета Python в качестве py_files параметра в задании Spark.
    • Если рабочая область была создана с помощью IsolationMode.ALLOW_INTERNET_OUTBOUND, ее нельзя обновить позже для использования IsolationMode.ALLOW_ONLY_APPROVED_OUTBOUND.
    1. Войдите в портал Azure и выберите рабочую область Машинное обучение Azure.

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

      Снимок экрана с выбранным правилом конечной точки, в котором включен Spark.

    3. Нажмите кнопку "Сохранить ", чтобы сохранить правило, а затем нажмите кнопку "Сохранить " в верхней части сети , чтобы сохранить изменения в управляемой виртуальной сети.

  2. Подготовьте виртуальную управляемую сеть.

    Примечание.

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

    В следующем примере показано, как подготовить управляемую виртуальную сеть для бессерверных заданий Spark с помощью --include-spark параметра.

    az ml workspace provision-network -g my_resource_group -n my_workspace_name --include-spark
    

    В следующем примере показано, как подготовить управляемую виртуальную сеть для бессерверных заданий Spark:

    # Connect to a workspace named "myworkspace"
    ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")
    
    # whether to provision Spark vnet as well
    include_spark = True
    
    provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()
    

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

Подготовка управляемой виртуальной сети вручную

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

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

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

Примечание.

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

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

az ml workspace create -n myworkspace -g my_resource_group --managed-network AllowInternetOutbound --provision-network-now

В следующем примере показано, как вручную подготовить управляемую виртуальную сеть.

Подсказка

Если вы планируете отправлять бессерверные задания Spark, добавьте параметр --include-spark.

az ml workspace provision-network -g my_resource_group -n my_workspace_name

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

az ml workspace show -n my_workspace_name -g my_resource_group --query managed_network

Чтобы подготовить управляемую сеть во время создания рабочей области, установите флаг provision_network_now в True.

provision_network_now: True

В следующем примере показано, как подготовить управляемую виртуальную сеть:

# Connect to a workspace named "myworkspace"
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# whether to provision Spark vnet as well
include_spark = True

provision_network_result = ml_client.workspaces.begin_provision_network(workspace_name=ws_name, include_spark=include_spark).result()

Чтобы убедиться, что рабочая область подготовлена, используйте ml_client.workspaces.get() для получения сведений о рабочей области. Свойство managed_network содержит состояние управляемой сети.

ws = ml_client.workspaces.get()
print(ws.managed_network.status)

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

Настройка сборок образов

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

Внимание

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

Чтобы обновить рабочую область для использования вычислительного кластера или вычислительного экземпляра для создания образов Docker, используйте az ml workspace update команду с параметром --image-build-compute :

az ml workspace update --name ws --resource-group rg --image-build-compute mycompute

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

# import required libraries
from azure.ai.ml import MLClient
from azure.identity import DefaultAzureCredential

subscription_id = "<your subscription ID>"
resource_group = "<your resource group name>"
workspace = "<your workspace name>"

ml_client = MLClient(
    DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name=workspace
)

# Get workspace info
ws=ml_client.workspaces.get(name=workspace)
# Update to use cpu-cluster for image builds
ws.image_build_compute="mycompute"
ml_client.workspaces.begin_update(ws)
# To switch back to using ACR to build (if ACR is not in the virtual network):
# ws.image_build_compute = ''
# ml_client.workspaces.begin_update(ws)

Нет способа задать вычислительные ресурсы сборки образа на портале Azure. Вместо этого используйте Azure CLI или пакет SDK для Python.

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

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

az ml workspace outbound-rule list --workspace-name ws --resource-group rg

Чтобы просмотреть сведения о правиле исходящего трафика управляемой виртуальной сети, используйте следующую команду:

az ml workspace outbound-rule show --rule rule-name --workspace-name ws --resource-group rg

Чтобы удалить правило исходящего трафика из управляемой виртуальной сети, выполните следующую команду:

az ml workspace outbound-rule remove --rule rule-name --workspace-name ws --resource-group rg

В следующем примере показано, как управлять правилами исходящего трафика для рабочей области с именем myworkspace:

# Connect to the workspace
ml_client = MLClient(DefaultAzureCredential(), subscription_id=subscription_id, resource_group_name=resource_group, workspace_name="myworkspace")

# Specify the rule name
rule_name = "<some-rule-name>"

# Get a rule by name
rule = ml_client._workspace_outbound_rules.get(resource_group, ws_name, rule_name)

# List rules for a workspace
rule_list = ml_client._workspace_outbound_rules.list(resource_group, ws_name)

# Delete a rule from a workspace
ml_client._workspace_outbound_rules.begin_remove(resource_group, ws_name, rule_name).result()
  1. Войдите в портал Azure и выберите рабочую область Машинное обучение Azure, для которой требуется включить изоляцию управляемой виртуальной сети.

  2. Выберите Сети. Раздел "Исходящий доступ к рабочей области" позволяет управлять правилами исходящего трафика.

    Снимок экрана: раздел правил исходящего трафика.

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

  • Чтобы включить или отключить правило, используйте переключатель в столбце "Активный".

  • Чтобы удалить правило исходящего трафика, выберите команду delete для правила.

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

Частные конечные точки

  • Когда режим изоляции для управляемой виртуальной сети Allow internet outbound, правила исходящего трафика частной конечной точки автоматически создаются в качестве необходимых правил из этой управляемой виртуальной сети для рабочей области и связанных ресурсов с отключенным доступом к общедоступной сети (Key Vault, учетная запись хранения, реестр контейнеров, рабочая область Azure Machine Learning).
  • Если режим изоляции для управляемой виртуальной сети являетсяAllow only approved outbound, правила исходящего трафика частной конечной точки автоматически создаются в соответствии с необходимыми правилами из управляемой виртуальной сети для рабочей области и связанных ресурсов независимо от режима доступа к общедоступной сети для этих ресурсов (Key Vault, учетная запись хранения, реестр контейнеров, Машинное обучение Azure рабочая область).
  • Эти правила автоматически добавляются в управляемую виртуальную сеть.

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

Правило тега сервиса Входящий или исходящий Цель
AzureMachineLearning Входящий трафик Создание, обновление и удаление объектов вычислительных мощностей для Azure Machine Learning.
AzureMachineLearning исходящий Использование служб Машинного обучения Azure. Интеллисенс Python в блокнотах использует порт 18881. Создание, обновление и удаление экземпляра вычислений Azure Machine Learning использует порт 5831.
AzureActiveDirectory исходящий Проверка подлинности с использованием Microsoft Entra ID.
BatchNodeManagement.region исходящий Обмен данными с бэкэндом Azure Batch для вычислительных экземпляров или кластеров Azure Machine Learning.
AzureResourceManager исходящий Создание ресурсов Azure с помощью Azure Machine Learning, Azure CLI и Azure Machine Learning SDK.
AzureFrontDoor.FirstParty исходящий Доступ к образам Docker, предоставляемым корпорацией Майкрософт.
MicrosoftContainerRegistry исходящий Доступ к образам Docker, предоставляемым корпорацией Майкрософт. Настройка маршрутизатора Машинного обучения Azure для Службы Kubernetes Azure.
AzureMonitor исходящий Используется для регистрации мониторинга и метрик в Azure Monitor. Требуется только в том случае, если Azure Monitor для рабочей области не является защищённым. Этот исходящий трафик также используется для регистрации сведений об инцидентах поддержки.
VirtualNetwork исходящий Требуется, если частные конечные точки присутствуют в виртуальной сети или одноранговых виртуальных сетях.

Примечание.

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

Список специфичных для сценария правил исходящего трафика

Сценарий. Доступ к пакетам общедоступного машинного обучения

Чтобы разрешить установку пакетов Python для обучения и развертывания, добавьте правила для исходящего трафика по полным доменным именам (FQDN) к следующим именам узлов.

Предупреждение

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

Примечание.

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

Имя хоста Целевые назначения
anaconda.com
*.anaconda.com
Используется для установки пакетов по умолчанию.
*.anaconda.org Используется для получения данных репозитория.
pypi.org Используется для вывода списка зависимостей из индекса по умолчанию, если таковые имеются, а индекс не перезаписывается параметрами пользователя. Если индекс перезаписан, необходимо также предоставить разрешение на *.pythonhosted.org.
pytorch.org
*.pytorch.org
Используется в примерах, основанных на PyTorch.
*.tensorflow.org Используется в некоторых примерах на основе TensorFlow.

Сценарий: Использование настольного или веб-приложения Visual Studio Code с вычислительным экземпляром

Если вы планируете использовать Visual Studio Code с платформой Azure Machine Learning, добавьте правила исходящего трафика для полного доменного имени (FQDN), чтобы разрешить трафик на следующие узлы:

Примечание.

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

Имя хоста Целевые назначения
*.vscode.dev
*.vscode-unpkg.net
*.vscode-cdn.net
*.vscodeexperiments.azureedge.net
default.exp-tas.com
Требуется для доступа к vscode.dev (Visual Studio Code для Интернета)
code.visualstudio.com Требуется скачать и установить настольную версию Visual Studio Code. Этот хост не требуется для веб-версии VS Code.
update.code.visualstudio.com
*.vo.msecnd.net
Используется для получения битов сервера VS Code, установленных на вычислительном экземпляре с помощью сценария настройки.
marketplace.visualstudio.com
vscode.blob.core.windows.net
*.gallerycdn.vsassets.io
Требуется для скачивания и установки расширений приложения Visual Studio Code. Эти узлы позволяют удаленному подключению к вычислительным экземплярам. Дополнительные сведения см. в статье "Управление ресурсами Azure Machine Learning в VS Code".
vscode.download.prss.microsoft.com Используется для загрузки Visual Studio Code через CDN

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

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

  • queue
  • table
  • Частная конечная точка для служб ИИ Azure
  • Частная конечная точка для Azure Cognitive Search

Сценарий. Использование моделей HuggingFace

Если вы планируете использовать модели HuggingFace с Azure Machine Learning, добавьте правила FQDN исходящего трафика, чтобы разрешить трафик на следующие узлы.

Предупреждение

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

  • docker.io
  • *.docker.io
  • *.docker.com
  • production.cloudflare.docker.com
  • cdn.auth0.com
  • cdn-lfs.huggingface.co

Сценарий. Включение доступа из выбранных IP-адресов

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

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

    Подсказка

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

  2. Включите доступ для общедоступной сети к рабочей области. Дополнительные сведения см. в разделе "Доступ к общедоступной сети".

  3. Добавьте IP-адреса в брандмауэр для Azure Machine Learning. Дополнительные сведения см. в разделе "Включение доступа только из диапазонов IP-адресов".

    Примечание.

    Поддерживаются только IPv4-адреса.

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

Частные конечные точки

Частные конечные точки в настоящее время поддерживаются для следующих служб Azure:

  • Машинное обучение Azure
  • Реестры машинного обучения Azure
  • служба хранилища Azure (все подтипы ресурсов)
  • Реестр контейнеров Azure
  • Azure Key Vault
  • Службы ИИ Azure
  • Поиск ИИ Azure (прежнее название — Когнитивный поиск)
  • Azure SQL Server
  • Фабрика данных Azure
  • Azure Cosmos DB (все вложенные типы ресурсов)
  • Центры событий Azure
  • Кэш Redis для Azure
  • Azure Databricks
  • База данных Azure для MariaDB
  • База данных Azure для PostgreSQL — Отдельный сервер
  • Гибкий сервер Базы данных Azure для PostgreSQL
  • База данных Azure для MySQL
  • Azure Управление API
    • Поддержка только классического уровня без внедрения виртуальной сети и уровня "Стандартный" версии 2 с интеграцией виртуальной сети. Дополнительные сведения о виртуальных сетях управления API см. в разделе "Основные понятия виртуальной сети"
  • Application Insights (через PrivateLinkScopes)

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

При создании частной конечной точки для ресурсов зависимостей Azure Machine Learning, таких как Azure Storage, Azure Container Registry и Azure Key Vault, ресурс может находиться в другой подписке Azure. Однако ресурс должен находиться в том же тенанте, что и рабочая область машинного обучения Azure.

Частные конечные точки для рабочей области не создаются автоматически. Они создаются только при создании первого вычислительного ресурса или при принудительном предоставлении управляемой виртуальной сети. Дополнительные сведения о принудительной подготовке управляемой виртуальной сети см. в разделе "Ручная подготовка сети".

Утверждение частных конечных точек

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

Мы рекомендуем назначить роль утверждающего подключения к сети Azure AI Enterprise или пользовательскую роль с необходимыми разрешениями для подключения к частной конечной точке для целевых типов ресурсов. Чтобы службы Azure Machine Learning могли утвердить подключения частной конечной точки к целевым ресурсам Azure, предоставьте эту роль управляемой идентичности рабочей области Azure Machine Learning.

Ниже приведен список типов целевых ресурсов частной конечной точки, охватываемых ролью утверждающего сетевого подключения Azure AI Enterprise:

  • Шлюз приложений Azure
  • Azure Monitor
  • Поиск с использованием ИИ Azure
  • Центры событий
  • База данных SQL Azure
  • Служба хранилища Azure
  • Рабочая область Машинного обучения Azure
  • Реестр машинного обучения Azure
  • Azure AI Foundry
  • Azure Key Vault
  • Azure Cosmos DB (облачная база данных)
  • База данных Azure для MySQL
  • База данных Azure для PostgreSQL
  • Службы искусственного интеллекта Azure
  • Кэш Azure для Redis
  • Реестр контейнеров
  • Управление API

Чтобы создать исходящие правила для конечной точки частной сети для целевых типов ресурсов, не охваченных ролью утверждающего сетевого подключения Azure AI Enterprise, рекомендуется использовать настраиваемую роль с сокращёнными правами. Правило должно определять действия, необходимые для утверждения подключений частной конечной точки к целевым типам ресурсов. Примерами таких типов ресурсов являются Фабрика данных Azure, Azure Databricks и приложения-функции Azure.

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

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

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

Внимание

Брандмауэр не создается, пока не будет добавлено правило исходящего трафика FQDN. Дополнительные сведения о ценах см. на странице ценообразования межсетевого экрана Azure и ознакомьтесь с ценами на стандартную версию. Фильтрация на основе URL-адресов поддерживается только в брандмауэре Azure уровня "Премиум", а не в "Базовом" или "Стандартном" брандмауэре Azure. Управляемая виртуальная сеть не поддерживает брандмауэр Azure уровня "Премиум".

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

Чтобы настроить версию брандмауэра из CLI, используйте YAML-файл и укажите firewall_sku. В следующем примере показан файл YAML, который задает SKU брандмауэра на basic.

name: test-ws
resource_group: test-rg
location: eastus2 
managed_network:
  isolation_mode: allow_only_approved_outbound
  outbound_rules:
  - category: required
    destination: 'contoso.com'
    name: contosofqdn
    type: fqdn
  firewall_sku: basic
tags: {}

Чтобы настроить версию брандмауэра из пакета SDK для Python, задайте firewall_sku свойство ManagedNetwork объекта. В следующем примере показано, как задать SKU брандмауэра на basic.

network = ManagedNetwork(isolation_mode=IsolationMode.ALLOW_INTERNET_OUTBOUND,
                         firewall_sku='basic')

Цены

Функция управляемой виртуальной сети в Azure Machine Learning бесплатна. Однако плата взимается за следующие ресурсы, используемые управляемой виртуальной сетью:

  • Azure Private Link. Частные конечные точки, используемые для защиты обмена данными между управляемой виртуальной сетью и ресурсами Azure, осуществляются с использованием Azure Private Link. Дополнительные сведения о ценах см. в разделе Цены на услугу Azure Private Link.

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

    Внимание

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

Ограничения

  • После включения изоляции управляемой виртуальной сети рабочей области (разрешить исходящий трафик через Интернет или разрешить только утвержденный исходящий трафик) его нельзя отключить.
  • Управляемая виртуальная сеть использует подключение к частной конечной точке для доступа к частным ресурсам. Для ресурсов Azure, таких как учетная запись хранения, невозможно одновременно иметь частную конечную точку и конечную точку службы. Для всех сценариев мы рекомендуем использовать частные конечные точки.
  • При удалении рабочей области управляемая виртуальная сеть удаляется.
  • Убедитесь, что на ресурсы Microsoft Azure Machine Learning и группы ресурсов нет блокировок области доступа. Внутренние операции, связанные с управляемой виртуальной сетью, могут быть заблокированы.
  • Защита от кражи данных автоматически включена только для единственного одобренного исходящего режима. При добавлении других правил исходящего трафика, таких как FQDN, Майкрософт не может гарантировать защиту от кражи данных и их передачи в эти исходящие точки назначения.
  • Создание вычислительного кластера в другом регионе, отличном от рабочей области, не поддерживается при использовании управляемой виртуальной сети.
  • Kubernetes и подключенные виртуальные машины не поддерживаются в управляемой виртуальной сети Машинное обучение Azure.
  • При использовании правил исходящего трафика FQDN увеличивается стоимость управляемой виртуальной сети, так как эти правила используют Брандмауэр Azure. Дополнительные сведения см. на странице цен.
  • В правилах исходящего трафика FQDN поддерживаются только порты 80 и 443.
  • Если вычислительный экземпляр находится в управляемой сети и не настроен для общедоступных IP-адресов, используйте команду az ml compute connect-ssh для подключения к ней с помощью SSH.
  • При использовании управляемой виртуальной сети невозможно развернуть вычислительные ресурсы в пользовательской виртуальной сети. Вычислительные ресурсы можно создавать только в управляемой виртуальной сети.
  • Если управляемая сеть настроена для разрешения только утвержденного исходящего трафика, нельзя использовать полное доменное имя для доступа к учетным записям хранилища Azure. Вместо этого следует использовать частную конечную точку.
  • Убедитесь, что в вашей пользовательской политике в список разрешений включены частные конечные точки, управляемые корпорацией Майкрософт и созданные для управляемой виртуальной сети.

Миграция вычислительных ресурсов

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

  • Вычислительный кластер
  • Вычислительный экземпляр
  • Управляемые сетевые конечные точки

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