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.

Dekont

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.

Dekont

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

...

Bir aboneliğ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

Bir kullanıcının 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

Belirli bir kullanıcıya atanan tüm rolleri ve kullanıcının ait olduğu gruplara atanan rolleri listelemek için Get-AzRoleAssignment kullanın.

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

Kaynak grubunun 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>

Aşağıdaki örnekte bir depolama hesabı için rol atamalarının nasıl listelenmesi gösterilmektedir. Bu komutun, bu depolama hesabı için geçerli olan kaynak grupları ve abonelikler gibi daha yüksek kapsamlarda rol atamalarını da listelediğini unutmayın.

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

Doğrudan bir kaynağa atanan rol atamalarını listelemek istiyorsanız, listeyi filtrelemek için Where-Object komutunu kullanabilirsiniz.

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

  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ımlar