Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Управление доступом на основе ролей (RBAC) — это популярный механизм для принудительного применения авторизации в приложениях. С помощью RBAC администраторы могут предоставлять разрешения ролям, а не отдельным пользователям или группам. Затем администратор может назначить роли для различных пользователей и групп, чтобы контролировать доступ к соответствующему содержимому и функциональным возможностям.
Используя RBAC с ролями приложения и утверждениями ролей, разработчики могут безопасно обеспечить авторизацию в своих приложениях, приложив немного усилий.
Другой подход заключается в использовании групп Microsoft Entra и утверждений групп, как показано в примере кода active-directory-aspnetcore-webapp-openidconnect-v2 на сайте GitHub. Группы и роли приложений Microsoft Entra не являются взаимоисключающими; их можно использовать вместе, чтобы обеспечить более точное управление доступом.
Объявление ролей для приложения
Роли приложения определяются с помощью Центра администрирования Microsoft Entra во время процесса регистрации приложения. Роли приложения определяются в регистрации приложения, представляющей службу, приложение или API. Когда пользователь входит в приложение, идентификатор Microsoft Entra выдает roles утверждение для каждой роли, предоставленной пользователю или служебному принципалу, которое может быть использовано для реализации авторизации на основе утверждений. Роли приложения могут назначаться пользователю или группе пользователей. Роли приложения также могут назначаться служебному принципалу для другого приложения или служебному принципалу для управляемого удостоверения.
В настоящее время, если вы добавите учетную запись службы в группу, а затем назначите этой группе роль приложения (app role), Microsoft Entra ID не добавляет roles утверждение к токенам, которые он выпускает.
Роли приложений объявляются с помощью пользовательского интерфейса ролей приложений в Центре администрирования Microsoft Entra:
Количество ролей, которые вы добавляете, считается по ограничениям манифеста приложения, применяемым Microsoft Entra ID. Дополнительные сведения об этих ограничениях см. в разделе "Ограничения манифеста" в справочнике по манифесту приложения Microsoft Entra.
Пользовательский интерфейс ролей приложения
Чтобы создать роль приложения с помощью пользовательского интерфейса Центра администрирования Microsoft Entra:
Войдите в Центр администрирования Microsoft Entra как минимум в роли Администратор облачных приложений.
Если у вас есть доступ к нескольким клиентам, используйте значок"Параметры" в верхнем меню, чтобы переключиться на клиент, содержащий регистрацию приложения из
меню каталогов и подписок.Перейдите к Entra ID>регистрации приложений, а затем выберите приложение, в котором нужно задать роли приложения.
В разделе "Управление" выберите роли приложения, затем выберите Создать роль приложения.
На панели Создание роли приложения введите параметры для роли. В таблице, расположенной под изображением, описываются все настройки и их параметры.
Поле Описание: Пример Отображаемое имя Отображаемое имя для роли приложения, которое присутствует в процессе согласования администратором и назначения приложения. Это значение может содержать пробелы. Survey WriterРазрешенные типы элементов Указывает, может ли эта роль приложения назначаться пользователям, приложениям или обоим.
Если доступноapplications, роли приложения отображаются в виде разрешений приложения в разделе Управление регистрации приложения >Разрешения API > Добавить разрешение > Мои интерфейсы API > Выберите API > Разрешения приложения.Users/GroupsЦенность Определяет значение утверждения ролей, которое приложение должно ожидать в токене. Это значение должно точно совпадать со строкой, на которую ссылается код приложения. Это значение не может содержать пробелы. Survey.CreateОписание Более подробное описание роли приложения, отображаемое при назначении приложения администратором и предоставлении согласия. Writers can create surveys.Хотите включить эту роль приложения? Указывает, включена ли роль приложения. Чтобы удалить роль приложения, снимите этот флажок и примените изменения, прежде чем выполнять операцию удаления. Этот параметр управляет использованием и доступностью роли приложения, позволяя временно или окончательно отключить ее без полного удаления. Помечено Щелкните Применить, чтобы сохранить изменения.
Если для роли приложения установлено значение Включено, эта роль приложения включается в токены всех пользователей, приложений или групп, которым она назначена. Это могут быть токены доступа, когда ваше приложение выступает в качестве API, вызываемого другим приложением, или токены идентификаторов, когда ваше приложение выполняет вход пользователя в систему.
Если роль приложения имеет значение "Отключено", она становится неактивной и больше не может назначаться. Однако текущие назначения ролей приложений пользователям, группам и приложениям останутся, а роль приложения будет продолжать передаваться через токены. Удалите прикладную роль у пользователя, группы или приложения, чтобы убедиться, что роль также удалена из токенов.
Назначение владельца приложения
Прежде чем назначать роли приложениям, необходимо назначить себя владельцем приложения.
- В разделе Управление выберите Владельцы и Добавить владельцев.
- В новом окне найдите и выберите владельцев, которые нужно назначить приложению. Выбранные владельцы отображаются на правой панели. После завершения подтвердите с помощью Выбрать, и владелец(ы) приложения появится(ятся) в списке владельцев.
Примечание.
Убедитесь, что как у приложения API, так и у приложения, к которому вы хотите добавить разрешения, есть владельцы, иначе API не будет указан при запросе разрешений API.
Назначение ролей для приложений
После добавления ролей приложения в приложение можно назначить роль приложения клиентскому приложению с помощью Центра администрирования Microsoft Entra или программно с помощью Microsoft Graph. Назначение роли приложению не следует путать с назначением ролей пользователям.
При назначении ролей для приложения создаются разрешения приложения. Разрешения приложения обычно используются демонами или серверными службами, которым необходимо пройти проверку подлинности и выполнять авторизованные вызовы API от своего имени, без взаимодействия с пользователем.
Чтобы назначить роли приложения приложению с помощью Центра администрирования Microsoft Entra, выполните следующие действия.
- Войдите в центр администрирования Microsoft Entra как минимум Администратор облачных приложений.
- Перейдите к Entra ID>регистрациям приложений и выберите Все приложения.
- Щелкните Все приложения, чтобы просмотреть полный список приложений. Если приложение не отображается в списке, используйте фильтры в верхней части списка Все приложения, чтобы сократить список, или прокрутите его вниз и найдите приложение.
- Выберите приложение, которому необходимо назначить роль.
- Выберите Разрешения API>Добавить разрешение.
- Перейдите на вкладку Мои API и выберите приложение, для которого вы определили роли приложения.
- В разделе "Разрешение" выберите роли, которые нужно назначить.
- Нажмите кнопку "Добавить разрешения", чтобы завершить добавление ролей.
Вновь добавленные роли должны появиться в области Разрешения API регистрации приложения.
Предоставление согласия администратора
Поскольку это разрешения приложения, а не делегированные разрешения, администратор должен предоставить согласие на использование назначенных приложению ролей.
- В области Разрешений API регистрации приложения выберите Предоставить согласие администратора для <имя арендатора>.
- Выберите Да при появлении запроса на предоставление согласия с запрошенными разрешениями.
Столбец Состояние должен отражать, что согласие предоставлено для <имя арендатора>.
Сценарий использования ролей приложений
Если вы реализуете бизнес-логику роли приложения, которая выполняет вход для пользователей в вашем сценарии приложения, сначала определите роли приложения в разделе Регистрации приложения. Затем администратор назначает их пользователям и группам в области Корпоративные приложения. В зависимости от сценария эти назначенные роли приложения включаются в разные токены, выданные для вашего приложения. Например, для приложения, выполняющего вход пользователей, утверждения ролей включаются в токен идентификатора. Когда ваше приложение вызывает API, утверждения ролей включаются в токен доступа.
Если вы реализуете бизнес-логику роли приложения в сценарии, в котором приложение вызывает API, у вас есть две регистрации приложения. Одна регистрация приложения предназначена для приложения, а вторая — для API. В этом случае определите роли приложения и назначьте их пользователю или группе в регистрации приложения, относящейся к API. Когда пользователь выполняет проверку подлинности в приложении и запрашивает маркер доступа для вызова API, в этот маркер включается утверждение ролей. Следующим шагом является добавление кода в веб-API для проверки этих ролей при вызове API.
Чтобы узнать, как добавить авторизацию в ваш веб-API, см. статью Защищенный веб-API: проверка областей и ролей приложений.
Роли приложений и группы
Несмотря на то что для авторизации можно использовать роли или группы приложений, основные различия между ними могут повлиять на то, что вы решите использовать в сценарии.
| Роли приложения | Группы |
|---|---|
| Они относятся к приложению и определяются в регистрации приложения. Они перемещаются с помощью приложения. | Они не привязаны к приложению, а к арендатору Microsoft Entra. |
| Роли приложения удаляются, когда удаляется регистрация приложения. | Группы не изменяются, даже если приложение удалено. |
Указывается в утверждении roles. |
Предоставлено в заявке groups. |
Разработчики могут использовать роли приложения для управления тем, может ли пользователь входить в приложение, или приложение может получить маркер доступа для веб-API. Чтобы расширить этот элемент управления безопасностью до групп, разработчики и администраторы могут также назначать группы безопасности ролям приложений.
Разработчики предпочитают использовать роли приложений, когда они хотят описать и контролировать параметры авторизации в приложении самостоятельно. Например, приложение, использующее группы для авторизации, будет давать сбои у следующего арендатора, так как идентификатор группы и имя могут отличаться. Приложение, использующее роли приложения, остается безопасным. На самом деле приложения SaaS часто назначают группы ролям приложений по тем же причинам, так как это позволяет приложению SaaS подготавливаться в нескольких клиентах.
Назначьте пользователям и группам роли Microsoft Entra
После добавления ролей приложения в приложение можно назначить пользователей и группы ролям Microsoft Entra. Назначение пользователей и групп ролям можно выполнить через пользовательский интерфейс на портале или программным путем, используя Microsoft Graph. Когда пользователи, назначенные различным ролям, входят в приложение, их токены содержат назначенные им роли в утверждении roles.
Чтобы назначить пользователей и группы ролям с помощью Центра администрирования Microsoft Entra, выполните следующие действия.
- Войдите в Центр администрирования Microsoft Entra как минимум в роли Администратор облачных приложений.
- Если у вас есть доступ к нескольким клиентам, используйте значок"Параметры" в верхнем меню, чтобы переключиться на клиент, содержащий регистрацию приложения из
меню каталогов и подписок. - Перейдите к Entra ID>приложениям для предприятий.
- Щелкните Все приложения, чтобы просмотреть полный список приложений. Если приложение не отображается в списке, используйте фильтры в верхней части списка Все приложения, чтобы сократить список, или прокрутите его вниз и найдите приложение.
- Выберите приложение, в котором для ролей необходимо назначить пользователей или группы безопасности.
- В разделе Управление выберите Пользователи и группы.
- Щелкните Добавить пользователя, чтобы открыть область Добавление назначения.
- Выберите селектор Пользователи и группы из области Добавление назначения. Отобразится список пользователей и групп безопасности. В списке можно выполнить поиск определенного пользователя или группы, а также выбрать несколько пользователей и групп. Нажмите кнопку Выбрать, чтобы продолжить.
- Выберите Выбрать роль в области Добавление назначения. Отображаются все роли, определенные для приложения.
- Выберите роль и выберите кнопку Выбрать.
- Выберите Назначить, чтобы завершить назначение пользователей и групп для приложения.
Убедитесь, что добавленные пользователи и группы отображаются в списке Пользователи и группы.
Следующие шаги
Дополнительные сведения о ролях приложений см. в следующих ресурсах.
- Примеры кода на GitHub
- Справочная документация
- Видео. Реализация авторизации в приложениях с помощью платформы удостоверений Майкрософт (1:01:15)