首页 > 解决方案 > Get-AzureADServiceAppRoleAssignment 不返回代表其他租户中 AAD 应用程序的 SP 的角色分配

问题描述

有没有办法将所有服务主体的所有角色分配到我的应用程序注册应用程序?我只得到来自我家租户的那些。

解释:

当我Connect-AzureAD到租户 A 并运行时:

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

Get-AzureADServiceAppRoleAssignment -ObjectId $myAppServicePrincipal.ObjectId 

在我的主租户中获得应用注册的服务主体 - A. 我没有看到任何代表其他租户中的其他应用注册应用的服务主体。

(我也尝试在租户 B 中运行此命令,但在那里找不到我的应用程序注册应用程序,这很明显)

标签: azureazure-active-directory

解决方案


我已经在我的环境中测试过了。

服务主体的对象 ID 从一个租户更改为另一个租户。

在此处输入图像描述

在此处输入图像描述

(Get-AzureADServicePrincipal -Filter "AppId eq '$myAppRegisterationAppId'").objectid返回租户 A 中服务主体的对象 ID。

因此,Get-AzureADServiceAppRoleAssignment -ObjectId $myAppServicePrincipal.ObjectId仅返回租户 A 中 SP 的角色分配。

如果我们连接到租户 A 并运行以下脚本,它将返回租户 A 中 SP 的角色分配。

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

Get-AzureADServiceAppRoleAssignment -ObjectId $myAppServicePrincipal.ObjectId 

在此处输入图像描述

同样,如果我们连接到租户 B 并运行相同的脚本,它将返回租户 B 中 SP 的角色分配。

在此处输入图像描述


推荐阅读