Вы уже просматривали портал Azure и доступный пользовательский интерфейс, и он не очень хорошо подходит для массовых операций (одновременно можно назначать только одну роль, пользователей нужно выбирать по одной, и нет никакого способа для массового выбора пользователей на основе некоторых критериев и т. д.)
Вам могут помочь следующие опции:
Назначить группу роли вместо отдельных пользователей
Для этого требуется расширенная версия Azure AD. Это гораздо удобнее не только для первого задания, но и для общего управления.
Параметры сценариев / API (PowerShell, интерфейс командной строки, API-интерфейс Azure AD Graph, API-интерфейс Microsoft Graph)
Идея будет заключаться в том, чтобы пройти через всех пользователей (или желаемое подмножество пользователей на основе некоторых критериев) и назначить им соответствующую роль приложения.
Вот пример сценария для PowerShell.
Connect-AzureAD -TenantId <Your Tenant Id>
$app_name = "RolesWebApp"
$app_role_name = "Writer"
# Get the service principal for the app and app role
$sp = Get-AzureADServicePrincipal -Filter "displayName eq '$app_name'"
$appRole = $sp.AppRoles | Where-Object { $_.DisplayName -eq $app_role_name }
$users = Get-AzureADUser -Top 10
foreach ($user in $users)
{
# Assign the user to the app role
New-AzureADUserAppRoleAssignment -ObjectId $user.ObjectId -PrincipalId
$user.ObjectId -ResourceId $sp.ObjectId -Id $appRole.Id
}
Взгляните на эту ветку SO , где мы обсуждали нечто очень похожее, и в нем есть более подробная информация о каждом из отдельных вариантов.
Специальное примечание по Microsoft Graph API:
Хотя для большинства сценариев будет рекомендовано работать с Microsoft Graph API вместо Azure AD Graph API. Эта конкретная функциональность доступна только в бета-версии. Так что не рекомендуется использовать его для любого производственного кода. Работа с appRoleAssignments