Azure RBAC değişiklikleri için etkinlik günlüklerini görüntüleme
Bazen denetim veya sorun giderme amacıyla olduğu gibi Azure rol tabanlı erişim denetimi (Azure RBAC) değişiklikleri hakkında bilgi almanız gerekebilir. Birisi aboneliklerinizdeki rol atamalarında veya rol tanımlarında değişiklik yaptığında, değişiklikler Azure Etkinlik Günlüğü'nde günlüğe kaydedilir. Son 90 gündeki tüm Azure RBAC değişikliklerini görmek için etkinlik günlüklerini görüntüleyebilirsiniz.
Günlüğe kaydedilen işlemler
Etkinlik Günlüğü'nde günlüğe kaydedilen Azure RBAC ile ilgili işlemler şunlardır:
- Rol ataması oluştur
- Rol atamasını sil
- Özel rol tanımı oluşturma veya güncelleştirme
- Özel rol tanımını sil
Azure portal
Başlamanın en kolay yolu Azure portalıyla etkinlik günlüklerini görüntülemektir. Aşağıdaki ekran görüntüsünde etkinlik günlüğündeki rol atama işlemlerinin bir örneği gösterilmektedir. Ayrıca günlükleri CSV dosyası olarak indirme seçeneği de içerir.
Daha fazla bilgi edinmek için bir girdiye tıklayarak özet bölmesini açın. Ayrıntılı bir günlük almak için JSON sekmesine tıklayın.
Portaldaki etkinlik günlüğünde çeşitli filtreler vardır. Azure RBAC ile ilgili filtreler şunlardır:
Filtre | Değer |
---|---|
Olay kategorisi |
|
İşlem |
|
Etkinlik günlükleri hakkında daha fazla bilgi için bkz . Azure Etkinlik günlüğü.
Günlük girdisi yorumlama
JSON sekmesinden, Azure PowerShell'den veya Azure CLI'dan alınan günlük çıkışı birçok bilgi içerebilir. Burada, bir günlük girdisini yorumlamaya çalışırken aranacak bazı önemli özellikler yer alır. Azure PowerShell veya Azure CLI kullanarak günlük çıkışını filtrelemenin yolları için aşağıdaki bölümlere bakın.
Özellik | Örnek değerler | Açıklama |
---|---|---|
authorization:action | Microsoft.Authorization/roleAssignments/write | Rol ataması oluştur |
Microsoft.Authorization/roleAssignments/delete | Rol atamasını sil | |
Microsoft.Authorization/roleDefinitions/write | Rol tanımı oluşturma veya güncelleştirme | |
Microsoft.Authorization/roleDefinitions/delete | Rol tanımını silme | |
authorization:scope | /subscriptions/{subscriptionId} /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId} |
Eylemin kapsamı |
Ara -yan | admin@example.com {objectId} |
Eylemi başlatan kişi |
eventTimestamp | 2021-03-01T22:07:41.126243Z | Eylemin gerçekleştiği saat |
status:value | Başlarken Başarılı Oldu Başarısız oldu |
Eylemin durumu |
Azure PowerShell
Azure PowerShell ile etkinlik günlüklerini görüntülemek için Get-AzLog komutunu kullanın.
Bu komut, abonelikteki son yedi güne ilişkin tüm rol atama değişikliklerini listeler:
Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleAssignments/*'}
Bu komut, bir kaynak grubundaki son yedi güne ilişkin tüm rol tanımı değişikliklerini listeler:
Get-AzLog -ResourceGroupName pharma-sales -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/roleDefinitions/*'}
Filtre günlüğü çıkışı
Günlük çıkışı çok fazla bilgi içerebilir. Bu komut, abonelikte son yedi güne ilişkin tüm rol ataması ve rol tanımı değişikliklerini listeler ve çıkışı filtreler:
Get-AzLog -StartTime (Get-Date).AddDays(-7) | Where-Object {$_.Authorization.Action -like 'Microsoft.Authorization/role*'} | Format-List Caller,EventTimestamp,{$_.Authorization.Action},Properties
Aşağıda, rol ataması oluştururken filtrelenmiş günlük çıktısının bir örneği gösterilmektedir:
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}
Rol atamaları oluşturmak için hizmet sorumlusu kullanıyorsanız, Çağıran özelliği bir hizmet sorumlusu nesne kimliği olacaktır. Hizmet sorumlusu hakkında bilgi almak için Get-AzADServicePrincipal kullanabilirsiniz.
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
Azure CLI ile etkinlik günlüklerini görüntülemek için az monitor activity-log list komutunu kullanın.
Bu komut, 1 Mart'taki bir kaynak grubundaki etkinlik günlüklerini yedi gün ileriye doğru listeler:
az monitor activity-log list --resource-group example-group --start-time 2021-03-01 --offset 7d
Bu komut, 1 Mart'tan itibaren Yetkilendirme kaynak sağlayıcısının etkinlik günlüklerini yedi gün ileriye doğru listeler:
az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d
Filtre günlüğü çıkışı
Günlük çıkışı çok fazla bilgi içerebilir. Bu komut, abonelikteki tüm rol ataması ve rol tanımı değişikliklerini yedi gün ileriye doğru listeler ve çıkışı filtreler:
az monitor activity-log list --namespace "Microsoft.Authorization" --start-time 2021-03-01 --offset 7d --query '[].{authorization:authorization, caller:caller, eventTimestamp:eventTimestamp, properties:properties}'
Aşağıda, rol ataması oluştururken filtrelenmiş günlük çıktısının bir örneği gösterilmektedir:
[
{
"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\"}}"
}
}
]
Azure İzleyici günlükleri
Azure İzleyici günlükleri , tüm Azure kaynaklarınız için Azure RBAC değişikliklerini toplamak ve analiz etmek için kullanabileceğiniz başka bir araçtır. Azure İzleyici günlükleri aşağıdaki avantajlara sahiptir:
- Karmaşık sorgular ve mantık yazma
- Uyarılar, Power BI ve diğer araçlarla tümleştirme
- Daha uzun saklama süreleri için verileri kaydetme
- Güvenlik, sanal makine ve özel gibi diğer günlüklerle çapraz başvuru
Başlamak için temel adımlar şunlardır:
Log Analytics çalışma alanı oluşturun.
Çalışma alanınız için Etkinliği yapılandırın.
Etkinlik günlüklerini görüntüleyin İçgörüler. Etkinlik Günlüğüne Genel Bakış sayfasına gitmenin hızlı bir yolu Günlükler seçeneğine tıklamaktır.
İsteğe bağlı olarak günlükleri sorgulamak ve görüntülemek için Azure İzleyici Log Analytics'i kullanın. Daha fazla bilgi için bkz . Azure İzleyici'de günlük sorgularını kullanmaya başlama.
Hedef kaynak sağlayıcısı tarafından düzenlenen yeni rol atamalarını döndüren bir sorgu aşağıdadır:
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
Grafikte görüntülenen rol ataması değişikliklerini döndüren bir sorgu aşağıdadır:
AzureActivity
| where TimeGenerated > ago(60d) and Authorization contains "Microsoft.Authorization/roleAssignments"
| summarize count() by bin(TimeGenerated, 1d), OperationName
| render timechart