Düzenle

Aracılığıyla paylaş


Azure PowerShell kullanarak Azure rol atamalarını listeleme

Azure rol tabanlı erişim denetimi (Azure RBAC), Azure kaynaklarına erişimi yönetmek için kullandığınız yetkilendirme sistemidir. Kullanıcıların, grupların, hizmet sorumlularının veya yönetilen kimliklerin hangi kaynaklara erişimi olduğunu belirlemek için rol atamalarını listelersiniz. Bu makalede, Azure PowerShell kullanarak rol atamalarının nasıl listelenmesi açıklanır.

Not

Azure ile etkileşim kurmak için Azure Az PowerShell modülünü kullanmanızı öneririz. Başlamak için bkz . Azure PowerShell'i yükleme. Az PowerShell modülüne nasıl geçeceğinizi öğrenmek için bkz. Azure PowerShell’i AzureRM’den Az’ye geçirme.

Not

Kuruluşunuzun Azure Lighthouse kullanan bir hizmet sağlayıcısına dış kaynaklı yönetim işlevleri varsa, bu hizmet sağlayıcısı tarafından yetkilendirilmiş rol atamaları burada gösterilmez. Benzer şekilde, hizmet sağlayıcısı kiracısında bulunan kullanıcılar, atanmış oldukları rolden bağımsız olarak bir müşterinin kiracısında kullanıcılar için rol atamalarını görmez.

Önkoşullar

Geçerli abonelik için rol atamalarını listeleme

Geçerli abonelikteki tüm rol atamalarının listesini almanın en kolay yolu (kök ve yönetim gruplarından devralınan rol atamaları dahil) Get-AzRoleAssignment'ı parametre olmadan kullanmaktır.

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

...

Abonelik için rol atamalarını listeleme

Abonelik kapsamındaki tüm rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın. Abonelik kimliğini almak için azure portalındaki Abonelikler dikey penceresinde bulabilir veya Get-AzSubscription kullanabilirsiniz.

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

Kullanıcı için rol atamalarını listeleme

Belirtilen kullanıcıya atanan tüm rolleri listelemek için Get-AzRoleAssignment komutunu kullanın.

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

Kaynak grubu için rol atamalarını listeleme

Bir kaynak grubu kapsamındaki tüm rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın.

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

Yönetim grubu için rol atamalarını listeleme

Bir yönetim grubu kapsamındaki tüm rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın. Yönetim grubu kimliğini almak için, bunu Azure portalındaki Yönetim grupları dikey penceresinde bulabilir veya Get-AzManagementGroup kullanabilirsiniz.

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

Kaynak için rol atamalarını listeleme

Belirli bir kaynağın rol atamalarını listelemek için Get-AzRoleAssignment ve parametresini -Scope kullanın. Kapsam kaynağa bağlı olarak farklı olacaktır. Kapsamı almak için, tüm rol atamalarını listelemek ve ardından listelemek istediğiniz kapsamı bulmak için herhangi bir parametre olmadan çalıştırabilirsiniz Get-AzRoleAssignment .

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

Klasik hizmet yöneticisi ve ortak yöneticiler için rol atamalarını listeleme

Klasik abonelik yöneticisinin ve ortak yöneticilerin rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın.

Get-AzRoleAssignment -IncludeClassicAdministrators

Yönetilen kimlik için rol atamalarını listeleme

Şu adımları izleyin:

  1. Sistem tarafından atanan veya kullanıcı tarafından atanan yönetilen kimliğin nesne kimliğini alın.

    Kullanıcı tarafından atanan yönetilen kimliğin nesne kimliğini almak için Get-AzADServicePrincipal kullanabilirsiniz.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. Rol atamalarını listelemek için Get-AzRoleAssignment komutunu kullanın.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Sonraki adım