Этот идентификатор уникален для каждого арендатора, и я пытаюсь динамически заполнить его в ссылке API, просто не знаю, где его получить для каждого арендатора.
Вы правы, что этоИдентификатор принципала обслуживания уникален для каждого арендатора.Поэтому для его запроса будет использоваться свойство, которое не изменится для всех арендаторов.
Как вы упомянули, это мультитенантное приложение.Таким образом, вы можете использовать «appId» оригинального приложения.Свойство AppId будет одинаковым для всех участников службы, созданных для любых клиентов для этого приложения.
$filter=appId eq '{GUID appId for application}'
Вот запрос, который я протестировал в Azure AD Graph Explorer с выбранной api-версиейкак 1.6 в выпадающем списке версий
https://graph.windows.net/{tenantName or tenantID}/servicePrincipals?$filter=appId eq '{GUID appId for application}'
Таким образом, этот запрос может быть выполнен перед тем, как другой запросит идентификатор участника службы для определенного арендатора, который можно передать в следующий запрос и затем найти AppRoleAssignments.