Всегда ли требуется согласие администратора в многопользовательской среде Azure AD? - PullRequest
1 голос
/ 12 марта 2020

Среда настраивается мультитенантным способом. «AppName» - это регистрация приложения в обычной AD, которая была создана исключительно для предоставления доступа пользователям из разных арендаторов к единой среде. Ради моего описания, позвоните мультитенантам AD1, AD2 и AD3.

Это сообщение отображается, когда пользователь с одного из этих AD (без прав администратора) регистрируется в первый раз.

AppName требуется разрешение на доступ к ресурсам в вашей организации, которые может предоставить только администратор

Кроме того, в журнале исключений приложения я вижу следующую ошибку

Microsoft. одно из следующих: Клиент не указал никаких разрешений для «AAD Graph» в запрошенных разрешениях при регистрации приложения клиента. Или, Администратор не согласился с арендатором. Или проверьте идентификатор приложения в запросе, чтобы убедиться в этом. соответствует настроенному идентификатору клиентского приложения. Обратитесь к администратору, чтобы исправить конфигурацию или согласие от имени арендатора.

Предполагается, что для пользователя из AD1 для успешного доступа к среде, A Пользователь dmin из AD1 должен сначала войти в систему и предоставить доступ администратора. Регистрация "общего AD" приложения настроена следующим образом.

Параметр Поддерживаемые типы учетных записей в регистрации приложений установлен как

Учетные записи в любом организационном каталоге (Любой Azure AD directory - Multitenant)

Единственное разрешение API показано на рисунке ниже. Статус «Предоставлено для ....» относится только к «общему AD», в котором находится идентификатор арендатора - он не дает согласия администратора на любой AD.

API Permission

В коде используется технология ADAL. Net с OpenIDConnect. Мы используем конечную точку: https://login.microsoftonline.com/common (V1.0).

В приведенном ниже фрагменте, найденном в этом url , для единственного устанавливаемого разрешения API в нашем случае ... «Требуется согласие администратора» устанавливается как «Нет».

User.Read permission does not require Admin consent

И это меня оттолкнуло. Почему появляется сообщение / ошибка? Требуется ли согласие администратора всегда , потому что это мультитенантный сценарий? Создает ли это согласие администратора своего рода доверие между обычной AD и многопользовательской AD?

1 Ответ

1 голос
/ 12 марта 2020

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

https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-convert-app-to-be-multi-tenant#understand -пользователь-и-администраторское согласие

https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/blob/master/2-WebApp-graph-user/2-3-Multi-Tenant/README.md

...