Безопасная интеграция Машинного обучения Azure и Azure Synapse

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

Необходимые компоненты

  • Подписка Azure.

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

    • Учетная запись хранения Azure

      Совет

      У каждой учетной записи хранения есть три отдельные конечные точки — для BLOB-объектов, файлов и DFS.

    • Azure Key Vault

    • Реестр контейнеров Azure

    Быстрый и простой способ создать эту конфигурацию — использовать шаблон Microsoft Bicep или HashiCorp Terraform.

  • Рабочая область Azure Synapse в управляемой виртуальной сети с помощью управляемой частной конечной точки. Дополнительные сведения см. в статье Управляемая виртуальная сеть аналитики Azure Synapse.

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

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

    Примечание.

    Действия, описанные в этом документе, основаны на следующих предположениях:

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

Основные сведения о сетевом подключении

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

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

  • Создайте виртуальную машину Azure в виртуальной сети и используйте для подключения к этой машине Бастион Azure. Затем подключитесь к Машинному обучению Azure с виртуальной машины.
  • Создайте VPN-шлюз или используйте ExpressRoute для подключения клиентов к виртуальной сети.

Поскольку рабочая область Azure Synapse является общедоступной, к ней можно подключаться, не создавая VPN-шлюз и другие объекты. Рабочая область Synapse безопасно подключается к Машинному обучению Azure через виртуальную сеть. Машинное обучение Azure и его ресурсы защищаются в виртуальной сети.

При добавлении источников данных их можно защищать и за пределами виртуальной сети. Например, безопасное подключение к учетной записи службы хранилища Azure или Data Lake Store 2-го поколения через виртуальную сеть.

Дополнительные сведения см. в следующих статьях:

Настройка Azure Synapse

Внимание

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

  1. В Azure Synapse Studio создайте новую связанную службу Машинного обучения Azure.

  2. После создания и публикации связанной службы выберите Управление, Управляемые частные конечные точки, а затем — + Создать в Azure Synapse Studio.

    Screenshot of the managed private endpoints dialog.

  3. На странице Новая управляемая частная конечная точка найдите Машинное обучение Azure и выберите эту плитку.

    Screenshot of selecting Azure Machine Learning.

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

    Screenshot of the new private endpoint dialog.

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

    Примечание.

    На следующем снимке экрана управляемая частная конечная точка создана для Azure Data Lake Storage 2-го поколения, связанного с этой рабочей областью Synapse. Сведения о том, как создать Azure Data Lake Storage 2-го поколения и включить для него частную конечную точку, см. в разделе Подготовка и защита связанной службы с помощью управляемой виртуальной сети.

    Screenshot of the managed private endpoints list.

Создание пула Spark

Для проверки правильности работы интеграции Azure Synapse и Машинного обучения Azure используется пул Apache Spark. Сведения о создании пула см. в разделе Создание пула Spark.

Настройка Машинного обучения Azure

  1. На портале Azure выберите рабочую область Машинного обучения Azure и выберите Сеть.

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

    Screenshot of the private endpoint approval.

  3. В левой части страницы выберите Управление доступом (IAM). Выберите + Добавить, а затем — Назначение ролей.

    Screenshot of the role assignment.

  4. Выберите роли привилегированного администратора, участника и нажмите кнопку "Далее".

    Screenshot of selecting contributor.

  5. Выберите пункт Пользователь, группа или субъект-служба и нажмите + Выбрать членов. Введите имя созданного ранее удостоверения, выберите его и нажмите кнопку Выбрать.

    Screenshot of assigning the role.

  6. Выберите Просмотр и назначение, проверьте сведения и нажмите кнопку Проверка и назначение.

    Совет

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

Проверка подключения

  1. В Azure Synapse Studio выберите пункт Разработка, а затем + Записная книжка.

    Screenshot of adding a notebook.

  2. В поле Присоединить к выберите пул Apache Spark для рабочей области Azure Synapse и введите в первой ячейке следующий код:

    from notebookutils.mssparkutils import azureML
    
    # getWorkspace() takes the linked service name,
    # not the Azure Machine Learning workspace name.
    ws = azureML.getWorkspace("AzureMLService1")
    
    print(ws.name)
    

    Внимание

    Этот фрагмент кода подключается к связанной рабочей области с помощью пакета SDK версии 1, а затем выводит сведения о рабочей области. В выходных данных отображается значение, представляющее собой имя рабочей области Машинного обучения Azure, а не имя связанной службы, которая использовалась в вызове getWorkspace(). Дополнительные сведения об использовании объекта ws см. в справочнике по классам рабочей области.

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