Przypisywanie ról niestandardowych z zakresem zasobów przy użyciu programu PowerShell w usłudze Microsoft Entra ID
W tym artykule opisano sposób tworzenia przypisania roli w zakresie całej organizacji w usłudze Microsoft Entra ID. Przypisywanie roli w ramach całej organizacji zapewnia dostęp do tej roli Microsoft Entra w całej organizacji. Aby utworzyć przypisanie roli z zakresem pojedynczego zasobu firmy Microsoft Entra, zobacz Tworzenie i przypisywanie roli niestandardowej w identyfikatorze Entra firmy Microsoft. W tym artykule użyto modułu Microsoft Graph PowerShell SDK .
Aby uzyskać więcej informacji na temat ról firmy Microsoft Entra, zobacz Role wbudowane firmy Microsoft.
Wymagania wstępne
- Licencja Microsoft Entra ID P1 lub P2
- Administrator ról uprzywilejowanych
- Moduł programu PowerShell programu Microsoft Graph podczas korzystania z programu PowerShell
Aby uzyskać więcej informacji, zobacz Wymagania wstępne dotyczące używania programu PowerShell lub Eksploratora programu Graph.
Przypisywanie roli katalogu do użytkownika lub jednostki usługi z zakresem zasobów
Zaloguj się, wykonując polecenie
Connect-MgGraph
.Utwórz nową rolę przy użyciu następującego skryptu programu 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
Aby przypisać rolę do jednostki usługi zamiast użytkownika, użyj polecenia cmdlet Get-MgServicePrincipal .
Definicje ról
Obiekty definicji roli zawierają definicję roli wbudowanej lub niestandardowej wraz z uprawnieniami przyznanymi przez to przypisanie roli. Ten zasób wyświetla zarówno niestandardowe definicje ról, jak i wbudowane role katalogów (które są wyświetlane w postaci równoważnej roliDefinition). Aby uzyskać informacje o maksymalnej liczbie ról niestandardowych, które można utworzyć w organizacji firmy Microsoft Entra, zobacz Microsoft Entra service limits and restrictions (Limity i ograniczenia usługi Microsoft Entra).
Tworzenie definicji roli
# 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
Odczytywanie i wyświetlanie definicji ról
# 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'"
Aktualizowanie definicji roli
# 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"
Usuwanie definicji roli
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
Przypisania ról
Przypisania ról zawierają informacje łączące daną jednostkę zabezpieczeń (jednostkę usługi użytkownika lub aplikacji) z definicją roli. W razie potrzeby możesz dodać zakres pojedynczego zasobu firmy Microsoft Entra dla przypisanych uprawnień. Ograniczenie zakresu przypisania roli jest obsługiwane w przypadku ról wbudowanych i niestandardowych.
Tworzenie przypisania roli
# 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
Odczytywanie i wyświetlanie przypisań ról
# 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'"
Usuwanie przypisania roli
# Remove role assignment
Remove-MgRoleManagementDirectoryRoleAssignment -UnifiedRoleAssignmentId 'aB1cD2eF3gH4iJ5kL6-mN7oP8qR-1'
Następne kroki
- Udostępnij nam na forum ról administracyjnych firmy Microsoft Entra
- Aby uzyskać więcej informacji na temat ról i przypisań ról administratora firmy Microsoft Entra, zobacz Przypisywanie ról administratorów
- Aby uzyskać domyślne uprawnienia użytkownika, zobacz porównanie domyślnych uprawnień gościa i użytkownika członkowskiego