Get-MgRoleMana-6ren">
gpt4 book ai didi

azure - 获取服务主体的 "Roles and administrators"

转载 作者:行者123 更新时间:2023-12-03 06:19:52 29 4
gpt4 key购买 nike

在 Azure 门户中,当我查看服务主体的“角色和管理员”选项卡时,我看到多个角色,包括几个自定义角色: Azure Portal Roles and administrators

我可以使用 PowerShell 获取角色定义:

PS C:\> Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'My Custom Role'"

Id Description DisplayName IsBuiltIn IsEnabled ResourceScopes TemplateId Version
-- ----------- ----------- --------- --------- -------------- ---------- -------
00000000-0000-0000-0000-000000000000 Used for My Stuff My Custom Role False True {/} 00000000-0000-0000-0000-000000000000

但是当我检查我的服务主体是否分配了该角色时,它没有显示。

PS C:\> Get-MgServicePrincipal -ServicePrincipalId $ServicePrincipalId 

Id DisplayName AppId SignInAudience
-- ----------- ----- --------------
00000000-0000-0000-0000-000000000000 my-service-principal 00000000-0000-0000-0000-000000000000 AzureADMyOrg

PS C:\> Get-MgRoleManagementDirectoryRoleAssignment -Filter "principalId eq '$ServicePrincipalId'"
PS C:>

或者,如果我使用角色的 GUID 来查看分配了该角色的每个人,我仍然什么也得不到:

PS C:> Get-MgRoleManagementDirectoryRoleAssignment -Filter "RoleDefinitionId eq '00000000-0000-0000-0000-000000000000'"
PS C:>

谁能告诉我我做错了什么?

注意:我使用 Get-AzureADMSRoleDefinition 等得到了类似的结果。

最佳答案

我尝试在我的环境中重现相同的结果并得到以下结果:

我有一个名为 SriApp 的应用程序,其角色如下:

enter image description here

当我运行与您相同的命令时,我成功获得了响应,其中包含分配给服务主体的角色列表,如下所示:

Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Devi Custom role'"
$ServicePrincipalId = "35cf4958-adcf-4c07-891b-dxxxxxxxx"
Get-MgServicePrincipal -ServicePrincipalId $ServicePrincipalId
Get-MgRoleManagementDirectoryRoleAssignment -Filter "principalId eq '$ServicePrincipalId'"
Get-MgRoleManagementDirectoryRoleAssignment -Filter "RoleDefinitionId eq '74d0febe-1007-4ff4-a793-753cxxxxxxx'"

回应:

enter image description here

确认这一点,您可以通过搜索应用程序名称来检查 PIM 中的事件分配,如下所示:

转到 Azure 门户 -> Privileged Identity Management -> Azure AD 角色 -> 分配 -> 事件分配

enter image description here

如果您在分配角色时选择范围为目录级别,则角色将反射(reflect)在每个应用程序下,但不会实际分配。

当我检查另一个名为 Sri 的应用程序时,即使我没有手动分配它们,它也具有与下面相同的角色:

enter image description here

现在,我使用上述应用程序运行相同的命令更改 $ServicePrincipalId 并得到与您相同的响应,但没有任何结果,如下所示:

Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Devi Custom role'"
$ServicePrincipalId = "7b6320e7-19ab-496c-b1c8-dxxxxxxxxxx"
Get-MgServicePrincipal -ServicePrincipalId $ServicePrincipalId
Get-MgRoleManagementDirectoryRoleAssignment -Filter "principalId eq '$ServicePrincipalId'"

回应:

enter image description here

在您的情况下,请通过检查 PIM 中的事件分配及其名称来确认服务主体是否分配有角色,并提供有效服务主体 ID 来列出角色.

关于azure - 获取服务主体的 "Roles and administrators",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75991215/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com