Menampilkan log aktivitas untuk perubahan Azure RBAC
Terkadang, Anda memerlukan informasi tentang perubahan kontrol akses berbasis peran Azure (Azure RBAC), seperti untuk tujuan audit atau pemecahan masalah. Setiap kali seseorang membuat perubahan pada penetapan peran atau definisi peran dalam langganan Anda, perubahan akan dicatat di Azure Activity Log. Anda dapat melihat log aktivitas untuk melihat semua perubahan Azure RBAC selama 90 hari terakhir.
Operasi yang dicatat
Berikut adalah operasi terkait Azure RBAC yang dicatat ke Log Aktivitas:
- Membuat penetapan peran
- Menghapus penetapan peran
- Membuat atau memperbarui definisi peran kustom
- Hapus definisi peran kustom
Portal Azure
Cara termudah untuk memulai adalah dengan melihat log aktivitas dengan portal Microsoft Azure. Cuplikan layar berikut menunjukkan contoh operasi penetapan peran dalam log aktivitas. Ini juga termasuk opsi untuk mengunduh log sebagai file CSV.
Untuk mendapatkan informasi selengkapnya, klik entri untuk membuka panel ringkasan. Klik tab JSON untuk mendapatkan log mendetail.
Log aktivitas di portal memiliki beberapa filter. Berikut adalah filter terkait Azure RBAC:
Filter | Nilai |
---|---|
Kategori kejadian |
|
Operasi |
|
Untuk informasi lebih lanjut tentang log aktivitas, lihat Log Aktivitas Azure.
Menginterpretasikan entri log
Output log dari tab JSON, Azure PowerShell, atau Azure CLI dapat mencakup banyak informasi. Berikut adalah beberapa properti kunci yang harus dicari saat mencoba menginterpretasikan entri log. Untuk cara memfilter output log menggunakan Azure PowerShell atau Azure CLI, lihat bagian berikut.
Properti | Contoh nilai | Deskripsi |
---|---|---|
otorisasi:tindakan | Microsoft.Authorization/roleAssignments/write | Membuat penetapan peran |
Microsoft.Authorization/roleAssignments/delete | Menghapus penetapan peran | |
Microsoft.Authorization/roleDefinitions/write | Membuat atau memperbarui definisi peran | |
Microsoft.Authorization/roleDefinitions/delete | Menghapus definisi peran | |
otorisasi:cakupan | /subscriptions/{subscriptionId} /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
Cakupan untuk tindakan |
pemanggil | admin@example.com {objectId} |
Yang memulai tindakan |
eventTimestamp | 2021-03-01T22:07:41.126243Z | Waktu tindakan terjadi |
status:nilai | Dimulai Berhasil Gagal |
Status tindakan |
Azure PowerShell
Untuk menampilkan log aktivitas dengan Azure PowerShell, gunakan perintah Get-AzLog.
Perintah ini mencantumkan semua perubahan penetapan peran dalam langganan selama tujuh hari terakhir:
Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleAssignments/*'}
Perintah ini mencantumkan semua perubahan definisi peran dalam grup sumber daya selama tujuh hari terakhir:
Get-AzLog -ResourceGroupName pharma-sales -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleDefinitions/*'}
Memfilter output log
Output log dapat mencakup banyak informasi. Perintah ini mencantumkan semua perubahan penetapan peran dan definisi peran dalam langganan selama tujuh hari terakhir dan memfilter output:
Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/role*'} | Format-List Caller,EventTimestamp,{$_.Authorization.Action},Properties
Berikut ini menunjukkan contoh output log yang difilter saat membuat penetapan peran:
Caller : admin@example.com
EventTimestamp : 3/1/2021 10:07:42 PM
$_.Authorization.Action : Microsoft.Authorization/roleAssignments/write
Properties :
statusCode : Created
serviceRequestId: {serviceRequestId}
eventCategory : Administrative
entity : /subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}
message : Microsoft.Authorization/roleAssignments/write
hierarchy : {tenantId}/{subscriptionId}
Caller : admin@example.com
EventTimestamp : 3/1/2021 10:07:41 PM
$_.Authorization.Action : Microsoft.Authorization/roleAssignments/write
Properties :
requestbody : {"Id":"{roleAssignmentId}","Properties":{"PrincipalId":"{principalId}","PrincipalType":"User","RoleDefinitionId":"/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64","Scope":"/subscriptions/
{subscriptionId}/resourceGroups/example-group"}}
eventCategory : Administrative
entity : /subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}
message : Microsoft.Authorization/roleAssignments/write
hierarchy : {tenantId}/{subscriptionId}
Jika Anda menggunakan perwakilan layanan untuk membuat penetapan peran, properti Pemanggil akan menjadi ID objek perwakilan layanan. Anda dapat menggunakan Get-AzADServicePrincipal untuk mendapatkan informasi tentang perwakilan layanan.
Caller : {objectId}
EventTimestamp : 3/1/2021 9:43:08 PM
$_.Authorization.Action : Microsoft.Authorization/roleAssignments/write
Properties :
statusCode : Created
serviceRequestId: {serviceRequestId}
eventCategory : Administrative
Azure CLI
Untuk melihat log aktivitas dengan Azure CLI, gunakan perintah az monitor activity-log list.
Perintah ini mencantumkan log aktivitas dalam grup sumber daya mulai 1 Maret, hingga tujuh hari:
az monitor activity-log list --resource-group example-group --start-time 2021-03-01 --offset 7d
Perintah ini mencantumkan log aktivitas untuk penyedia sumber daya Otorisasi mulai 1 Maret, hingga tujuh hari:
az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d
Memfilter output log
Output log dapat mencakup banyak informasi. Perintah ini mencantumkan semua perubahan penetapan peran dan definisi peran dalam langganan hingga tujuh hari dan memfilter output:
az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d --query '[].{authorization:authorization, caller:caller, eventTimestamp:eventTimestamp, properties:properties}'
Berikut ini menunjukkan contoh output log yang difilter saat membuat penetapan peran:
[
{
"authorization": {
"action": "Microsoft.Authorization/roleAssignments/write",
"role": null,
"scope": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}"
},
"caller": "admin@example.com",
"eventTimestamp": "2021-03-01T22:07:42.456241+00:00",
"properties": {
"entity": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"eventCategory": "Administrative",
"hierarchy": "{tenantId}/{subscriptionId}",
"message": "Microsoft.Authorization/roleAssignments/write",
"serviceRequestId": "{serviceRequestId}",
"statusCode": "Created"
}
},
{
"authorization": {
"action": "Microsoft.Authorization/roleAssignments/write",
"role": null,
"scope": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}"
},
"caller": "admin@example.com",
"eventTimestamp": "2021-03-01T22:07:41.126243+00:00",
"properties": {
"entity": "/subscriptions/{subscriptionId}/resourceGroups/example-group/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"eventCategory": "Administrative",
"hierarchy": "{tenantId}/{subscriptionId}",
"message": "Microsoft.Authorization/roleAssignments/write",
"requestbody": "{\"Id\":\"{roleAssignmentId}\",\"Properties\":{\"PrincipalId\":\"{principalId}\",\"PrincipalType\":\"User\",\"RoleDefinitionId\":\"/providers/Microsoft.Authorization/roleDefinitions/fa23ad8b-c56e-40d8-ac0c-ce449e1d2c64\",\"Scope\":\"/subscriptions/{subscriptionId}/resourceGroups/example-group\"}}"
}
}
]
Log Azure Monitor
Log Azure Monitor adalah alat lain yang dapat Anda gunakan untuk mengumpulkan dan menganalisis perubahan Azure RBAC untuk semua sumber daya Azure Anda. Log Azure Monitor memiliki keuntungan berikut:
- Menulis kueri dan logika yang kompleks
- Mengintegrasikan dengan pemberitahuan, Power BI, dan alat lainnya
- Menyimpan data untuk periode retensi yang lebih lama
- Referensi silang dengan log lain seperti keamanan, komputer virtual, dan kustom
Berikut adalah langkah dasar untuk memulai:
Konfigurasikan Aktivitas untuk ruang kerja Anda.
Lihat wawasan log aktivitas. Cara cepat untuk menavigasi ke halaman Gambaran Umum Log Aktivitas adalah dengan mengklik opsi Log .
Secara opsional, gunakan Analitik Log Azure Monitor untuk mengkueri dan menampilkan log. Untuk informasi selengkapnya, lihat Mulai menggunakan kueri Log di Azure Monitor.
Berikut adalah kueri yang menampilkan penetapan peran baru yang diatur oleh penyedia sumber daya target:
AzureActivity
| where TimeGenerated > ago(60d) and Authorization contains "Microsoft.Authorization/roleAssignments/write" and ActivityStatus == "Succeeded"
| parse ResourceId with * "/providers/" TargetResourceAuthProvider "/" *
| summarize count(), makeset(Caller) by TargetResourceAuthProvider
Berikut adalah kueri yang menampilkan perubahan penetapan peran yang ditampilkan dalam bagan:
AzureActivity
| where TimeGenerated > ago(60d) and Authorization contains "Microsoft.Authorization/roleAssignments"
| summarize count() by bin(TimeGenerated, 1d), OperationName
| render timechart