Mencantumkan penetapan peran Azure menggunakan Azure PowerShell

Kontrol akses berbasis peran Azure (Azure RBAC) adalah sistem otorisasi yang Anda gunakan untuk mengelola akses ke sumber daya Azure. Untuk menentukan sumber daya yang dapat diakses oleh pengguna, grup, perwakilan layanan, atau identitas terkelola, Anda mencantumkan penetapan peran mereka. Artikel ini menjelaskan cara mencantumkan penetapan peran menggunakan Azure PowerShell.

Catatan

Sebaiknya Anda menggunakan modul Azure Az PowerShell untuk berinteraksi dengan Azure. Untuk memulai, lihat Menginstal Azure PowerShell. Untuk mempelajari cara bermigrasi ke modul Az PowerShell, lihat Memigrasikan Azure PowerShell dari AzureRM ke Az.

Catatan

Jika organisasi Anda mengalihdayakan fungsi manajemen ke penyedia layanan yang menggunakan Azure Lighthouse, penetapan peran yang dibuat oleh penyedia layanan tersebut tidak akan ditampilkan di sini. Demikian pula, pengguna di penyewa penyedia layanan tidak akan melihat penetapan peran untuk pengguna di penyewa pelanggan, terlepas dari peran yang telah mereka tetapkan.

Prasyarat

Mencantumkan penetapan peran untuk langganan saat ini

Cara termudah untuk mendapatkan daftar semua penetapan peran dalam langganan saat ini (termasuk penetapan peran yang diwariskan dari grup root dan manajemen) adalah dengan menggunakan Get-AzRoleAssignment tanpa parameter apa pun.

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

...

Mencantumkan penetapan peran untuk langganan

Untuk mencantumkan penetapan peran pada cakupan langganan, gunakan Get-AzRoleAssignment. Untuk mendapatkan ID langganan, Anda dapat menemukannya di bilah Langganan di portal Microsoft Azure atau Anda dapat menggunakan Get-AzSubscription.

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

Mencantumkan penetapan peran untuk pengguna

Untuk mencantumkan semua peran yang ditetapkan ke pengguna tertentu, gunakan 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

Mencantumkan penetapan peran untuk grup sumber daya

Untuk mencantumkan semua penetapan peran pada cakupan grup sumber daya, gunakan 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

Mencantumkan penetapan peran untuk grup manajemen

Untuk mencantumkan semua penetapan peran pada cakupan grup manajemen, gunakan Get-AzRoleAssignment. Untuk mendapatkan ID grup manajemen, Anda dapat menemukannya di bilah Grup manajemen di portal Azure atau Anda dapat menggunakan Get-AzManagementGroup.

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

Mencantumkan penetapan peran untuk sumber daya

Untuk mencantumkan penetapan peran untuk sumber daya tertentu, gunakan Get-AzRoleAssignment dan -Scope parameter. Ruang lingkup akan berbeda tergantung pada sumber daya. Untuk mendapatkan cakupan, Anda dapat menjalankan Get-AzRoleAssignmenttanpa parameter apa pun untuk mencantumkan semua penetapan peran lalu menemukan lingkup yang ingin Anda daftarkan.

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

Mencantumkan penetapan peran untuk administrator layanan klasik dan rekan administrator

Untuk mencantumkan penetapan peran untuk admin dan co-admin langganan klasik, gunakan Get-AzRoleAssignment.

Get-AzRoleAssignment -IncludeClassicAdministrators

Mencantumkan penetapan peran untuk identitas terkelola

Ikuti langkah-langkah ini:

  1. Dapatkan ID objek dari identitas terkelola yang ditetapkan sistem atau ditetapkan pengguna.

    Untuk mendapatkan ID objek identitas terkelola yang ditetapkan pengguna, Anda dapat menggunakan Get-AzADServicePrincipal.

    Get-AzADServicePrincipal -DisplayNameBeginsWith "<name> or <vmname>"
    
  2. Untuk mencantumkan tugas peran, gunakan Get-AzRoleAssignment.

    Get-AzRoleAssignment -ObjectId <objectid>
    

Langkah selanjutnya