Назначение пользовательских ролей с область ресурсов с помощью PowerShell в идентификаторе Microsoft Entra
В этой статье описывается, как создать назначение ролей в область всей организации в идентификаторе Microsoft Entra. Назначение роли на уровне организации предоставляет доступ в рамках всей организации Microsoft Entra. Сведения о создании назначения ролей с область одного ресурса Microsoft Entra см. в статье "Создание и назначение настраиваемой роли в идентификаторе Microsoft Entra". В этой статье используется модуль пакета SDK Для Microsoft Graph PowerShell.
Дополнительные сведения о ролях Microsoft Entra см. в статье о встроенных ролях Microsoft Entra.
Необходимые компоненты
- Лицензия Microsoft Entra ID P1 или P2
- Администратор привилегированных ролей
- Модуль Microsoft Graph PowerShell при использовании PowerShell
Дополнительные сведения см. в разделе Предварительные требования для использования PowerShell или песочницы Graph.
Назначение роли каталога пользователю или субъекту-службе с областью ресурса
Войдите в систему, выполнив команду
Connect-MgGraph
.Создайте роль с помощью следующего сценария PowerShell.
## Assign a role to a user or service principal with resource scope # Get the user and role definition you want to link $user = Get-MgUser -Filter "UserPrincipalName eq 'cburl@f128.info'" $roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Application Support Administrator'" # Get app registration and construct resource scope for assignment. $appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'" $directoryScope = '/' + $appRegistration.Id # Create a scoped role assignment $roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $directoryScope ` -RoleDefinitionId $roleDefinition.Id -PrincipalId $user.Id
Чтобы назначить роль субъекту-службе вместо пользователя, используйте командлет Get-MgServicePrincipal .
Определения ролей
Объекты определения ролей содержат определение встроенной или настраиваемой роли вместе с разрешениями, предоставленными назначением этой роли. В этом ресурсе отображаются определения настраиваемых ролей и встроенных ролей каталога (которые отображаются в форме эквивалентной roleDefinition). Сведения о максимальном количестве пользовательских ролей, которые можно создать в организации Microsoft Entra, см. в разделе об ограничениях и ограничениях службы Microsoft Entra.
Создание определения роли
# Basic information
$description = "Can manage credentials of application registrations"
$displayName = "Application Registration Credential Administrator"
$templateId = (New-Guid).Guid
# Set of actions to include
$rolePermissions = @{
"allowedResourceActions" = @(
"microsoft.directory/applications/standard/read",
"microsoft.directory/applications/credentials/update"
)
}
# Create new custom directory role
$customAdmin = New-MgRoleManagementDirectoryRoleDefinition -RolePermissions $rolePermissions `
-DisplayName $displayName -Description $description -TemplateId $templateId -IsEnabled:$true
Чтение и перечисление определений ролей
# Get all role definitions
Get-MgRoleManagementDirectoryRoleDefinition
# Get single role definition by ID
Get-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId 00000000-0000-0000-0000-000000000000
# Get single role definition by templateId
Get-MgRoleManagementDirectoryRoleDefinition -Filter "TemplateId eq 'c4e39bd9-1100-46d3-8c65-fb160da0071f'"
Обновление определения роли
# Update role definition
# This works for any writable property on role definition. You can replace display name with other
# valid properties.
Update-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f `
-DisplayName "Updated DisplayName"
Удаление определения роли
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
Назначения ролей
Назначения ролей содержат сведения, связывающие указанного субъекта безопасности (пользователя или субъекта-службу приложения) с определением роли. При необходимости можно добавить область одного ресурса Microsoft Entra для назначенных разрешений. Ограничение области назначения роли поддерживается для встроенных и настраиваемых ролей.
Создание назначения роли
# Get the user and role definition you want to link
$user = Get-MgUser -Filter "userPrincipalName eq 'cburl@f128.info'"
$roleDefinition = Get-MgRoleManagementDirectoryRoleDefinition -Filter "DisplayName eq 'Application Support Administrator'"
# Get app registration and construct resource scope for assignment.
$appRegistration = Get-MgApplication -Filter "displayName eq 'f/128 Filter Photos'"
$directoryScope = '/' + $appRegistration.Id
# Create a scoped role assignment
$roleAssignment = New-MgRoleManagementDirectoryRoleAssignment -DirectoryScopeId $directoryScope `
-RoleDefinitionId $roleDefinition.Id -PrincipalId $user.Id
Чтение и перечисление назначений роли
# Get role assignments for a given principal
Get-MgRoleManagementDirectoryRoleAssignment -Filter "PrincipalId eq 'aaaaaaaa-bbbb-cccc-1111-222222222222'"
# Get role assignments for a given role definition
Get-MgRoleManagementDirectoryRoleAssignment -Filter "RoleDefinitionId eq '00000000-0000-0000-0000-000000000000'"
Удаление назначения ролей
# Remove role assignment
Remove-MgRoleManagementDirectoryRoleAssignment -UnifiedRoleAssignmentId 'aB1cD2eF3gH4iJ5kL6-mN7oP8qR-1'
Следующие шаги
- Поделитесь с нами на форуме административных ролей Microsoft Entra
- Дополнительные сведения о ролях и назначениях ролей администратора Microsoft Entra см. в разделе "Назначение ролей администратора"
- Сведения о разрешениях пользователей по умолчанию см. в сравнении разрешений гостевых пользователей и пользователей-участников.