У меня есть клиент в Azure, который использует API-интерфейсы Microsoft Graph для доступа к данным в нескольких других арендаторах с областью действия Users.Read
. У этого клиента есть согласие администратора на эту область от этих клиентов.
Теперь я хочу добавить к этому клиенту новую область, чтобы использовать дополнительные API для новой функциональности, скажем, мне нужна область Place.Read
. Я понимаю, что эта область не будет предоставлена арендаторам, пока не будет получено новое согласие администратора на включение этой области. Но получится ли добавить эту новую область, не затрагивая существующие согласия администратора для области Users.Read
?
Как мне добавить эту новую область, чтобы администраторы арендаторов, желающие дать согласие администратора моему клиенту на предоставление, также Place.Read
могли это сделать; а те, кто ничего не делает, все равно дают доступ к Users.Read
сфере?
Я не очень привык работать с Azure AD, существующая настройка была сделана кем-то еще много лет назад, поэтому любая пошаговая помощь была бы полезна. Когда я вхожу в клиент в Azure, я вижу область и то, что для этого требуется согласие администратора, но не вижу, как добавить новые запрошенные области.
В TenantA
я создал мультитенантное приложение Microsoft Entra и предоставил User.Read
разрешение:
И предоставили согласие администратора и вошли в систему с учетной записью TenantB
Global Admin:
https://login.microsoftonline.com/organizations/adminconsent?client_id=ClientID
Теперь в TenantB
приложение Enterprise создается с предоставленным разрешением User.Read
:
В TenantA
я предоставил Place.Read.All
разрешение:
Обратите внимание: если вы добавляете новую область в приложение
TenantA
(где находится приложение) и хотите предоставить ту же область другому клиенту, глобальный администратор другого клиента должен снова предоставить согласие администратора, чтобы отразить новые разрешения, добавленные в приложение. И это не повлияет на старые предоставленные разрешения.
Теперь, чтобы добавить разрешение Place.Read.All
в TenantB
, снова предоставьте согласие администратора либо через портал, либо по URL-адресу ниже:
https://login.microsoftonline.com/organizations/adminconsent?client_id=ClientID
После обновления вы увидите оба разрешения, предоставленные приложению TenantB
:
Если бы у меня был доступ к другому арендатору, я мог бы настроить новое приложение с нуля и протестировать все комбинации добавления областей, их использования, предоставления и т. д., но у меня есть доступ только к одному арендатору.
Добавление новой области в исходном арендаторе не аннулирует существующие разрешения для других арендаторов.
Как упоминалось в ответе, другой глобальный администратор клиента должен снова предоставить согласие администратора, чтобы отразить новые разрешения, добавленные в приложение. И это не повлияет на старые предоставленные разрешения.
Спасибо. Что меня сбивает с толку, так это то, что я не нахожу ни одной страницы, похожей на вашу, приведенную выше, для арендатора А. В Microsoft Entra при входе в свой собственный арендатор, где находится приложение, я ввожу «Корпоративные приложения», нахожу свое приложение, и оно выглядит как экран, который вы опубликовали от арендатора B. Нет меню «Разрешения API» и нет возможности добавлять новые разрешения, только для обработки согласия администратора (которое обрабатывает гранты, которые мое приложение имеет в отношении моего собственного арендатора). Так что я, наверное, не там ищу - (это не первый раз, когда я заблудился в Энтре).
В корпоративных приложениях в TenantA также не будет колонки разрешений API.
Я нашел экран, который искал, он был спрятан в разделе «Регистрации приложений» вместо приложений. Тот факт, что «регистрация приложений» — это то место, где я определяю, какие разрешения запрашивает мое приложение, а «приложения» — это просто то, где я обрабатываю согласие на разрешения, определенные в «регистрациях приложений», это просто… ужасный UX от Microsoft. Я приму ваш ответ. Спасибо.
Рад знать, что это помогло :)
Спасибо за отличное объяснение. Это имеет смысл. Что меня беспокоит, так это то, что добавление новой области в «исходном» клиенте (единственном, к которому у меня есть доступ администратора) каким-то образом аннулирует существующие гранты для других клиентов, которые ранее предоставляли только исходную область. Я знаю, что, вероятно, у меня просто паранойя, но поскольку вся моя система перестанет работать для всех клиентов, если я каким-то образом испорчу права администратора, ну...