Azure-szerepkör-hozzárendelések listázása az Azure PowerShell használatával

Az Azure-beli szerepköralapú hozzáférés-vezérlés (Azure RBAC) az Azure-erőforrásokhoz való hozzáférés kezeléséhez használt engedélyezési rendszer. Annak meghatározásához, hogy a felhasználók, csoportok, szolgáltatásnevek vagy felügyelt identitások milyen erőforrásokhoz férhetnek hozzá, sorolja fel a szerepkör-hozzárendeléseiket. Ez a cikk bemutatja, hogyan listázhatja a szerepkör-hozzárendeléseket az Azure PowerShell használatával.

Feljegyzés

Javasoljuk, hogy az Azure Az PowerShell modult használja az Azure-ral való interakcióhoz. Az első lépésekhez tekintse meg az Azure PowerShell telepítését ismertető szakaszt. Az Az PowerShell-modulra történő migrálás részleteiről lásd: Az Azure PowerShell migrálása az AzureRM modulból az Az modulba.

Feljegyzés

Ha a szervezet kiszervezett felügyeleti funkciókkal rendelkezik egy Azure Lighthouse-t használó szolgáltatónak, az adott szolgáltató által engedélyezett szerepkör-hozzárendelések itt nem jelennek meg. Hasonlóképpen, a szolgáltatói bérlő felhasználói nem fogják látni az ügyfél bérlőjében lévő felhasználók szerepkör-hozzárendeléseit, függetlenül attól, hogy milyen szerepkörhöz lettek hozzárendelve.

Előfeltételek

Az aktuális előfizetés szerepkör-hozzárendeléseinek listázása

Az aktuális előfizetés összes szerepkör-hozzárendelésének (beleértve a gyökér- és felügyeleti csoportoktól örökölt szerepkör-hozzárendeléseket) listájának lekérésének legegyszerűbb módja a Get-AzRoleAssignment paraméter nélküli használata.

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

...

Előfizetés szerepkör-hozzárendeléseinek listázása

Ha egy előfizetés hatókörében szeretné listázni az összes szerepkör-hozzárendelést, használja a Get-AzRoleAssignment parancsot. Az előfizetés-azonosító lekéréséhez megtalálhatja az Azure Portal Előfizetések paneljén, vagy használhatja a Get-AzSubscription parancsot.

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

Szerepkör-hozzárendelések listázása egy felhasználóhoz

Egy adott felhasználóhoz rendelt összes szerepkör listázásához használja a Get-AzRoleAssignment parancsot.

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

Erőforráscsoport szerepkör-hozzárendeléseinek listázása

Ha egy erőforráscsoport hatókörében szeretné listázni az összes szerepkör-hozzárendelést, használja a Get-AzRoleAssignment parancsot.

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

Felügyeleti csoport szerepkör-hozzárendeléseinek listázása

Ha egy felügyeleti csoport hatókörében szeretné listázni az összes szerepkör-hozzárendelést, használja a Get-AzRoleAssignment parancsot. A felügyeleti csoport azonosítójának lekéréséhez megtalálhatja az Azure Portal Felügyeleti csoportok paneljén, vagy használhatja a Get-AzManagementGroup szolgáltatást.

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

Erőforrás szerepkör-hozzárendeléseinek listázása

Egy adott erőforrás szerepkör-hozzárendeléseinek listázásához használja a Get-AzRoleAssignment parancsot és a paramétert -Scope . A hatókör az erőforrástól függően eltérő lesz. A hatókör lekéréséhez paraméterek nélkül futtatva Get-AzRoleAssignment listázhatja az összes szerepkör-hozzárendelést, majd megkeresheti a listázni kívánt hatókört.

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

Klasszikus szolgáltatásadminisztrátor és társ-rendszergazdák szerepkör-hozzárendeléseinek listázása

A klasszikus előfizetés-rendszergazda és társ-rendszergazdák szerepkör-hozzárendeléseinek listázásához használja a Get-AzRoleAssignment parancsot.

Get-AzRoleAssignment -IncludeClassicAdministrators

Felügyelt identitás szerepkör-hozzárendeléseinek listázása

Tegye a következők egyikét:

  1. Kérje le a rendszer által hozzárendelt vagy felhasználó által hozzárendelt felügyelt identitás objektumazonosítóját.

    A felhasználó által hozzárendelt felügyelt identitás objektumazonosítójának lekéréséhez használhatja a Get-AzADServicePrincipal parancsot.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. A szerepkör-hozzárendelések listázásához használja a Get-AzRoleAssignment parancsot.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Következő lépés