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.

Anmärkning

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. För att lära dig hur du migrerar till Az PowerShell-modulen, se Migrera Azure PowerShell från AzureRM till Az.

Anmärkning

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 ett abonnemang

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

Om du vill visa en lista över alla roller som har tilldelats till en angiven användare och de roller som har tilldelats till de grupper som användaren tillhör använder du 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>

I följande exempel visas hur du listar rolltilldelningarna för ett lagringskonto. Observera att det här kommandot även visar rolltilldelningar med högre omfång, till exempel resursgrupper och prenumerationer, som gäller för det här lagringskontot.

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

Om du bara vill lista rolltilldelningar som har tilldelats direkt på en resurs kan du använda kommandot Where-Object för att filtrera listan.

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

  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>
    

Nästa steg

Tilldela Azure-roller med hjälp av Azure PowerShell