Wyświetlanie listy przypisań ról platformy Azure przy użyciu programu Azure PowerShell

Kontrola dostępu oparta na rolach (RBAC) platformy Azure to system autoryzacji używany do zarządzania dostępem do zasobów platformy Azure. Aby określić, do jakich zasobów mają dostęp użytkownicy, grupy, jednostki usługi lub tożsamości zarządzane, należy wyświetlić listę ich przypisań ról. W tym artykule opisano sposób wyświetlania listy przypisań ról przy użyciu programu Azure PowerShell.

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Uwaga

Jeśli Twoja organizacja udostępnia funkcje zarządzania dostawcy usług, który korzysta z usługi Azure Lighthouse, przypisania ról autoryzowane przez tego dostawcę usług nie będą wyświetlane tutaj. Podobnie użytkownicy w dzierżawie dostawcy usług nie będą widzieć przypisań ról dla użytkowników w dzierżawie klienta, niezależnie od przypisanej roli.

Wymagania wstępne

Wyświetlanie listy przypisań ról dla bieżącej subskrypcji

Najprostszym sposobem uzyskania listy wszystkich przypisań ról w bieżącej subskrypcji (w tym odziedziczonych przypisań ról z grup głównych i grup zarządzania) jest użycie polecenia Get-AzRoleAssignment bez żadnych parametrów.

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

...

Wyświetlanie listy przypisań ról dla subskrypcji

Aby wyświetlić listę wszystkich przypisań ról w zakresie subskrypcji, użyj polecenia Get-AzRoleAssignment. Aby uzyskać identyfikator subskrypcji, możesz go znaleźć w bloku Subskrypcje w witrynie Azure Portal lub użyć polecenia Get-AzSubscription.

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

Wyświetlanie listy przypisań ról dla użytkownika

Aby wyświetlić listę wszystkich ról przypisanych do określonego użytkownika, użyj polecenia 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

Wyświetlanie listy przypisań ról dla grupy zasobów

Aby wyświetlić listę wszystkich przypisań ról w zakresie grupy zasobów, użyj polecenia 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

Wyświetlanie listy przypisań ról dla grupy zarządzania

Aby wyświetlić listę wszystkich przypisań ról w zakresie grupy zarządzania, użyj polecenia Get-AzRoleAssignment. Aby uzyskać identyfikator grupy zarządzania, możesz ją znaleźć w bloku Grupy zarządzania w witrynie Azure Portal lub użyć polecenia Get-AzManagementGroup.

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

Wyświetlanie listy przypisań ról dla zasobu

Aby wyświetlić listę przypisań ról dla określonego zasobu, użyj polecenia Get-AzRoleAssignment i parametru -Scope . Zakres będzie różny w zależności od zasobu. Aby uzyskać zakres, możesz uruchomić Get-AzRoleAssignment bez żadnych parametrów, aby wyświetlić listę wszystkich przypisań ról, a następnie znaleźć zakres, który chcesz wyświetlić.

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

Wyświetlanie listy przypisań ról dla klasycznego administratora usługi i współadministratorów

Aby wyświetlić listę przypisań ról dla klasycznego administratora subskrypcji i współadministratorów, użyj polecenia Get-AzRoleAssignment.

Get-AzRoleAssignment -IncludeClassicAdministrators

Wyświetlanie listy przypisań ról dla tożsamości zarządzanej

Wykonaj te kroki:

  1. Pobierz identyfikator obiektu tożsamości zarządzanej przypisanej przez system lub przypisanej przez użytkownika.

    Aby uzyskać identyfikator obiektu tożsamości zarządzanej przypisanej przez użytkownika, możesz użyć polecenia Get-AzADServicePrincipal.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. Aby wyświetlić listę przypisań ról, użyj polecenia Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Następny krok