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


Azure DevOps — интеграция Git со служебным принципалом

В этой статье содержится пошаговое руководство по настройке субъекта-службы для интеграции Microsoft Fabric с Azure DevOps. Эта интеграция позволяет пользователю Fabric выполнять git-операции с помощью учетной записи службы. Автоматизируйте интеграцию Git с помощью API и служебного принципала, см. статью Автоматизация интеграции Git с помощью API

Предпосылки

Чтобы зарегистрировать приложение в клиенте Microsoft Entra и использовать его для интеграции рабочей области Fabric с Git, необходимо:

Шаг 1. Регистрация приложения с помощью идентификатора Microsoft Entra

Зарегистрируйте приложение с помощью идентификатора Microsoft Entra и создайте секрет, следуя инструкциям в разделе "Регистрация приложения". Убедитесь, что политики вашей организации позволяют создавать клиентские секреты и их использование для получения токенов. Обязательно сохраните секрет, он требуется на следующем шаге.

Если ваше приложение находится в клиенте, который не совпадает с домашней директорией для экземпляра Azure DevOps, см. раздел «Многотенантное использование».

Замечание

Обязательно сохраните секрет. Он используется на последующих этапах.

Дополнительные сведения см. в разделах "Объекты приложения и субъекты-службы в Microsoft Entra ID" и "Рекомендации по безопасности для свойств приложения в Microsoft Entra ID".

Пример регистрации приложения и создания субъекта-службы см. в разделе "Регистрация приложения Microsoft Entra и создание субъекта-службы".

Шаг 2. Назначение принципала службы в организации DevOps

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

  1. Вход в организацию Azure DevOps
  2. Переход к параметрам организации — пользователь —>> добавление пользователей
  3. Выберите, чтобы добавить субъект-службу

Снимок экрана: портал Azure DevOps.

  1. Перейдите к соответствующим параметрам проекта Azure DevOps —>Teams
  2. Добавление субъекта-службы в соответствующую команду

Шаг 3. Создание подключения к системе управления версиями Azure DevOps

Затем мы создадим подключение к системе управления версиями Azure DevOps. Для выполнения этого шага требуется следующая информация.

Получение идентификатора клиента

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

  1. Перейдите на портал Azure и войдите с помощью учетных данных.
  2. Перейдите к службе Microsoft Entra ID (Azure Active Directory)
  3. В разделе "Обзор" указан ваш "идентификатор арендатора".

Снимок экрана: идентификатор клиента на портале Azure.

Другие способы получения идентификатора клиента см. в статье "Как найти идентификатор клиента Microsoft Entra".

Получите идентификатор служебного принципала

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

  1. Перейдите на портал Azure и войдите с помощью учетных данных.
  2. Перейдите к службе Microsoft Entra ID (Azure Active Directory)
  3. Слева выберите регистрации приложений
  4. Переход к приложению и выбор вкладки "Обзор"
  5. Используйте идентификатор приложения (клиента) для идентификатора субъекта службы

Снимок экрана: расположение идентификатора клиента на портале Azure.

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

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

Имя Description
Отображаемое имя Имя подключения к системе контроля версий. Он должен быть уникальным.
URL-адрес Azure DevOps URL-адрес репозитория в Azure DevOps.
Метод аутентификации Метод проверки подлинности для подключения. Принципал службы должен быть выбран
Идентификатор арендатора Идентификатор клиента, где находится Azure DevOps. См. раздел "Получение идентификатора клиента ".
Идентификатор сервисного принципала Идентификатор приложения (клиента) из обзора приложения на портале Azure. См. раздел Получение идентификатора служебного принципала.
Ключ учетной записи службы Это секрет, полученный на шаге 1.
  1. В рабочей области выберите параметры рабочей области
  2. Выберите интеграцию Git
  3. Выбор Azure DevOps
  4. Щелкните "Добавить учетную запись"
  5. В поле Отображаемое имя введите имя.
  6. Введите URL-адрес Azure DevOps.
  7. В разделе Проверка подлинности выберите сервисный принципал.
  8. Заполните другие сведения (идентификатор арендатора, идентификатор основной службы, ключ основной службы), с использованием вышеуказанной информации.

Снимок экрана: новое подключение с помощью предпочтительного метода.

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

Многотенантные рекомендации по созданию субъекта-службы

Чтобы получить доступ к ресурсам, которые защищены клиентом Microsoft Entra, приложение должно иметь объект безопасности. При создании приложения субъект-служба автоматически создается в клиенте, где находится приложение.

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

Схема, показывающая, где может находиться ADO.

Scenario Приложение зарегистрировано как Создание субъекта-службы
1. Fabric, DevOps и приложение находятся в одном тенанте Учетные записи только в этом каталоге организации — приложения для одного арендатора Никаких других требований
2. DevOps и приложение в одном клиенте Учетные записи только в этом каталоге организации — приложения для одного арендатора Никаких других требований
3. Структура и приложение в одном клиенте, DevOps в отдельном клиенте Учетные записи в любом каталоге организации — мультитенантные приложения Создайте пакет обновления в клиенте Azure DevOps. См. примеры.
4. Fabric, DevOps и приложение находятся в разных арендаторах. Учетные записи в любом каталоге организации — мультитенантные приложения Создайте пакет обновления в клиенте Azure DevOps. См. примеры.

Субъект-службу можно создать в клиенте Azure DevOps с помощью одного из примеров. В следующих примерах показано, как это сделать с помощью Azure CLI и PowerShell. В обоих примерах предполагается, что ваше приложение находится в клиенте A, а Azure DevOps находится в клиенте B.


az login --tenant <your-tenant-id> # where --tenant is the tenant ID of Azure DevOps tenant (tenant B)

az ad sp create --id <app id> # where --id <app id> is the client ID of the application in tenant A

Дополнительные сведения см. в статьях Как и зачем приложения добавляются в Microsoft Entra ID и Тенантность в Microsoft Entra ID.

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

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

  1. В параметрах Fabric перейдите к разделу "Управление подключениями и шлюзами". Найдите созданное ранее облачное подключение.
  2. Измените подключение с обновленными параметрами.

Замечание

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

  1. После завершения редактирования подключения нажмите кнопку "Сохранить".