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


Выбор правильного метода проверки подлинности

Azure DevOps Services | Azure DevOps Server 2022 — Azure DevOps Server 2019

Для приложений, которые выполняют интерфейс с Azure DevOps Services, необходимо пройти проверку подлинности, чтобы получить доступ к ресурсам через REST API Azure DevOps Services. В этой статье приведены рекомендации по выбору правильного механизма проверки подлинности для приложения.

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

Тип приложения Описание Пример Механизм аутентификации Примеры кода
Интерактивное клиентское приложение (REST) Клиентское приложение, которое позволяет пользователю взаимодействовать и напрямую вызывать интерфейсы REST API. Консольное приложение, перечисляющее проекты в организации OAuth с библиотекой аутентификации Microsoft (MSAL) пример
Интерактивное клиентское приложение (клиентские библиотеки) Клиентское приложение, позволяющее взаимодействовать с пользователем и вызывать клиентские библиотеки Azure DevOps Services Консольное приложение, перечисляющее ошибки, назначенные текущему пользователю OAuth с клиентскими библиотеками пример
Неинтерактивное клиентское приложение Приложение на стороне клиента без интерфейса, работающее только с текстом Консольное приложение, отображающее все ошибки, назначенные пользователю OAuth с профилем устройства , потоком пример
Личный маркер доступа Маркер носителя для доступа к собственным ресурсам Используйте PAT вместо пароля для неформальных вызовов REST. Не идеально подходит для приложений. Пятс примеры
Серверные приложения Приложение Azure DevOps Server с помощью клиентской библиотеки OM Расширение Azure DevOps Server, отображающее панели мониторинга ошибок группы Клиентские библиотеки пример
Сервисный субъект или управляемая учетная запись Приложение с уникальной идентичностью Функция Azure для создания рабочих элементов Субъекты-службы и управляемые удостоверения пример
Веб-расширение Расширение Azure DevOps Services Расширение "Гибкие карточки" Пакет SDK для веб-расширения VSS пример

Совет

Аутентификация на основе Microsoft Entra является нашей рекомендацией для разработчиков, желающих интегрироваться с Azure DevOps Services, если вы взаимодействуете с учётными записями Microsoft Entra. Примеры приложений OAuth в этой таблице используют платформу удостоверений Microsoft Entra для разработки приложений.
Для проверки подлинности с помощью учетных записей Майкрософт (MSA) или пользователей Azure DevOps Server ознакомьтесь с нашими клиентскими библиотеками или PATs.
Узнайте больше в нашем блоге о том, как мы снижаем использование PAT на нашей платформе.

Часто задаваемые вопросы

Вопрос. Следует ли использовать клиентские библиотеки Azure DevOps Services или REST API Azure DevOps Services для интерактивного клиентского приложения?

Ответ. Мы рекомендуем использовать клиентские библиотеки Azure DevOps Services через REST API для доступа к ресурсам Azure DevOps Services. Они проще и проще поддерживать при изменении версий конечных точек REST. Если клиентские библиотеки не имеют определенных функций, используйте MSAL для проверки подлинности с помощью интерфейсов REST API.

Вопрос. Это руководство относится только к Azure DevOps Services или относится ли оно также к локальным пользователям Azure DevOps Server?

Ответ. В основном это руководство предназначено для пользователей Azure DevOps Services. Для пользователей Сервера Azure Devops рекомендуется использовать клиентские библиотеки, проверку подлинности Windows или личные маркеры доступа (PATS) для проверки подлинности.

Вопрос. Что делать, если требуется, чтобы мое приложение выполнялось аутентификацией с помощью Azure DevOps Server и Azure DevOps Services?

Ответ. Рекомендуется использовать отдельные пути проверки подлинности для Azure DevOps Server и Azure DevOps Services. Вы можете использовать requestContext эту службу, чтобы определить, к какой службе вы обращаетесь, а затем применить соответствующий механизм проверки подлинности. Если вы предпочитаете унифицированное решение, paTs работают для обоих.

Вопрос. Почему моя учетная запись службы не может получить доступ к REST API Azure DevOps?

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