На данный момент я хочу использовать API Graph для приложения, которое будет перечислять всех арендаторов, получать список всех пользователей для каждого арендатора, а затем перечислять все их лицензии. По обстоятельствам я могу использовать только веб-вызовы, а не модули Powershell или что-то в этом роде.
Я обнаружил, что вы сможете сделать это в Graph (https://learn.microsoft.com/en-us/graph/api/managedtenants-managedtenant-list-tenants?view=graph-rest-beta&tabs=http), за исключением того, что это разрешено только для делегированных разрешений и в бета-версии.
Поэтому я искал альтернативу, которой, похоже, был API Management.azure.com (https://learn.microsoft.com/en-us/rest/api/resources/tenants/list?view=rest-resources -2022-12-01&tabs=HTTP#code-try-0), но я не могу хоть убей понять, устаревает ли этот API вместе со всеми другими недавними API-интерфейсами. Мне также неясно, являются ли это только делегированными разрешениями.
Ребята, вы можете подтвердить? Или какие-нибудь другие советы, чтобы получить ту функциональность, которая мне нужна? Большое спасибо
API управления службами Azure имеет только делегированные разрешения, но вы можете использовать поток учетных данных клиента для создания токена и получения клиентов.
Это не жесткое требование, а очень большое предпочтение. Его можно использовать с автоматизацией, которая вводит данные API в локальную базу данных. Делегированные разрешения потребуют постоянного входа в систему для их запуска. Кроме того, можете ли вы подтвердить, что API Management.azure.com устарел, как, например, модули Powershell? Или это другая система? @Рукмини
Нет необходимости входить в систему, вместо этого используйте поток учетных данных клиента.
То есть, если я использую поток учетных данных клиента, я могу запускать вызов API в любое время, без необходимости вмешиваться/входить в систему для делегированных разрешений? Могу ли я также использовать это с Graph и бета-версией Graph? Или мне придется использовать API управления Azure?
Вы используете API управления Azure. Могу ли я опубликовать его в качестве ответа?
Конечно, если вы можете подтвердить, что API управления Azure устарел или заменен Graph. В противном случае с моей стороны будет неразумно его использовать.
Будут обновлены только версии AFAIK, API управления службами Azure не будет устаревшим.


Чтобы составить список арендаторов без взаимодействия с пользователем, проверьте следующее:
Создайте приложение Microsoft Entra ID и предоставьте разрешения API:

Создайте токен доступа через поток учетных данных клиента:
https://login.microsoftonline.com/TenantID/oauth2/v2.0/token
client_id:ClientID
client_secret:ClientSecret
scope:https://management.azure.com/.default
grant_type:client_credentials

Используя указанный выше токен доступа, вы можете вызвать API для получения списка арендаторов:
https://management.azure.com/tenants?api-version=2022-12-01

Хорошо, я попробую это. Спасибо!
Мне удалось успешно получить токен и вызвать API, но вызов возвращает только того клиента, в котором зарегистрировано приложение. Не все клиенты, которых я вижу при переходе в Центр администрирования Microsoft 365 или при использовании Graph Explorer с глобальным учетная запись администратора.
Да, потому что в Graph Explorer это пользовательский интерактивный поток, в котором перечислены арендаторы для учетной записи пользователя, но если вы хотите использовать неинтерактивный поток, тогда в нем отображается только список арендаторов, который является частью
Если вам нужны арендаторы для пользователя, вам придется использовать только интерактивный поток или поток ROPC, который аутентифицирует пользователя без взаимодействия. См. это Learn.microsoft.com/en-us/entra/identity-platform/v2-oauth-ropc
Как рекомендуется составить список всех клиентов с неинтерактивным потоком приложений? Или, как я уже спрашивал; это просто невозможно без входа в систему с привилегированной учетной записью? Заранее спасибо. (Только увидел обновленный комментарий, прочитаю.)
Подходит ли вам ROPC Flow? который не является интерактивным, вам нужно напрямую передать имя пользователя и пароль при создании токена
@Bryant Поток ROPC не перенаправляется в браузер для входа в систему, вас это устраивает?
Привет, да, все должно быть хорошо. Я настраиваю Postman с помощью ROPC, используя те же учетные данные, которые я вижу у всех арендаторов на портале администрирования 365. В разрешениях API приложения я также установил «ManagedTenants.Read.All» для Graph. Я попробовал бета-графику, но там написано, что у меня нет авторизации. А при попытке «Management.azure.com/tenants?api-version=2022-12-01» снова отображается только один арендатор. Оба используют область действия .default.
Давайте продолжим обсуждение в чате.
Вам требуется использовать только разрешения API приложений?