Модель приложения
Приложения могут выполнять вход пользователей в систему самостоятельно или делегировать его поставщику удостоверений. В этой статье рассматриваются действия, которые необходимо выполнить для регистрации приложения на платформе удостоверений Майкрософт.
Регистрация приложения
Чтобы поставщик удостоверений знал, что пользователь имеет доступ к конкретному приложению, пользователь и приложение должны быть в нем зарегистрированы. При регистрации приложения с помощью идентификатора Microsoft Entra вы предоставляете конфигурацию удостоверения для приложения, которая позволяет интегрировать его с платформа удостоверений Майкрософт. Регистрация приложения также предоставляет следующие возможности.
- Настройка фирменной символики приложения в диалоговом окне входа. Эта фирменная символика важна, поскольку страница входа в систему — это первое, что видит пользователь при взаимодействии с приложением.
- Решите, следует ли разрешить вход только пользователям, которые принадлежат к вашей организации. Такая архитектура называется приложением с одним клиентом. Кроме того, вы можете разрешить пользователям входить с помощью любой рабочей или учебной учетной записи, которая называется мультитенантным приложением. Вы также можете разрешить использование личной учетной записи Майкрософт или учетной записи социальных сетей LinkedIn, Google и т. п.
- Запрос разрешений области. Например, можно запрашивать область user.read, которая предоставляет разрешение на чтение профиля пользователя, выполнившего вход.
- Определение областей, определяющих доступ к веб-API. Как правило, когда приложению требуется доступ к API, ему необходимо запросить разрешения для определенных областей.
- Предоставление доступа к своему секрету платформе удостоверений Майкрософт для подтверждения подлинности приложения. Использование секрета уместно, если приложение является конфиденциальным клиентским приложением. Конфиденциальное клиентское приложение — это приложение , которое может безопасно хранить учетные данные, например веб-клиент. Для хранения учетных данных требуется доверенный внутренний сервер.
После регистрации приложения ему присваивается уникальный идентификатор, который используется совместно с платформой удостоверений Майкрософт при запросе токенов. Если приложение является конфиденциальным клиентским приложением, оно также будет предоставлять доступ к секрету или открытому ключу в зависимости от того, что использовалось: сертификаты или секреты.
Платформа удостоверений Майкрософт представляет приложения с помощью модели, выполняющей две основные функции:
- идентификация приложения по протоколам проверки подлинности, которые оно поддерживает;
- предоставление всех идентификаторов, URL-адресов, секретов и связанных сведений, необходимых для проверки подлинности.
Платформа удостоверений Майкрософт:
- содержит все данные, необходимые для поддержки проверки подлинности во время выполнения;
- содержит все данные для определения ресурсов, к которым приложению может потребоваться доступ, а также обстоятельств, в которых следует выполнить данный запрос;
- Предоставляет инфраструктуру для реализации подготовки приложений в клиенте разработчика приложений и любого другого клиента Microsoft Entra.
- обрабатывает согласие пользователя во время запроса маркера и упрощает динамическую подготовку приложений между клиентами.
Согласие — это процесс предоставления владельцем ресурса клиентскому приложению доступа к ресурсам, защищенным конкретными разрешениями, от своего имени. Платформы удостоверений Майкрософт позволяют:
- пользователям и администраторам динамически предоставлять или отзывать согласие для приложения на доступ к ресурсам от их имени;
- администраторам единолично решить, какие действия разрешены приложениям, какие пользователи могут использовать определенные приложения и каким способом осуществляется доступ к ресурсам каталога.
Мультитенантные приложения
На платформе удостоверений Майкрософт объект приложения описывает приложение. Во время развертывания платформа удостоверений Майкрософт использует объект приложения как схему для создания субъекта-службы, который представляет конкретный экземпляр приложения в пределах каталога или клиента. Субъект-служба определяет, что фактически приложение может делать в определенном целевом каталоге, кто может его использовать, к каким ресурсам у него есть доступ и т. д. Платформа удостоверений Майкрософт создает субъект-службу из объекта приложения путем предоставления согласия.
На следующей схеме показан упрощенный процесс подготовки платформы удостоверений Майкрософт на основе согласия. На ней показаны два клиента: A и B.
- Клиент A является владельцем приложения.
- Клиент B создает экземпляр приложения с помощью субъекта-службы.
В этом процессе подготовки:
- Пользователь клиента B пытается выполнить вход в приложение. Конечная точка авторизации запрашивает маркер для приложения.
- Для поверки подлинности принимаются и проверяются учетные данные пользователя.
- Пользователю предлагается предоставить согласие для приложения на получение доступа к клиенту B.
- Платформа удостоверений Майкрософт использует объект приложения в клиенте A в качестве схемы для создания субъекта-службы в клиенте B.
- Пользователь получает запрошенный маркер безопасности.
Этот процесс можно повторить для большего числа клиентов. Клиент A сохраняет схему для приложения (объект приложения). Пользователи и администраторы всех остальных клиентов, где приложение получает согласие, сохраняют контроль над тем, что приложению разрешено делать, с помощью соответствующего объекта субъекта-службы в каждом клиенте. Дополнительные сведения см. в статье Объекты приложения и субъекта-службы на платформе удостоверений Майкрософт.
Следующие шаги
Дополнительные сведения о проверке подлинности и авторизации на платформе удостоверений Майкрософт см. в следующих статьях:
- Сведения об основных понятиях, связанных с проверкой подлинности и авторизацией, см. в статье Проверка подлинности и авторизация.
- Сведения о маркерах доступа, маркерах обновления и маркерах идентификации, используемых при проверке подлинности и авторизации, см. в статье Маркеры безопасности.
- Сведения о потоке входа в веб-приложения, а также классические и мобильные приложения см. в статье Поток входа в приложение.
- Сведения о надлежащей авторизации с помощью утверждений маркеров см. в статье "Безопасные приложения и API", проверяя утверждения
Дополнительные сведения о модели приложения см. в следующих статьях:
- Дополнительные сведения об объектах приложений и субъектах-службах в платформа удостоверений Майкрософт см. в статье "Как и почему приложения добавляются в идентификатор Microsoft Entra".
- Дополнительные сведения о приложениях с одним клиентом и мультитенантных приложениях см. в разделе "Арендаторство" в идентификаторе Microsoft Entra.
- Дополнительные сведения о том, как идентификатор Microsoft Entra также предоставляет Azure Active Directory B2C, чтобы организации могли выполнять вход пользователей, как правило, с помощью удостоверений социальных удостоверений, таких как учетная запись Google, см . в документации по Azure Active Directory B2C.