Интеграция Машинного обучения Azure с инструментами DevOps

Завершено

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

В обоих наборах инструментов обычно есть две роли:

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

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

Настройка Azure DevOps

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

Начните с входа в Azure DevOps с помощью учетной записи Майкрософт или GitHub.

После входа в систему можно создать организацию.

Новая организация в Azure DevOps

В организации можно создать несколько проектов .

Новый проект в Azure DevOps

Для каждого проекта вы получите доступ к таким средствам, как Boards, Reposи Pipelines для применения принципов DevOps в проекте.

Подключение Azure DevOps к Машинному обучению Azure

Чтобы безопасно получить доступ из Azure DevOps к рабочей области Azure Machine Learning, необходимо создать подключение службы.

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

Главный объект службы создается как удостоверение в Microsoft Entra ID . Вместо использования учетных данных участника команды для подключения к Машинному обучению Azure, Azure DevOps использует учетные данные учетной записи службы.

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

  1. В проекте перейдите к настройкам проекта.
  2. Выберите подключение службы и создайте новое.
  3. Выберите Azure Resource Manager.
  4. Выберите проверку подлинности с помощью автоматическогосубъекта-службы.
  5. Задайте уровень области рабочей области машинного обучения и подключитесь к существующей рабочей области машинного обучения Azure, к которому у вас есть доступ.
  6. Предоставьте разрешение на доступ ко всем конвейерам.
  7. Присвойте подключению службы имя. Вы будете использовать имя всякий раз, когда необходимо пройти проверку подлинности Azure DevOps для управления рабочей областью Машинного обучения Azure.

новое подключение к службе в Azure DevOps

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

Настройка GitHub

Чтобы подключить GitHub к Машинному обучению Azure, сначала необходимо создать репозиторий GitHub.

Начните с входа в GitHub.

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

Новый репозиторий в GitHub

Подключение GitHub к Машинному обучению Azure

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

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

Чтобы создать субъект-службу, можно использовать Azure CLI. Для работы с интерфейсом командной строки можно отправить команды в Azure Cloud Shell.

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

az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
                            --sdk-auth

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

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

  1. Перейдите в настройки репозитория.
  2. Перейдите на страницу Secrets.
  3. Выберите Действия.
  4. Добавьте новый секрет репозитория.
  5. Введите AZURE_CREDENTIALS в качестве имени.
  6. Вставьте учетные данные в выходной файл JSON и добавьте секретный ключ.

Новый секрет в GitHub

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

Совет

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