Как добавить новые области Microsoft Graph к существующему клиенту с существующими разрешениями администратора

У меня есть клиент в Azure, который использует API-интерфейсы Microsoft Graph для доступа к данным в нескольких других арендаторах с областью действия Users.Read. У этого клиента есть согласие администратора на эту область от этих клиентов.

Теперь я хочу добавить к этому клиенту новую область, чтобы использовать дополнительные API для новой функциональности, скажем, мне нужна область Place.Read. Я понимаю, что эта область не будет предоставлена ​​арендаторам, пока не будет получено новое согласие администратора на включение этой области. Но получится ли добавить эту новую область, не затрагивая существующие согласия администратора для области Users.Read?

Как мне добавить эту новую область, чтобы администраторы арендаторов, желающие дать согласие администратора моему клиенту на предоставление, также Place.Read могли это сделать; а те, кто ничего не делает, все равно дают доступ к Users.Read сфере?

Я не очень привык работать с Azure AD, существующая настройка была сделана кем-то еще много лет назад, поэтому любая пошаговая помощь была бы полезна. Когда я вхожу в клиент в Azure, я вижу область и то, что для этого требуется согласие администратора, но не вижу, как добавить новые запрошенные области.

Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
0
55
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

В 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:

Спасибо за отличное объяснение. Это имеет смысл. Что меня беспокоит, так это то, что добавление новой области в «исходном» клиенте (единственном, к которому у меня есть доступ администратора) каким-то образом аннулирует существующие гранты для других клиентов, которые ранее предоставляли только исходную область. Я знаю, что, вероятно, у меня просто паранойя, но поскольку вся моя система перестанет работать для всех клиентов, если я каким-то образом испорчу права администратора, ну...

JHH 16.07.2024 10:26

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

JHH 16.07.2024 10:27

Добавление новой области в исходном арендаторе не аннулирует существующие разрешения для других арендаторов.

Rukmini 16.07.2024 10:28

Как упоминалось в ответе, другой глобальный администратор клиента должен снова предоставить согласие администратора, чтобы отразить новые разрешения, добавленные в приложение. И это не повлияет на старые предоставленные разрешения.

Rukmini 16.07.2024 10:28

Спасибо. Что меня сбивает с толку, так это то, что я не нахожу ни одной страницы, похожей на вашу, приведенную выше, для арендатора А. В Microsoft Entra при входе в свой собственный арендатор, где находится приложение, я ввожу «Корпоративные приложения», нахожу свое приложение, и оно выглядит как экран, который вы опубликовали от арендатора B. Нет меню «Разрешения API» и нет возможности добавлять новые разрешения, только для обработки согласия администратора (которое обрабатывает гранты, которые мое приложение имеет в отношении моего собственного арендатора). Так что я, наверное, не там ищу - (это не первый раз, когда я заблудился в Энтре).

JHH 16.07.2024 11:06

В корпоративных приложениях в TenantA также не будет колонки разрешений API.

Rukmini 16.07.2024 11:08

Я нашел экран, который искал, он был спрятан в разделе «Регистрации приложений» вместо приложений. Тот факт, что «регистрация приложений» — это то место, где я определяю, какие разрешения запрашивает мое приложение, а «приложения» — это просто то, где я обрабатываю согласие на разрешения, определенные в «регистрациях приложений», это просто… ужасный UX от Microsoft. Я приму ваш ответ. Спасибо.

JHH 16.07.2024 11:15

Рад знать, что это помогло :)

Rukmini 16.07.2024 11:16

Другие вопросы по теме

Похожие вопросы

Настройка мультитенантности для приложения Power App
Проблема с аутентификацией API Django с использованием Azure AD и Postman
Размещенные агенты Azure Pipelines были обновлены и теперь содержат пакет SDK/среды выполнения .Net 5.x вместе со старой версией .Net Core
K8s aks реагирует на проблему маршрутизации: маршрутизация не осуществляется с IP-адреса svc, но отлично работает с IP-адреса локального хоста
Скрипты для уведомления об очереди недоставленных писем
Ограничьте количество пользователей, разрешенных с помощью Entra и учетных записей, в любой учетной записи организации и личных учетных записях Microsoft
Как изменить атрибут ресурса как входное значение в terraform
Передача параметров логического значения в Bicep из yaml конвейера DevOps
Azure Devops // Подключение к службе // Terraform // Конвейер Yaml -> Ошибка сборки
Ошибка ERR_SSL_UNRECOGNIZED_NAME_ALERT из шлюза приложений Azure с сертификатом SSL в хранилище ключей другой подписки