После получения назначений ролей приложения субъекту-службе:
Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId ServicePrincipalId
Я хочу получить значение для каждой роли приложения. Ответ включает идентификатор роли приложения и идентификатор ресурса для каждой назначенной роли приложения.
Я могу получить роли приложения для приложения следующим образом, но тогда мне сначала нужно будет сопоставить идентификатор объекта субъекта-службы (идентификатор ресурса) с идентификатором объекта связанного приложения:
(Get-MgApplication -ApplicationId ApplicationId).AppRoles
Есть ли более простой способ?
🤔 А знаете ли вы, что...
С PowerShell можно автоматизировать задачи резервного копирования и восстановления данных.
Чтобы получить значение роли приложения с учетом идентификатора роли приложения в Entra ID с помощью Microsoft Graph PowerShell, используйте приведенный ниже скрипт:
Я предоставил приложению Microsoft Entra ID несколько разрешений API приложения:
$ServicePrincipalId = "ServicePrincipalObjectID"
$AppRoleAssignments = Get-MgServicePrincipalAppRoleAssignment -ServicePrincipalId $ServicePrincipalId
$AssignedRoles = @()
foreach ($Assignment in $AppRoleAssignments) {
$ResourceId = $Assignment.ResourceId
$AppRoleId = $Assignment.AppRoleId
$ServicePrincipal = Get-MgServicePrincipal -ServicePrincipalId $ResourceId
$AppRole = $ServicePrincipal.AppRoles | Where-Object { $_.Id -eq $AppRoleId }
if ($AppRole) {
$AssignedRoles += [PSCustomObject]@{
'App Role ID' = $AppRole.Id
'App Role Display Name' = $AppRole.DisplayName
'App Role Value' = $AppRole.Value
}
}
}
$AssignedRoles | Format-Table -AutoSize