Определите права администратора, необходимые для регистрации приложения Azure AD - PullRequest
0 голосов
/ 16 мая 2018

Как узнать, какие разрешения администратора блокируют вход пользователя в приложение Azure AD?

Я настраиваю регистрацию приложения на портале Azure AD, чтобыиспользуется с моим кластером Service Fabric.При регистрации приложения выполняется базовая аутентификация, и для него настроено только одно Требуемое разрешение: Войдите и прочитайте профиль пользователя (для которого НЕ требуется разрешение администратора).

Мой арендатор имеет «Пользователи могут дать согласие на доступ приложений к данным компании на ихдля имени "установлено значение" Да ", поэтому дело не в этом.

Кроме того, запрос /authorize не имеет параметра ресурса, поэтому он неявно запрашивает разрешение, которое я настроил: Azure AD Войдите и прочитайтепрофиль пользователя.

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

AADSTS90094: Для предоставления разрешения требуется разрешение администратора

AADSTS90094: The grant requires admin permission Error screenshot

Required permissions only Windows Azure Active Directory screenshot

Required permission details only non-admin Sign in and read user profile screenshot

Enterprise apps - Users can consent to apps accessing companty data on their behalf - Yes screenshot

1 Ответ

0 голосов
/ 24 мая 2018

Я воспроизвел сценарий, и это то, что я наблюдал.Найден обходной путь, надеюсь, он поможет.

Сначала я создал кластер Service Fabric (SF), защищенный аутентификацией AAD, используя шаги, описанные здесь , используя арендатора AAD, где я не являюсь глобальнымadmin.

Затем я попытался войти в Service Fabric Explorer (SFX) и получил эту ошибку:

AADSTS50105: вошедшему в систему пользователю не назначена роль для приложения'f8c79129-deb7-4a21-a6e0-ec29e88298ef'

Это ожидается, поскольку пользователю должна быть назначена роль (Admin или ReadOnly) в приложении SF, которое представляеткластер.Поэтому я пошел в AAD> Корпоративные приложения> нашел свое кластерное приложение и в разделе Пользователи и группы я добавил себя в роль администратора.Обратите внимание, что тот факт, что обычный пользователь может управлять ролями приложения, которым владеет пользователь, является чем-то новым, это доступно примерно через месяц - до этого обычный пользователь не мог администрировать роли приложения.

Затем я попытался снова войти в SFX и получил другую ошибку:

AADSTS65005: Неверный ресурс.Клиент запросил доступ к ресурсу, который не указан в запрошенных разрешениях при регистрации клиентского приложения.Идентификатор клиентского приложения: f8c79129-deb7-4a21-a6e0-ec29e88298ef.Значение ресурса из запроса:.Код приложения ресурса: 00000002-0000-0000-c000-000000000000.Список допустимых ресурсов при регистрации приложения:.

00000002-0000-0000-c000-000000000000 - это Windows Azure Active Directory.По какой-то причине SetupApplications.ps1 не назначает разрешение на вход и чтение профиля пользователя для кластерного SF-приложения.Поэтому я отредактировал приложение и назначил это разрешение, как вы показали на экране печати.Обратите внимание, что SetupApplications.ps1 имеет параметр AddResourceAccess (не упомянутый в документе), который добавляет это разрешение, но не уверен, почему он не добавляет его по умолчанию.Возможно, это не нужно, когда вы запускаете SetupApplications.ps1 от имени глобального администратора, а сценарий / документ предполагает, что вы являетесь глобальным администратором.

Затем я попытался снова войти в SFX и получил ту же ошибкучто вы заметили:

AADSTS90094: для предоставления гранта требуется разрешение администратора.

Поэтому я проверил приложение SF в разделе AAD> Приложения предприятия> нашел приложение кластера SF> Свойства. Требуется назначение пользователя настроено «Да».Я изменил его на «Нет» и попытался войти в SFX.На этот раз все работало хорошо, я мог согласиться и получить доступ к консоли SFX.Затем я снова изменил требуемое назначение пользователя на «Да».

Можно утверждать, что приложению SF действительно требуется назначение пользователя.> Да, потому что в любом случае, если пользователь не назначен на роль администратора или ReadOnly, SFX попытаетсяоткат к аутентификации сертификата клиента.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...