Menetapkan peran kustom dengan cakupan sumber daya menggunakan PowerShell di MICROSOFT Entra ID

Artikel ini menjelaskan cara membuat penetapan peran di cakupan di seluruh organisasi di ID Microsoft Entra. Menetapkan peran pada cakupan seluruh organisasi memberikan akses di seluruh organisasi Microsoft Entra. Untuk membuat penetapan peran dengan cakupan sumber daya Microsoft Entra tunggal, lihat Membuat dan menetapkan peran kustom di ID Microsoft Entra. Artikel ini menggunakan modul Microsoft Graph PowerShell SDK .

Untuk informasi selengkapnya tentang peran Microsoft Entra, lihat Peran bawaan Microsoft Entra.

Prasyarat

  • Lisensi Microsoft Entra ID P1 atau P2
  • Administrator Peran Istimewa atau Administrator Global
  • Modul Microsoft Graph PowerShell saat menggunakan PowerShell

Untuk informasi selengkapnya, lihat Prasyarat untuk menggunakan PowerShell atau Graph Explorer.

Menetapkan peran direktori ke pengguna atau perwakilan layanan dengan lingkup sumber daya

  1. Muat modul Microsoft Graph PowerShell .

  2. Masuk dengan menjalankan perintah Connect-MgGraph.

  3. Buat peran baru menggunakan skrip PowerShell berikut ini.

    ## 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
    

Untuk menetapkan peran ke perwakilan layanan alih-alih pengguna, gunakan cmdlet Get-MgServicePrincipal .

Definisi peran

Objek definisi peran berisi definisi peran bawaan atau kustom, bersama dengan izin yang diberikan oleh penetapan peran tersebut. Sumber daya ini menampilkan definisi peran kustom dan peran direktori bawaan (yang ditampilkan dalam formulir setara roleDefinition). Untuk informasi tentang jumlah maksimum peran kustom yang dapat dibuat di organisasi Microsoft Entra, lihat Batas dan batasan layanan Microsoft Entra.

Membuat definisi peran

# 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

Membaca dan mencantumkan definisi peran

# Get all role definitions
Get-MgRoleManagementDirectoryRoleDefinition

# Get single role definition by ID
Get-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId 86593cfc-114b-4a15-9954-97c3494ef49b

# Get single role definition by templateId
Get-MgRoleManagementDirectoryRoleDefinition -Filter "TemplateId eq 'c4e39bd9-1100-46d3-8c65-fb160da0071f'"

Memperbarui definisi peran

# 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"

Menghapus definisi peran

# Delete role definition
Remove-MgRoleManagementDirectoryRoleDefinition -UnifiedRoleDefinitionId c4e39bd9-1100-46d3-8c65-fb160da0071f

Penetapan peran

Penetapan peran berisi informasi yang menghubungkan prinsip keamanan yang diberikan (perwakilan layanan pengguna atau aplikasi) ke definisi peran. Jika diperlukan, Anda dapat menambahkan cakupan satu sumber daya Microsoft Entra untuk izin yang ditetapkan. Membatasi cakupan penetapan peran didukung untuk peran bawaan dan kustom.

Membuat penetapan peran

# 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

Membaca dan mencantumkan penetapan peran

# Get role assignments for a given principal
Get-MgRoleManagementDirectoryRoleAssignment -Filter "PrincipalId eq '27c8ca78-ab1c-40ae-bd1b-eaeebd6f68ac'"

# Get role assignments for a given role definition 
Get-MgRoleManagementDirectoryRoleAssignment -Filter "RoleDefinitionId eq '355aed8a-864b-4e2b-b225-ea95482e7570'"

Menghapus penetapan peran

# Remove role assignment
Remove-MgRoleManagementDirectoryRoleAssignment -UnifiedRoleAssignmentId 'qiho4WOb9UKKgng_LbPV7tvKaKRCD61PkJeKMh7Y458-1'

Langkah berikutnya