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


Руководство по идентификаторам Microsoft Entra для независимых разработчиков программного обеспечения

Идентификатор Microsoft Entra — это облачная служба управления удостоверениями и доступом, которая позволяет сотрудникам получать доступ к ресурсам. Отраслевые аналитики последовательно признают идентификатор Microsoft Entra в качестве лидера. Это семикратный лидер в Gartner Magic Quadrant для управления доступом. KuppingerCole оценивает идентификатор Microsoft Entra как положительный во всех измерениях в управлении доступом. Фрост и Салливан назвал Корпорацию Майкрософт 2022 года годом для отрасли глобального управления удостоверениями и доступом. Ознакомьтесь с историями о некоторых из более чем 300 000 организаций, использующих идентификатор Microsoft Entra.

Эта статья является первой в серии о том, как независимые разработчики программного обеспечения (ISV) могут создавать и оптимизировать приложения для идентификатора Microsoft Entra. В этой серии вы можете узнать больше о следующих разделах:

  • Создание приложений в экосистеме идентификатора Microsoft Entra id описывает использование Центра администрирования Microsoft Entra или интерфейса api программирования приложений Microsoft Graph для регистрации приложений в клиенте Идентификатора Microsoft Entra.
  • Проверка подлинности приложений и пользователей описывает, как приложения используют идентификатор Microsoft Entra для проверки подлинности пользователей и приложений.
  • Авторизация приложений, ресурсов и рабочих нагрузок иллюстрирует авторизацию, когда человек взаимодействует с приложением и направляет его. В этом сценарии API действуют для пользователя, а также когда приложения или службы работают независимо.
  • Настройка маркеров помогает создавать безопасность в приложениях с маркерами идентификатора и маркерами доступа из идентификатора Microsoft Entra ID. В нем описываются сведения, которые можно получить в маркерах идентификатора Microsoft Entra и способах их настройки.

Разработка с помощью платформа удостоверений Майкрософт

Приложения являются основными для идентификатора Microsoft Entra. Когда пользователь обращается к ресурсу, он обращается к ресурсу с помощью приложения. Платформа удостоверений Майкрософт состоит из средств и служб, позволяющих разработчикам создавать идентификатор Microsoft Entra. Платформа удостоверений Майкрософт начинается с идентификатора Microsoft Entra, облачной службы, которая предоставляет такие операции, как вход, выход и регистрация приложений, необходимых приложению. Платформа удостоверений Майкрософт включает библиотеки проверки подлинности Майкрософт с открытым кодом (MSAL) на различных языках и платформах и Microsoft Graph, которые предоставляют API для доступа к данным и операциям в идентификаторе Microsoft Entra.

Для разработчиков платформа удостоверений Майкрософт включает следующие функции.

  • Проверка подлинности пользователя, авторизация приложения, создание маркеров API.
  • Упрощение интеграции функций безопасности непосредственно с библиотекой проверки подлинности Майкрософт (MSAL) или с помощью API более высокого уровня, например Microsoft.Identity.Web или Azure.Identity.
  • Вместо реализации OAuth 2.0 с нуля используйте MSALs, чтобы абстрагировать сложность с надежными API,которые удаляют трудности разработчика.
  • Убедитесь, что приложения следуют рекомендациям по обеспечению безопасности в соответствии с отраслевыми стандартами и протоколами, такими как OAuth 2.0.
  • Объединение историй проверки подлинности в приложениях и взаимодействиях с поддержкой единого входа.
  • Упрощение интеграции социальных удостоверений с внешним идентификатором Майкрософт.
  • Защита данных и ресурсов с минимальным кодом сантехники и собственной поддержкой возможностей идентификатора Microsoft Entra, таких как условный доступ (ЦС), оценка непрерывного доступа (CAE), Защита идентификации Microsoft Entra и управление устройствами.
  • Создавайте приложения, которые безопасно защищают маркеры проверки подлинности, обеспечивая соблюдение требований к устройствам и политикам. Опирайтесь на поддержку проверки подлинности с помощью современных брокеров, таких как Microsoft Authenticator или встроенные компоненты операционной системы, такие как диспетчер веб-учетных записей (WAM) в Windows.

Интеграция приложений с Microsoft Entra ID

Приложения, которые интегрируются с пользователем, службой или удостоверениями групп Майкрософт, взаимодействуют с клиентом Идентификатора Microsoft Entra. Клиент — это выделенный экземпляр идентификатора Microsoft Entra, который обычно представляет организацию или группу в крупной компании. Клиент хранит каталог организации, сохраняя такие объекты, как рабочие или учебные учетные записи, или приглашенные учетные записи партнеров. Группы, приложения, устройства и другие объекты также хранятся. Клиент предоставляет веб-конечные точки, используемые приложениями для выполнения операций, таких как проверка подлинности.

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

Хотя для большинства предприятий требуется только один клиент Идентификатора Microsoft Entra, в сценариях может потребоваться несколько клиентов для удовлетворения своих бизнес-целей. Крупное предприятие может включать несколько независимых бизнес-подразделений, которые могут требовать координации и совместной работы в целом. Города в регионе или школах в округе могут иметь аналогичные требования. В этих сценариях каждый модуль может иметь собственный клиент с собственной конфигурацией и политиками. Так как клиенты облачных узлов Microsoft Entra ID организации могут настроить межтенантную совместную работу с минимальными трениями.

Идентификатор Microsoft Entra поддерживает следующие протоколы.

  • OAuth 2.0 является отраслевым стандартом для авторизации. Приложения запрашивают маркер доступа с протоколом OAuth 2.0, чтобы получить авторизацию для приложения для доступа к защищенному ресурсу.
  • OpenID Connect (OIDC) — это стандарт проверки подлинности взаимодействия, построенный на основе OAuth 2.0. Приложения запрашивают маркер идентификатора с протоколом OIDC для проверки подлинности текущего пользователя.
  • Язык разметки утверждений безопасности (SAML) 2.0 является стандартом проверки подлинности. Приложения запрашивают утверждение SAML, которое также называется токеном SAML, от идентификатора Microsoft Entra для обмена данными проверки подлинности и авторизации между приложением и идентификатором Microsoft Entra. Приложения используют SAML для проверки подлинности текущего пользователя.
  • Система управления удостоверениями между доменами (SCIM) не используется для проверки подлинности и авторизации. SCIM — это протокол подготовки, который автоматизирует синхронизацию сведений о пользователях и группах между идентификатором Microsoft Entra и подключением приложений. Синхронизация подготавливает пользователей и группы к приложению.

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

  • Кто является пользователем?
  • Что может получить доступ к приложению?
    • С какого устройства?
    • С какой силой учетных данных?
    • Из каких сетевых расположений?

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

Разработчикам, которые создают приложения, для которых требуется обработка удостоверений пользователей, не нужно писать код для учета этой сложности при выдаче маркеров. Встроенные возможности MSAL позволяют обрабатывать запросы проверки подлинности. При включенном условном доступе, когда приложение запрашивает маркер, идентификатор Microsoft Entra гарантирует применение политик. Он проверяет запросы на такие политики, как расположение пользователя (например, находится ли он в корпоративной сети) или оценивает сигналы риска для пользователя. Для оценки рисков пользователей может потребоваться больше взаимодействия с пользователем, например многофакторная проверка подлинности (MFA). После того как идентификатор Microsoft Entra проверяет соответствие ограничениям политики, он выдает маркер. Если он не может проверить соответствие требованиям, идентификатор Microsoft Entra не выдает маркер приложению и предоставляет пользователю контекст по поводу того, почему они не могут получить доступ к ресурсу.

Поскольку политики условного доступа теперь более сложны. Существует широкий набор сигналов, определяющих, должен ли пользователь или служба получать маркер. Например, важно определить, использует ли мобильное устройство управление мобильными приложениями (MAM), независимо от того, управляет ли Intune компьютером Windows из классического приложения. Кроме того, может потребоваться защитить маркеры, привязав их к исходному устройству запроса. Это усердие помогает обеспечить соответствие требованиям и безопасность с минимальными трениями к разработчику. Библиотеки Майкрософт предлагают необходимые шаблоны при сохранении гибкости в реагировании на конкретные требования политики.

Проверка подлинности и авторизация с помощью идентификатора Microsoft Entra

Идентификатор Microsoft Entra поддерживает потоки проверки подлинности и авторизации в браузерах для защиты веб-ресурсов (таких как веб-сайты и API) и на клиентских платформах, таких как Windows, macOS, Linux, iOS и Android. Поставщики технологий в экосистеме взаимодействуют с корпорацией Майкрософт, чтобы гарантировать, что клиенты, их организации и партнеры имеют простой интерфейс обработки учетных данных. Microsoft Edge работает непосредственно с идентификатором Microsoft Entra для поддержки широкого единого входа для проверки подлинности пользователей на своих устройствах с Windows. Google Chrome (версия 111) и Firefox (версия 91) имеют эту функцию. Веб-приложения, использующие удостоверения идентификаторов Microsoft Entra, автоматически используют эти функции в приложениях на основе браузера, чтобы обеспечить простой вход для клиентов.

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

Операционная система Брокер проверки подлинности
iOS Приложение Microsoft Authenticator
Android Приложение Microsoft Authenticator или приложение Корпоративный портал Intune
Windows Встроенный компонент операционной системы диспетчера веб-учетных записей, доступный в Windows 10, Windows Server 2019 и более поздних версиях, Windows 11

С помощью брокеров проверки подлинности разработчики собственных приложений могут использовать новые возможности идентификатора Microsoft Entra, такие как политики условного доступа на основе устройств, не перезаписывая код, так как новые функции становятся доступными в облаке. Приложения, которые не используют брокер проверки подлинности, могут видеть ограниченное внедрение приложений клиентами идентификатора Microsoft Entra, которым требуются эти функции.

Делегирование управления удостоверениями и доступом к идентификатору Microsoft Entra

Вы можете создавать приложения, которые делегируют управление удостоверениями и доступом к идентификатору Microsoft Entra с помощью любого средства разработчика, библиотеки или платформы, реализующей OAuth 2.0, OIDC или SAML с ранее рассмотренными предупреждениями. Многие реализации OIDC с сертификацией OpenID для одного или нескольких профилей сертификации, включая профили проверки подлинности, требуют минимальной дополнительной настройки для работы с идентификатором Microsoft Entra. Чтобы упростить разработку для платформы идентификатора Microsoft Entra ID, несколько оптимизированных библиотек Майкрософт работают с службы Майкрософт и возможностями.

  • При создании веб-приложений, API или других рабочих нагрузок (таких как daemons или службы на ASP.NET Core или ASP.NET), используйте Веб-сайт Microsoft Identity Web.
  • Если вы используете Microsoft Azure, используйте пакеты SDK Azure, которые включают клиентские библиотеки удостоверений Azure.
  • Если вы не можете использовать одну из этих библиотек, используйте MSAL для среды разработки, как показано в следующей таблице.
Библиотека Поддерживаемые платформы и среды
MSAL для Android Android
MSAL Angular Одностраничные приложения на платформах Angular и Angular.js
MSAL Objective-C iOS, iPadOS, macOS
MSAL Go Windows, macOS, Linux
MSAL Java Windows, macOS, Linux
MSAL.js Платформы JavaScript/TypeScript, такие как Vue.js, Ember.js или Durandal.js
MSAL для .NET .NET, .NET Framework, .NET для Android, .NET для tvOS
Узел MSAL Веб-приложения на Express, классические приложения Electron, кроссплатформенные консольные приложения
MSAL Python Windows, macOS, Linux
MSAL React Одностраничные приложения на React и с библиотеками на основе React (Next.js, Gatsby.js)

Семейство библиотек MSAL предоставляет основные функции приобретения и кэширования маркеров. На основе MSAL, Microsoft Identity Web и клиентов удостоверений Azure упрощают получение маркеров с помощью возможностей библиотеки проверки подлинности.

По возможности рекомендуется создавать поставщики программного обеспечения на основе MSAL или библиотеки, созданной на основе MSAL . MSAL поддерживает проверку подлинности через брокер, сценарии условного доступа, защиту маркеров, политики защиты приложений Microsoft Intune и управление мобильными приложениями, оценку непрерывного доступа Майкрософт и многое другое.

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

Доступ к другим ресурсам

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

Microsoft Graph предоставляет доступ к удостоверению и доступу клиента, пользователям, группам и приложениям. Microsoft Graph — это шлюз для данных и аналитики в Microsoft 365. Вы можете использовать единую модель программирования для доступа к огромному количеству данных в Microsoft 365, Windows и Enterprise Mobility + Security (EMS).

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

  • Создание приложений в экосистеме идентификатора Microsoft Entra id описывает, как использовать центр администрирования Microsoft Entra или API Microsoft Graph для регистрации приложений в клиенте идентификатора Microsoft Entra ID.
  • Проверка подлинности приложений и пользователей описывает, как приложения используют идентификатор Microsoft Entra для проверки подлинности пользователей и приложений.
  • Авторизация приложений, ресурсов и рабочих нагрузок обсуждает авторизацию, когда отдельный человек взаимодействует с приложением и направляет его, когда API действуют от имени пользователя, а также когда приложения или службы работают независимо.
  • Настройка маркеров помогает создавать безопасность в приложениях с маркерами идентификатора и маркерами доступа из идентификатора Microsoft Entra ID. В нем описываются сведения, которые можно получить в маркерах идентификатора Microsoft Entra и способах их настройки.