Get-AzureADServiceAppRoleAssignment не возвращает назначения ролей для SP, представляющих приложения AAD в ДРУГОМ клиенте

#azure #azure-active-directory

Вопрос:

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

Объяснение:

  • У меня 2 жильца: А, Б.
  • Мое приложение для регистрации приложений находится в клиенте A.
  • В клиенте A есть регистрации приложений, которым назначены роли для моего приложения для регистрации приложений. Но в клиенте A также есть руководители служб, которые представляют регистрацию приложений в клиенте B, которым назначены роли для моего приложения.

Когда я Connect-AzureAD сниму квартиру А и побегу:

 $myAppServicePrincipal = Get-AzureADServicePrincipal -Filter "AppId eq '$myAppRegisterationAppId'"

Get-AzureADServiceAppRoleAssignment -ObjectId $myAppServicePrincipal.ObjectId 
 

Я получаю только участников службы регистрации приложений в своем домашнем арендаторе — А. Я не вижу никаких руководителей служб, представляющих другие приложения для регистрации приложений в других арендаторах.

(Я также попытался запустить эту команду в арендаторе B, но она не находит там мое приложение для регистрации приложений, что совершенно очевидно)

Комментарии:

1. Вероятно, это связано с тем, что ObjectId регистрация приложения отличается от регистрации субъекта-службы. Что у них должно быть общего, так это идентификатор приложения. Не могли бы вы, пожалуйста, проверить значения?

2. на самом деле в $myRegisterationAppObjectId нем содержится идентификатор объекта участника службы, представляющего мое приложение aad. Позвольте мне дополнить мой вопрос дополнительным кодом, чтобы точно отразить то, что я делаю.

3. Get-AzureADServicePrincipal возвращает объект типа Service Principal, который обладает свойством ObjectId . Разве ваш код не должен быть таким Get-AzureADServiceAppRoleAssignment -ObjectId $myAppServicePrincipalObjectId.ObjectId ?

4. да, извините, что я просто неправильно набрал все свои команды. Отредактированный ответ.

Ответ №1:

Я провел тестирование в своей среде.

Идентификатор объекта участника-службы меняется от одного арендатора к другому арендатору.

введите описание изображения здесь

введите описание изображения здесь

(Get-AzureADServicePrincipal -Фильтр «AppID eq ‘$myAppRegisterationAppId'»). objectid возвращает идентификатор объекта участника службы в клиенте A.

Таким образом, Get-AzureADServiceAppRoleAssignment-ObjectId $myAppServicePrincipal.ObjectId возвращает только назначения ролей SP в клиенте A.

Если мы подключимся к клиенту A и запустим приведенный ниже сценарий, он вернет назначения ролей SP в клиенте A.

 $myAppServicePrincipal = Get-AzureADServicePrincipal -Filter "AppId eq '$myAppRegisterationAppId'"

Get-AzureADServiceAppRoleAssignment -ObjectId $myAppServicePrincipal.ObjectId 
 

введите описание изображения здесь

Аналогично, если мы подключимся к клиенту B и запустим тот же сценарий, он вернет назначения ролей SP в клиенте B.

введите описание изображения здесь

Комментарии:

1. Я знаю это, но это все еще не отвечает на мой вопрос о том, как это сделать

2. Используя Get-AzureADServiceAppRoleAssignment, мы получим только назначения ролей SP в самом клиенте A. Аналогичным образом, мы можем подключиться к арендатору B и использовать тот же сценарий, упомянутый в вопросе, для возврата назначений ролей SP в арендаторе B