如何使用 powershell 列出服务主体权限
How to list Service principal permissions using powershell
我必须使用 powershell 列出授予服务主体的权限。 Get-AzAdDServicePrincipal cmdlet 未提供完整详细信息。谁能帮忙?
我需要具有声明值和类型的权限列表,如下图所示
我正在使用 AzureAD 模块来完成类似这样的任务 (https://docs.microsoft.com/en-us/powershell/module/azuread/?view=azureadps-2.0)。
应用程序权限
使用 cmdlet Get-AzureADServiceAppRoleAssignedTo,您可以列出授予服务主体的应用程序权限:
$rolesAssigned = Get-AzureADServiceAppRoleAssignedTo -ObjectId 'OBJECTIDOFYOURSERVICEPRINCIPAL'
$rolesAssigned | Select-Object -Property *
此命令returns仅ResourceDisplayName(在您的Microsoft Graph 屏幕截图中)、ResourceId(Microsoft Graph 应用程序的ObjectId)和权限的Id。
如果您想获取权限名称和描述,可以使用 cmdlet Get-AzureADServicePrincipal:
foreach ($role in $rolesAssigned) {
$servicePrincipal = Get-AzureADServicePrincipal -ObjectId $role.ResourceId
$servicePrincipal.AppRoles | Where-Object { $_.Id -like $role.Id }
}
这将遍历每个权限并打印出名称、描述和其他属性。
委派权限
要获取服务主体的委派权限,您可以使用 Get-AzureADOAuth2PermissionGrant cmdlet:
$spDelegatedPermissions = Get-AzureADOAuth2PermissionGrant | Where-Object { $_.ClientId -eq 'OBJECTIDOFYOURSERVICEPRINCIPAL' }
$spDelegatedPermissions | Select-Object -Property *
我必须使用 powershell 列出授予服务主体的权限。 Get-AzAdDServicePrincipal cmdlet 未提供完整详细信息。谁能帮忙?
我需要具有声明值和类型的权限列表,如下图所示
我正在使用 AzureAD 模块来完成类似这样的任务 (https://docs.microsoft.com/en-us/powershell/module/azuread/?view=azureadps-2.0)。
应用程序权限
使用 cmdlet Get-AzureADServiceAppRoleAssignedTo,您可以列出授予服务主体的应用程序权限:
$rolesAssigned = Get-AzureADServiceAppRoleAssignedTo -ObjectId 'OBJECTIDOFYOURSERVICEPRINCIPAL'
$rolesAssigned | Select-Object -Property *
此命令returns仅ResourceDisplayName(在您的Microsoft Graph 屏幕截图中)、ResourceId(Microsoft Graph 应用程序的ObjectId)和权限的Id。
如果您想获取权限名称和描述,可以使用 cmdlet Get-AzureADServicePrincipal:
foreach ($role in $rolesAssigned) {
$servicePrincipal = Get-AzureADServicePrincipal -ObjectId $role.ResourceId
$servicePrincipal.AppRoles | Where-Object { $_.Id -like $role.Id }
}
这将遍历每个权限并打印出名称、描述和其他属性。
委派权限
要获取服务主体的委派权限,您可以使用 Get-AzureADOAuth2PermissionGrant cmdlet:
$spDelegatedPermissions = Get-AzureADOAuth2PermissionGrant | Where-Object { $_.ClientId -eq 'OBJECTIDOFYOURSERVICEPRINCIPAL' }
$spDelegatedPermissions | Select-Object -Property *