Сценарии проверки подлинности и рекомендации

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

Решения проверки подлинности

  • Встроенная аутентификация в Служба приложений Azure: позволяет выполнять вход пользователей и получать доступ к данным, применяя минимальное количество кода или вообще без него в вашем веб-приложении, RESTful API или серверной части мобильного приложения. Он встроен непосредственно на платформу и не требует использования какого-либо языка, библиотеки, опыта безопасности или даже любого кода.
  • Microsoft Authentication Library (MSAL): позволяет разработчикам получать маркеры безопасности из платформа удостоверений Майкрософт для проверки подлинности пользователей и доступа к защищенным веб-API. Доступны для нескольких поддерживаемых платформ и платформ, это библиотеки общего назначения, которые можно использовать в различных размещенных средах. Разработчики также могут интегрироваться с несколькими поставщиками входа, такими как Microsoft Entra, Facebook, Google, X.
  • Microsoft.Identity.Web: библиотека более высокого уровня, оборачивающая MSAL.NET, она предоставляет набор абстракций ASP.NET Core, упрощающих добавление аутентификации в веб-приложения и веб-API, интегрируемых с платформой идентификации Microsoft. Он предоставляет удобный уровень API, объединяющий ASP.NET Core, его промежуточное программное обеспечение для аутентификации и MSAL.NET. Эту библиотеку можно использовать в приложениях в различных хостинговых средах. Вы можете интегрироваться с несколькими поставщиками входа, такими как Microsoft Entra, Facebook, Google и X.

Рекомендации по сценариям

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

Метод аутентификации Когда использовать
Встроенная проверка подлинности службы приложений * Требуется меньше кода для владения и управления.
* Язык и пакеты SDK вашего приложения не предоставляют пользователю возможности входа или авторизации.
* У вас нет возможности изменять код приложения (например, при переносе устаревших приложений).
* Необходимо обрабатывать проверку подлинности с помощью конфигурации, а не кода.
* Вам нужно авторизовать внешних или социальных пользователей.
Библиотека проверки подлинности Майкрософт (MSAL) * Требуется решение для кода на одном из нескольких разных языков.
* Необходимо добавить пользовательскую логику авторизации.
* Необходимо поддерживать добавочное согласие.
* Вам нужна информация о вошедшем пользователе в вашем коде.
* Вам нужно авторизовать внешних или социальных пользователей.
* Приложение должно обрабатывать срок действия маркера доступа без повторного входа пользователя.
Microsoft. Identity.Web * У вас есть приложение ASP.NET Core.
* Вам нужна поддержка единого входа в интегрированной среде разработки во время локальной разработки.
* Необходимо добавить пользовательскую логику авторизации.
* Необходимо поддерживать добавочное согласие.
* Вам нужен условный доступ в веб-приложении.
* Вам нужна информация о вошедшем пользователе в вашем коде.
* Вам нужно авторизовать внешних или социальных пользователей.
* Приложение должно обрабатывать срок действия маркера доступа без повторного входа пользователя.

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

Сценарий Служба App Service: встроенная проверка подлинности Библиотека проверки подлинности Майкрософт Microsoft. Identity.Web
Требуется быстрый и простой способ ограничить доступ к пользователям в организации?
Не удается изменить код приложения (сценарий миграции приложений)?
Язык и библиотеки вашего приложения поддерживают вход или авторизацию пользователей?
Даже если вы можете использовать программное решение, вы предпочли бы не использовать библиотеки? Хотите избежать бремени обслуживания?
Нужно ли веб-приложению предоставлять добавочное согласие?
Вам нужен условный доступ в веб-приложении?
Приложение должно обрабатывать срок действия маркера доступа без повторного входа пользователя (используйте маркер обновления)?
Нужна пользовательская логика авторизации или информация о вошедшем пользователе?
Требуется войти пользователей из внешних или социальных поставщиков удостоверений?
У вас есть приложение ASP.NET Core?
У вас есть одностраничное приложение или статическое веб-приложение?
Хотите Visual Studio интеграцию?
Нужна поддержка единого входа в интегрированной среде разработки во время локальной разработки?

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

Чтобы приступить к работе с встроенной аутентификацией Службы приложений, прочитайте:

Чтобы приступить к работе с Microsoft Authentication Library (MSAL), прочтите:

Чтобы начать использование Microsoft.Identity.Web, прочитайте следующее:

Узнайте больше о встроенных функциях проверки подлинности и авторизации в службе приложений .