Я воспроизвел сценарий, и это то, что я наблюдал.Найден обходной путь, надеюсь, он поможет.
Сначала я создал кластер 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 сбивает с толку.По крайней мере, ошибка должна быть более описательной и указывать на конфигурацию назначения пользователя.Возможно, текущее поведение связано с тем, что я упоминал ранее, что обычные пользователи теперь могут управлять ролями.Возможно, поведение улучшается.