Assegnare ruoli personalizzati con ambito di risorsa usando PowerShell in Microsoft Entra ID
Questo articolo descrive come creare un'assegnazione di ruolo nell'ambito a livello di organizzazione in Microsoft Entra ID. L'assegnazione di un ruolo con ambito con ambito corrispondente all'intera organizzazione concede l'accesso all'intera organizzazione di Microsoft Entra. Per creare un'assegnazione di ruolo con un ambito di una singola risorsa Microsoft Entra, vedere Creare e assegnare un ruolo personalizzato in Microsoft Entra ID. Questo articolo usa il modulo Microsoft Graph PowerShell SDK .
Per altre informazioni sui ruoli di Microsoft Entra, vedere Ruoli predefiniti di Microsoft Entra.
Prerequisiti
- Licenza Microsoft Entra ID P1 o P2
- Amministratore ruolo con privilegi
- Modulo di Microsoft Graph PowerShell quando si usa PowerShell
Per altre informazioni, vedere Prerequisiti per l'uso di PowerShell o Graph Explorer.
Assegnare un ruolo di directory a un utente o a un'entità servizio con ambito di risorsa
Caricare il modulo Microsoft Graph PowerShell .
Accedere eseguendo il comando
Connect-MgGraph
.Creare un nuovo ruolo usando lo script di PowerShell seguente.
## 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
Per assegnare il ruolo a un'entità servizio anziché a un utente, usare il cmdlet Get-MgServicePrincipal .
Definizioni dei ruoli
Gli oggetti definizione del ruolo contengono la definizione del ruolo predefinito o personalizzato, insieme alle autorizzazioni concesse da tale assegnazione di ruolo. Questa risorsa visualizza sia le definizioni di ruolo personalizzate che i ruoli predefiniti della directory (visualizzati nel modulo equivalente roleDefinition). Per informazioni sul numero massimo di ruoli personalizzati che possono essere creati in un'organizzazione Microsoft Entra, vedere Limiti e restrizioni del servizio Microsoft Entra.
Creare una definizione di ruolo
# 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
Leggere ed elencare le definizioni dei ruoli
# 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'"
Aggiornare una definizione di ruolo
# 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"
Eliminare una definizione di ruolo
# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f
Assegnazioni di ruoli
Le assegnazioni di ruolo contengono informazioni che collegano una determinata entità di sicurezza (un utente o un'entità servizio dell'applicazione) a una definizione di ruolo. Se necessario, è possibile aggiungere un ambito di una singola risorsa Microsoft Entra per le autorizzazioni assegnate. La limitazione dell'ambito di un'assegnazione di ruolo è supportata per i ruoli predefiniti e personalizzati.
Creare un'assegnazione di ruolo
# 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
Leggere ed elencare le assegnazioni di ruolo
# 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'"
Rimuovere un'assegnazione di ruolo
# Remove role assignment
Remove-MgRoleManagementDirectoryRoleAssignment -UnifiedRoleAssignmentId 'aB1cD2eF3gH4iJ5kL6-mN7oP8qR-1'
Passaggi successivi
- Condividere con Microsoft nel forum dei ruoli amministrativi di Microsoft Entra
- Per altre informazioni sui ruoli e sulle assegnazioni di ruolo amministratore di Microsoft Entra, vedere Assegnare ruoli di amministratore
- Per le autorizzazioni utente predefinite, vedere un confronto tra le autorizzazioni utente guest e membro predefinite