Share via


Egyéni szerepkörök hozzárendelése erőforrás-hatókörrel a PowerShell használatával a Microsoft Entra ID-ban

Ez a cikk azt ismerteti, hogyan hozhat létre szerepkör-hozzárendelést szervezetszintű hatókörben a Microsoft Entra ID-ban. A szerepkör szervezeti szintű hatókörhöz való hozzárendelése hozzáférést biztosít a Microsoft Entra-szervezetben. Ha egyetlen Microsoft Entra-erőforrás hatókörével szeretne szerepkör-hozzárendelést létrehozni, olvassa el az Egyéni szerepkör létrehozása és hozzárendelése a Microsoft Entra-azonosítóban című témakört. Ez a cikk a Microsoft Graph PowerShell SDK modult használja.

A Microsoft Entra-szerepkörökről további információt a Microsoft Entra beépített szerepköreivel kapcsolatban talál.

Előfeltételek

  • Microsoft Entra ID P1 vagy P2 licenc
  • Kiemelt szerepkörű rendszergazda
  • Microsoft Graph PowerShell-modul a PowerShell használatakor

További információ: A PowerShell vagy a Graph Explorer használatának előfeltételei.

Címtárszerepkör hozzárendelése erőforrás-hatókörrel rendelkező felhasználóhoz vagy szolgáltatásnévhez

  1. Töltse be a Microsoft Graph PowerShell-modult .

  2. Jelentkezzen be a parancs Connect-MgGraphvégrehajtásával.

  3. Hozzon létre egy új szerepkört a következő PowerShell-szkripttel.

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

Ha felhasználó helyett szolgáltatásnévhez szeretné hozzárendelni a szerepkört, használja a Get-MgServicePrincipal parancsmagot.

Szerepkör-definíciók

A szerepkördefiníciós objektumok tartalmazzák a beépített vagy egyéni szerepkör definícióját, valamint az adott szerepkör-hozzárendelés által biztosított engedélyeket. Ez az erőforrás egyéni szerepkördefiníciókat és beépített címtárszerepköröket is megjelenít (amelyek a roleDefinition egyenértékű formában jelennek meg). A Microsoft Entra-szervezetben létrehozható egyéni szerepkörök maximális számáról a Microsoft Entra szolgáltatás korlátait és korlátozásait ismertető cikkben tájékozódhat.

Szerepkördefiníció létrehozása

# 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

Szerepkördefiníciók olvasása és listázása

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

Szerepkördefiníció frissítése

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

Szerepkördefiníció törlése

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

Szerepkör-hozzárendelések

A szerepkör-hozzárendelések olyan információkat tartalmaznak, amelyek egy adott biztonsági tagot (felhasználót vagy alkalmazásszolgáltatásnevet) egy szerepkördefinícióhoz kapcsolnak. Szükség esetén egyetlen Microsoft Entra-erőforrás hatókörét is hozzáadhatja a hozzárendelt engedélyekhez. A beépített és egyéni szerepkörök esetében támogatott a szerepkör-hozzárendelés hatókörének korlátozása.

Szerepkör-hozzárendelés létrehozása

# 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

Szerepkör-hozzárendelések olvasása és listázása

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

Szerepkör-hozzárendelés eltávolítása

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

Következő lépések