Visa en lista över Azure-rolltilldelningar med Azure PowerShell

Rollbaserad åtkomstkontroll i Azure (Azure RBAC) är det auktoriseringssystem som du använder för att hantera åtkomst till Azure-resurser. Om du vill ta reda på vilka resurser användare, grupper, tjänsthuvudnamn eller hanterade identiteter har åtkomst till visar du deras rolltilldelningar. I den här artikeln beskrivs hur du listar rolltilldelningar med Hjälp av Azure PowerShell.

Kommentar

Vi rekommenderar att du använder Azure Az PowerShell-modulen för att interagera med Azure. Se Installera Azure PowerShell för att komma igång. Information om hur du migrerar till Az PowerShell-modulen finns i artikeln om att migrera Azure PowerShell från AzureRM till Az.

Kommentar

Om din organisation har outsourcade hanteringsfunktioner till en tjänstleverantör som använder Azure Lighthouse visas inte rolltilldelningar som auktoriserats av tjänsteleverantören här. På samma sätt ser användare i tjänstleverantörens klientorganisation inte rolltilldelningar för användare i en kunds klientorganisation, oavsett vilken roll de har tilldelats.

Förutsättningar

Lista rolltilldelningar för den aktuella prenumerationen

Det enklaste sättet att få en lista över alla rolltilldelningar i den aktuella prenumerationen (inklusive ärvda rolltilldelningar från rot- och hanteringsgrupper) är att använda Get-AzRoleAssignment utan parametrar.

Get-AzRoleAssignment
PS C:\> Get-AzRoleAssignment

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Authorization/roleAssignments/11111111-1111-1111-1111-111111111111
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000
DisplayName        : Alain
SignInName         : alain@example.com
RoleDefinitionName : Storage Blob Data Reader
RoleDefinitionId   : 2a2b9908-6ea1-4ae2-8e65-a410df84e7d1
ObjectId           : 44444444-4444-4444-4444-444444444444
ObjectType         : User
CanDelegate        : False

RoleAssignmentId   : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales/providers/Microsoft.Authorization/roleAssignments/33333333-3333-3333-3333-333333333333
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales
DisplayName        : Marketing
SignInName         :
RoleDefinitionName : Contributor
RoleDefinitionId   : b24988ac-6180-42a0-ab88-20f7382dd24c
ObjectId           : 22222222-2222-2222-2222-222222222222
ObjectType         : Group
CanDelegate        : False

...

Lista rolltilldelningar för en prenumeration

Om du vill visa en lista över alla rolltilldelningar i ett prenumerationsomfång använder du Get-AzRoleAssignment. Om du vill hämta prenumerations-ID:t hittar du det på bladet Prenumerationer i Azure-portalen eller så kan du använda Get-AzSubscription.

Get-AzRoleAssignment -Scope /subscriptions/<subscription_id>
PS C:\> Get-AzRoleAssignment -Scope /subscriptions/00000000-0000-0000-0000-000000000000

Lista rolltilldelningar för en användare

Om du vill visa en lista över alla roller som har tilldelats till en angiven användare använder du Get-AzRoleAssignment.

Get-AzRoleAssignment -SignInName <email_or_userprincipalname>
PS C:\> Get-AzRoleAssignment -SignInName isabella@example.com | FL DisplayName, RoleDefinitionName, Scope

DisplayName        : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales

To list all the roles that are assigned to a specified user and the roles that are assigned to the groups to which the user belongs, use Get-AzRoleAssignment.

Get-AzRoleAssignment -SignInName <email_or_userprincipalname> -ExpandPrincipalGroups
Get-AzRoleAssignment -SignInName isabella@example.com -ExpandPrincipalGroups | FL DisplayName, RoleDefinitionName, Scope

Lista rolltilldelningar för en resursgrupp

Om du vill visa en lista över alla rolltilldelningar i ett resursgruppsomfång använder du Get-AzRoleAssignment.

Get-AzRoleAssignment -ResourceGroupName <resource_group_name>
PS C:\> Get-AzRoleAssignment -ResourceGroupName pharma-sales | FL DisplayName, RoleDefinitionName, Scope

DisplayName        : Alain Charon
RoleDefinitionName : Backup Operator
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales

DisplayName        : Isabella Simonsen
RoleDefinitionName : BizTalk Contributor
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales

DisplayName        : Alain Charon
RoleDefinitionName : Virtual Machine Contributor
Scope              : /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/pharma-sales

Lista rolltilldelningar för en hanteringsgrupp

Om du vill visa en lista över alla rolltilldelningar i ett hanteringsgruppsomfång använder du Get-AzRoleAssignment. Om du vill hämta hanteringsgrupps-ID:t hittar du det på bladet Hanteringsgrupper i Azure-portalen eller så kan du använda Get-AzManagementGroup.

Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/<group_id>
PS C:\> Get-AzRoleAssignment -Scope /providers/Microsoft.Management/managementGroups/marketing-group

Lista rolltilldelningar för en resurs

Om du vill lista rolltilldelningar för en specifik resurs använder du Get-AzRoleAssignment och parametern -Scope . Omfånget varierar beroende på resursen. För att hämta omfånget kan du köra Get-AzRoleAssignment utan några parametrar för att lista alla rolltilldelningar och sedan hitta det omfång som du vill visa.

Get-AzRoleAssignment -Scope "/subscriptions/<subscription_id>/resourcegroups/<resource_group_name>/providers/<provider_name>/<resource_type>/<resource>

This following example shows how to list the role assignments for a storage account. Note that this command also lists role assignments at higher scopes, such as resource groups and subscriptions, that apply to this storage account.

PS C:\> Get-AzRoleAssignment -Scope "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"

If you want to just list role assignments that are assigned directly on a resource, you can use the Where-Object command to filter the list.

PS C:\> Get-AzRoleAssignment | Where-Object {$_.Scope -eq "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/storage-test-rg/providers/Microsoft.Storage/storageAccounts/storagetest0122"}

Lista rolltilldelningar för klassisk tjänstadministratör och medadministratörer

Om du vill visa en lista över rolltilldelningar för den klassiska prenumerationsadministratören och medadministratörerna använder du Get-AzRoleAssignment.

Get-AzRoleAssignment -IncludeClassicAdministrators

Lista rolltilldelningar för en hanterad identitet

Följ de här stegen:

  1. Hämta objekt-ID för den systemtilldelade eller användartilldelade hanterade identiteten.

    Om du vill hämta objekt-ID för en användartilldelad hanterad identitet kan du använda Get-AzADServicePrincipal.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. Om du vill visa en lista över rolltilldelningarna använder du Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Gå vidare