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

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

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

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

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

Основные сведения о безопасности и удостоверениях в Azure DevOps см. в статье "Сведения о безопасности и идентификации". Дополнительные сведения о хранении учетных данных см. в статье "Хранилище учетных данных" для Azure DevOps.

Включение обычной проверки подлинности IIS недопустимо с помощью PATs для Azure DevOps Server

Дополнительные сведения см. в статье Об использовании базовой проверки подлинности IIS с локальной средой Azure DevOps.

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

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

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

Вопрос. Я делаю интерактивное клиентское приложение. Следует ли использовать клиентские библиотеки 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 Server. Для локальных пользователей рекомендуется использовать клиентские библиотеки, проверку подлинности Windows или личные маркеры доступа (PATS).

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

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