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


Взаимодействие с согласием для приложений в идентификаторе Microsoft Entra

Из этой статьи вы узнаете о пользовательском интерфейсе согласия приложения Microsoft Entra. Вы можете интеллектуально управлять приложениями для вашей организации и (или) разрабатывать приложения с более простым интерфейсом предоставления согласия.

Согласие — это процесс предоставления пользователем разрешения приложению получать доступ к защищенным ресурсам от имени пользователя. Администратор или пользователь могут получать запрос на разрешение доступа к рабочим или личным данным.

Фактический пользовательский интерфейс предоставления согласия отличается в зависимости от политик, заданных в клиенте пользователя, области полномочий пользователя (или роли) и типа разрешений, запрошенных клиентским приложением. Это означает, что разработчики приложений и администраторы клиентов имеют определенный уровень контроля над процедурой получения согласия. Администраторы имеют гибкие возможности настройки и отключения политик клиента или приложения для управления процедурой предоставления согласия в своих клиентах. Разработчики приложений могут диктовать, какие типы разрешений запрашиваются. Они также могут решить, хотите ли они направлять пользователей через поток согласия пользователя или поток согласия администратора.

  • Процесс предоставления согласия пользователем. Разработчик приложения направляет пользователей к конечной точке авторизации с целью зафиксировать согласие только для текущего пользователя.
  • Процесс предоставления согласия администратором. Разработчик приложения направляет пользователей к конечной точке авторизации администратора с целью зафиксировать согласие для всего клиента. Для правильной работы процесса предоставления согласия администратора разработчик приложений должен перечислить все разрешения в свойстве RequiredResourceAccess манифеста приложения. Дополнительные сведения см. в статье Манифест приложения Azure Active Directory.

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

Следующие схема и таблица содержат сведения о стандартных блоках запросов на согласие.

Стандартные блоки подтверждения согласия

# Компонент Характер использования
1 Идентификатор пользователя Этот идентификатор представляет пользователя, у которого клиентское приложение запрашивает доступ к защищенным ресурсам от имени пользователя.
2 Заголовок Заголовок изменяется в зависимости от того, выполняется ли процесс предоставления согласия пользователя или администратора. В потоке согласия пользователя заголовок — "Запрошенные разрешения", а в потоке согласия администратора заголовок имеет другую строку "Принять для вашей организации".
3 Логотип приложения Изображение должно помочь пользователям убедиться, что это именно то приложение, которому они хотят предоставить доступ. Это изображение предоставляется разработчиками приложения, и владелец этого изображение не проверяется.
4 Название приложения Это значение должно проинформировать пользователей о том, какое приложение запрашивает доступ к данным пользователей. Обратите внимание, что это имя предоставляется разработчиками приложения, и владелец этого имени не проверяется.
5 Имя и проверка издателя Синяя "проверенная" эмблема означает, что издатель приложения проверил свое удостоверение с помощью учетной записи Microsoft Partner Network и завершил процесс проверки. Если издатель приложения проверен, отображается имя издателя. Если приложение не проверено, вместо имени издателя отображается значение Unverified. Дополнительные сведения приведены в статье Проверка издателя. При выборе имени издателя отображаются более детальные сведения о приложении, если они доступны. Сведения включают имя издателя, домен издателя, дату создания, сведения о сертификации и URL-адреса ответа.
6 Сертификация Microsoft 365 Логотип сертификации Microsoft 365 означает, что приложение проверено на основе элементов управления, производных от ведущих отраслевых стандартных платформ. В нем показано, что существуют строгие методики обеспечения безопасности и соответствия требованиям для защиты данных клиентов. Дополнительные сведения приведены в статье Сертификация Microsoft 365.
7 Publisher Information (Сведения об издателе) Отображает, опубликовано ли приложение корпорацией Майкрософт.
8 Разрешения Этот список содержит разрешения, которые запрашивает клиентское приложение. Пользователи всегда должны оценивать типы разрешений, запрашиваемых, чтобы понять, какие данные клиентское приложение авторизовано для доступа от их имени. Разработчик приложений лучше всего запрашивать доступ к разрешениям с минимальными привилегиями.
9 Описание разрешения Это значение задается службой, предоставляющей разрешения. Чтобы просмотреть описание разрешений, необходимо открыть значок шеврона рядом с разрешением.
10 https://myapps.microsoft.com Эта ссылка позволяет пользователям просматривать и удалять любые приложения, отличные от Майкрософт, которые в настоящее время имеют доступ к своим данным.
11 Сообщите об этом здесь Эта ссылка используется для сообщения о подозрительном приложении, если вы не доверяете приложению, если вы считаете, что это олицетворение другого приложения, если это, вероятно, будет неправильно использовать данные или по какой-либо другой причине.

В следующем разделе описаны распространенные сценарии и ожидаемый интерфейс согласия для каждого из них.

Приложению требуется разрешение, которое пользователь имеет право предоставить

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

Администраторы видят другой элемент управления в традиционном запросе на согласие, который позволяет им предоставлять согласие от имени всего клиента. Элемент управления по умолчанию отключен, поэтому только если администраторы явно устанавливают флажок, согласие предоставляется от имени всего клиента. Флажок отображается только для роли администратора привилегированных ролей, поэтому администраторы облака и приложений не видят этот флажок.

Запрос согласия для сценария 1a

Пользователи видят традиционный запрос на согласие.

Снимок экрана, на котором показан традиционный запрос согласия.

Приложению требуется разрешение, которое пользователь не имеет права предоставлять

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

Администраторы видят другой элемент управления в традиционном запросе на согласие, который позволяет им предоставлять согласие от имени всего клиента.

Запрос согласия для сценария 1a

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

Снимок экрана с запросом согласия, в котором пользователю предлагается обратиться к администратору для получения доступа к приложению.

В этом сценарии согласия пользователь переходит к потоку согласия администратора или направляется к ней.

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

Запрос согласия для сценария 3а

Пользователям запрещено предоставлять согласие приложению, и им будет предложено попросить администратора получить доступ к приложению.

Снимок экрана с запросом согласия, в котором пользователю предлагается обратиться к администратору для получения доступа к приложению.

В этом сценарии администратор предоставляет все разрешения, запрашиваемые приложением, которые могут включать делегированные разрешения от имени всех пользователей в клиенте. Администратор предоставляет согласие через страницу разрешений API регистрации приложения в Центре администрирования Microsoft Entra.

Снимок экрана: явное согласие администратора через Центр администрирования Microsoft Entra.

Все пользователи этого клиента не видят диалоговое окно согласия, если приложение не требует новых разрешений. Сведения о том, какие роли администратора могут предоставить делегированные разрешения, см. в разделе "Разрешения роли администратора" в идентификаторе Microsoft Entra.

Внимание

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

Распространенные проблемы

В этом разделе описываются распространенные проблемы с взаимодействием с согласием и возможные советы по устранению неполадок.

  • Ошибка 403

    • Является ли сценарий делегированным сценарием? Какие разрешения есть у пользователя?
    • Добавлены ли необходимые разрешения для использования конечной точки?
    • Проверьте маркер, чтобы узнать, есть ли необходимые утверждения для вызова конечной точки.
    • Какие разрешения разрешены? Кто предоставил согласие?
  • Пользователь не может предоставить согласие

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

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

Устранение известных ошибок

Инструкции по устранению неполадок см. в статье Непредвиденная ошибка при предоставлении согласия для приложения.