Azure İzleyici'de yetkilendirme yönetimiyle ilgili günlükleri arşivle ve raporlama
Microsoft Entra ID, denetim olaylarını denetim günlüğünde 30 güne kadar depolar. Ancak, Microsoft Entra ID raporlama verilerini bir Azure Depolama hesabına yönlendirerek veya Azure İzleyici kullanarak raporlama verilerini ne kadar süreyle depolar? bölümünde açıklanan denetim verilerini varsayılan saklama süresinden daha uzun süre tutabilirsiniz. Daha sonra bu veriler üzerinde çalışma kitaplarını, özel sorguları ve raporları kullanabilirsiniz.
Microsoft Entra Id'yi Azure İzleyici'yi kullanacak şekilde yapılandırma
İpucu
Bu makaledeki adımlar, başladığınız portala göre biraz değişiklik gösterebilir.
Azure İzleyici çalışma kitaplarını kullanmadan önce, Microsoft Entra Id'yi denetim günlüklerinin bir kopyasını Azure İzleyici'ye gönderecek şekilde yapılandırmanız gerekir.
Microsoft Entra denetim günlüklerini arşivleme, Azure İzleyici'nin bir Azure aboneliğinde olmasını gerektirir. Azure İzleyici'deki Microsoft Entra etkinlik günlüklerinde Azure İzleyici'yi kullanmanın önkoşulları ve tahmini maliyetleri hakkında daha fazla bilgi edinebilirsiniz.
Microsoft Entra yönetim merkezinde en az Bir Güvenlik Yöneticisi olarak oturum açın. Azure İzleyici çalışma alanını içeren kaynak grubuna erişiminiz olduğundan emin olun.
Kimlik>İzleme ve sistem durumu>Tanılama ayarları'na göz atın.
Denetim günlüklerini bu çalışma alanına göndermeye ilişkin bir ayar olup olmadığını denetleyin.
Henüz bir ayar yoksa Tanılama ayarı ekle'yi seçin. Microsoft Entra denetim günlüğünü Azure İzleyici çalışma alanına göndermek için Microsoft Entra günlüklerini Azure İzleyici günlükleriyle tümleştirme başlığı altında yer alan yönergeleri kullanın.
Günlük Azure İzleyici'ye gönderildikten sonra Log Analytics çalışma alanları'nı seçin ve Microsoft Entra denetim günlüklerini içeren çalışma alanını seçin.
Kullanım ve tahmini maliyetler'i seçin ve Veri Saklama'ya tıklayın. Kaydırıcıyı, denetim gereksinimlerinizi karşılamak için verileri saklamak istediğiniz gün sayısıyla değiştirin.
Daha sonra, çalışma alanınızda tutulan tarih aralığını görmek için Arşivlenmiş Günlük Tarih Aralığı çalışma kitabını kullanabilirsiniz:
Kimlik>İzleme ve sistem durumu>Çalışma Kitapları'na göz atın.
Microsoft Entra Sorun Giderme bölümünü genişletin ve Arşivlenmiş Günlük Tarih Aralığı'nı seçin.
Erişim paketi için olayları görüntüleme
Erişim paketinin olaylarını görüntülemek için, temel alınan Azure izleyici çalışma alanına (bilgi için bkz . Azure İzleyici'de günlük verilerine ve çalışma alanlarına erişimi yönetme) ve aşağıdaki rollerden birinde erişiminiz olmalıdır:
- Genel Yönetici
- Güvenlik Yöneticisi
- Güvenlik Okuyucusu
- Rapor Okuyucusu
- Uygulama Yöneticisi
Olayları görüntülemek için aşağıdaki yordamı kullanın:
Microsoft Entra yönetim merkezinde Kimlik'i ve ardından Çalışma Kitapları'nı seçin. Yalnızca bir aboneliğiniz varsa 3. adıma geçin.
Birden çok aboneliğiniz varsa, çalışma alanını içeren aboneliği seçin.
Access Paket Etkinliği adlı çalışma kitabını seçin.
Bu çalışma kitabında bir zaman aralığı seçin (emin değilseniz Tümü olarak değiştirin) ve bu zaman aralığında etkinliği olan tüm erişim paketlerinin açılan listesinden bir erişim paketi kimliği seçin. Seçilen zaman aralığı sırasında gerçekleşen erişim paketiyle ilgili olaylar görüntülenir.
Her satırda saat, erişim paketi kimliği, işlemin adı, nesne kimliği, UPN ve işlemi başlatan kullanıcının görünen adı bulunur. Diğer ayrıntılar JSON'da yer alır.
Genel Yöneticinin bir kullanıcıyı doğrudan bir uygulama rolüne ataması gibi erişim paketi atamalarından kaynaklanmamış bir uygulama için uygulama rolü atamalarında değişiklik olup olmadığını görmek isterseniz, Uygulama rolü atama etkinliği adlı çalışma kitabını seçebilirsiniz.
Microsoft Entra yönetim merkezini kullanarak özel Azure İzleyici sorguları oluşturma
Yetkilendirme yönetimi olayları dahil olmak üzere Microsoft Entra denetim olaylarında kendi sorgularınızı oluşturabilirsiniz.
Yeni bir sorgu sayfası oluşturmak için Microsoft Entra yönetim merkezinin kimliği bölümünde, sol gezinti menüsündeki İzleme bölümünün altındaki Günlükler'i seçin.
Çalışma alanınız sorgu sayfasının sol üst kısmında gösterilmelidir. Birden çok Azure İzleyici çalışma alanınız varsa ve Microsoft Entra denetim olaylarını depolamak için kullandığınız çalışma alanı gösterilmiyorsa Kapsam Seç'i seçin. Ardından doğru aboneliği ve çalışma alanını seçin.
Ardından, sorgu metin alanında "search *" dizesini silin ve aşağıdaki sorguyla değiştirin:
AuditLogs | where Category == "EntitlementManagement"
Daha sonra Çalıştır'ı seçin.
Tabloda, varsayılan olarak son saate ait yetkilendirme yönetimi için Denetim günlüğü olayları gösterilir. Eski olayları görüntülemek için "Zaman aralığı" ayarını değiştirebilirsiniz. Ancak bu ayarın değiştirilmesi yalnızca Microsoft Entra Id Azure İzleyici'ye olay gönderecek şekilde yapılandırıldıktan sonra gerçekleşen olayları gösterir.
Azure İzleyici'de gerçekleştirilen en eski ve en yeni denetim olaylarını öğrenmek istiyorsanız aşağıdaki sorguyu kullanın:
AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type
Azure İzleyici'de denetim olayları için depolanan sütunlar hakkında daha fazla bilgi için bkz . Azure İzleyici'de Microsoft Entra denetim günlükleri şemasını yorumlama.
Azure PowerShell kullanarak özel Azure İzleyici sorguları oluşturma
Microsoft Entra Id'yi Azure İzleyici'ye günlük gönderecek şekilde yapılandırdıktan sonra PowerShell aracılığıyla günlüklere erişebilirsiniz. Ardından, kiracıda Genel Yönetici olmanıza gerek kalmadan betiklerden veya PowerShell komut satırından sorgular gönderin.
Kullanıcı veya hizmet sorumlusunun doğru rol ataması olduğundan emin olun
Microsoft Entra Id kimlik doğrulamasında bulunan kullanıcı veya hizmet sorumlusunun Log Analytics çalışma alanında uygun Azure rolünde olduğunuzdan emin olun. Rol seçenekleri Log Analytics Okuyucusu veya Log Analytics Katkıda Bulunanı'dır. Zaten bu rollerden birindeyseniz Tek bir Azure aboneliğiyle Log Analytics Kimliğini Alma bölümüne atlayın.
Rol atamasını ayarlamak ve sorgu oluşturmak için aşağıdaki adımları uygulayın:
Microsoft Entra yönetim merkezinde Log Analytics çalışma alanını bulun.
Erişim Denetimi (IAM) öğesini seçin.
Ardından, rol ataması eklemek için Ekle'yi seçin.
Azure PowerShell modülünü yükleme
Uygun rol atamasını aldıktan sonra PowerShell'i başlatın ve Azure PowerShell modülünü yükleyin (henüz yapmadıysanız), şunu yazarak:
install-module -Name az -allowClobber -Scope CurrentUser
Artık Microsoft Entra Id kimlik doğrulaması yapmaya ve sorguladığınız Log Analytics çalışma alanının kimliğini almaya hazırsınız.
Bir Azure aboneliğiyle Log Analytics Kimliğini alma
Yalnızca tek bir Azure aboneliğiniz ve tek bir Log Analytics çalışma alanınız varsa, Microsoft Entra Id'de kimlik doğrulaması yapmak, bu aboneliğe bağlanmak ve bu çalışma alanını almak için aşağıdakileri yazın:
Connect-AzAccount
$wks = Get-AzOperationalInsightsWorkspace
Birden çok Azure aboneliğiyle Log Analytics kimliğini alma
Get-AzOperationalInsightsWorkspace aynı anda bir abonelikte çalışır. Bu nedenle, birden çok Azure aboneliğiniz varsa, Log Analytics çalışma alanına sahip olan aboneye Microsoft Entra günlükleriyle bağlandığınızdan emin olmak istersiniz.
Aşağıdaki cmdlet'ler aboneliklerin listesini görüntüler ve Log Analytics çalışma alanına sahip aboneliğin kimliğini bulur:
Connect-AzAccount
$subs = Get-AzSubscription
$subs | ft
Gibi Connect-AzAccount –Subscription $subs[0].id
bir komut kullanarak PowerShell oturumunuzu yeniden doğrulayabilir ve bu abonelikle ilişkilendirebilirsiniz. Etkileşimli olmayanlar da dahil olmak üzere PowerShell'den Azure'da kimlik doğrulaması hakkında daha fazla bilgi edinmek için bkz . Azure PowerShell ile oturum açma.
Bu abonelikte birden çok Log Analytics çalışma alanınız varsa Get-AzOperationalInsightsWorkspace cmdlet'i çalışma alanlarının listesini döndürür. Ardından Microsoft Entra günlüklerine sahip olanı bulabilirsiniz. CustomerId
Bu cmdlet tarafından döndürülen alan, Log Analytics çalışma alanına genel bakış bölümünde Microsoft Entra yönetim merkezinde görüntülenen "Çalışma Alanı Kimliği" değeriyle aynıdır.
$wks = Get-AzOperationalInsightsWorkspace
$wks | ft CustomerId, Name
Sorguyu Log Analytics çalışma alanına gönderme
Son olarak, bir çalışma alanı tanımladıktan sonra Invoke-AzOperationalInsightsQuery kullanarak bu çalışma alanına bir Kusto sorgusu gönderebilirsiniz. Bu sorgular Kusto sorgu dilinde yazılır.
Örneğin, aşağıdaki gibi bir sorgu göndermek için PowerShell cmdlet'leri ile Log Analytics çalışma alanından denetim olayı kayıtlarının tarih aralığını alabilirsiniz:
$aQuery = "AuditLogs | where TimeGenerated > ago(3653d) | summarize OldestAuditEvent=min(TimeGenerated), NewestAuditEvent=max(TimeGenerated) by Type"
$aResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $aQuery
$aResponse.Results |ft
Yetkilendirme yönetimi olaylarını aşağıdaki gibi bir sorgu kullanarak da alabilirsiniz:
$bQuery = 'AuditLogs | where Category == "EntitlementManagement"'
$bResponse = Invoke-AzOperationalInsightsQuery -WorkspaceId $wks[0].CustomerId -Query $Query
$bResponse.Results |ft
Sorgu filtrelerini kullanma
Bir sorgunun TimeGenerated
kapsamını belirli bir zaman aralığına göre belirlemek için alanı ekleyebilirsiniz. Örneğin, son 90 gün içinde oluşturulan veya güncelleştirilen yetkilendirme yönetimi erişim paketi atama ilkelerine yönelik denetim günlüğü olaylarını almak için, bu alanı içeren bir sorgu ve kategori ve işlem türü sağlayabilirsiniz.
AuditLogs |
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") |
project ActivityDateTime,OperationName, InitiatedBy, AdditionalDetails, TargetResources
Yetkilendirme yönetimi gibi bazı hizmetlerin denetim olayları için, değiştirilen kaynakların etkilenen özelliklerini de genişletebilir ve filtreleyebilirsiniz. Örneğin, kullanıcıların atama eklemesi için onay gerektirmeyen, oluşturulan veya güncelleştirilen erişim paketi atama ilkeleri için yalnızca denetim günlüğü kayıtlarını görüntüleyebilirsiniz.
AuditLogs |
where TimeGenerated > ago(90d) and Category == "EntitlementManagement" and Result == "success" and (AADOperationType == "CreateEntitlementGrantPolicy" or AADOperationType == "UpdateEntitlementGrantPolicy") |
mv-expand TargetResources |
where TargetResources.type == "AccessPackageAssignmentPolicy" |
project ActivityDateTime,OperationName,InitiatedBy,PolicyId=TargetResources.id,PolicyDisplayName=TargetResources.displayName,MP1=TargetResources.modifiedProperties |
mv-expand MP1 |
where (MP1.displayName == "IsApprovalRequiredForAdd" and MP1.newValue == "\"False\"") |
order by ActivityDateTime desc