Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Tutorial Membuat laporan yang disesuaikan di Azure Data Explorer dengan menggunakan data dari Microsoft Entra menunjukkan cara membuat laporan yang disesuaikan di Azure Data Explorer dengan menggunakan data dari layanan Microsoft Entra ID dan Microsoft Entra ID Governance.
Anda juga dapat membawa data ke Azure Data Explorer dari sumber di luar Microsoft Entra. Skenario untuk kemampuan ini meliputi:
- Admin ingin melihat peristiwa dalam log audit dengan detail tambahan tentang pengguna, paket akses, atau objek lain yang bukan merupakan bagian dari rekaman audit itu sendiri.
- Admin ingin melihat semua pengguna yang ditambahkan ke aplikasi dari ID Microsoft Entra dan hak akses mereka di repositori aplikasi itu sendiri, seperti database SQL.
Jenis laporan ini tidak disertakan dalam ID Microsoft Entra. Namun, Anda dapat membuat laporan ini sendiri dengan mengekstrak data dari ID Microsoft Entra dan menggabungkan data dengan menggunakan kueri kustom di Azure Data Explorer.
Mengkueri data di Azure Monitor
Jika Anda mengirim audit, masuk, atau log Microsoft Entra lainnya ke Azure Monitor, Anda dapat memasukkan log tersebut dari ruang kerja Azure Monitor Log Analytics tersebut dalam kueri Anda, tanpa perlu menyalin data ke Azure Data Explorer. Untuk informasi selengkapnya tentang hubungan antara Azure Monitor dan Azure Data Explorer, lihat Menyurvei data di Azure Monitor menggunakan Azure Data Explorer.
Contoh ini dibangun di atas tutorial untuk mengisi Azure Data Explorer dari Tata Kelola ID Microsoft Entra, dan menunjukkan bergabung dengan log audit Microsoft Entra yang disimpan di Azure Monitor seperti AuditLogs
paket akses Microsoft Entra yang disimpan di Azure Data Explorer sebagai EntraAccessPackages
.
Masuk ke Pusat Admin Microsoft Entra.
Pilih Pengaturan diagnostik.
Pilih ruang kerja Analitik Log tempat Anda mengirim log.
Pada gambaran umum ruang kerja Analitik Log, rekam ID langganan, nama sumber daya, dan nama ruang kerja.
Masuk ke portal Microsoft Azure.
Pastikan kluster Azure Data Explorer Anda tercantum.
Pilih + Tambahkan>Koneksi.
Di jendela Tambahkan Koneksi, masukkan URL ke dalam ruang kerja Log Analytics. URL dibentuk dari nama host khusus cloud, ID langganan, nama grup sumber daya, dan nama ruang kerja Azure Monitor Log Analytics, seperti yang dijelaskan di Tambahkan ruang kerja Log Analytics.
Setelah koneksi dibuat, ruang kerja Analitik Log Anda muncul di panel kiri dengan kluster Azure Data Explorer asli Anda.
Pilih Query, lalu pilih kluster Azure Data Explorer Anda.
Pada panel kueri, lihat tabel Azure Monitor yang berisi log Microsoft Entra di kueri Azure Data Explorer Anda. Contohnya:
let CL1 = 'https://ade.loganalytics.io/subscriptions/*subscriptionid*/resourcegroups/*resourcegroupname*/providers/microsoft.operationalinsights/workspaces/*workspacename*'; cluster(CL1).database('*workspacename*').AuditLogs | where Category == "EntitlementManagement" and OperationName == "Fulfill access package assignment request" | mv-expand TargetResources | where TargetResources.type == 'AccessPackage' | project ActivityDateTime,APID = toguid(TargetResources.id) | join EntraAccessPackages on $left.APID == $right.Id | limit 100
Membawa data dari sumber lain
Anda dapat membuat tabel tambahan di Azure Data Explorer untuk menyerap data dari sumber lain. Jika data berada dalam file JSON (mirip dengan contoh sebelumnya) atau file CSV, Anda dapat membuat tabel pada saat Anda pertama kali mendapatkan data dari file. Setelah tabel dibuat, Anda juga dapat menggunakan LightIngest untuk menyerap data ke Azure Data Explorer dari file JSON atau CSV.
Untuk informasi selengkapnya tentang penyerapan data, lihat gambaran umum penyerapan data Azure Data Explorer.
Contoh: Menggabungkan penetapan aplikasi dari Microsoft Entra dan sumber kedua untuk membuat laporan semua pengguna yang memiliki akses ke aplikasi di antara dua tanggal
Laporan ini menggambarkan bagaimana Anda dapat menggabungkan data dari dua sistem terpisah untuk membuat laporan kustom di Azure Data Explorer. Ini menggabungkan data tentang pengguna, peran mereka, dan atribut lain dari dua sistem ke dalam format terpadu untuk analisis atau pelaporan.
Contoh berikut mengasumsikan bahwa tabel bernama salesforceAssignments
diisi dengan data yang berasal dari aplikasi lain. Tabel memiliki kolom UserName
, Name
, EmployeeId
, Department
, JobTitle
, AppName
, Role
, dan CreatedDateTime
.
// Define the date range and service principal ID for the query
let startDate = datetime("2023-06-01");
let endDate = datetime("2024-03-13");
let servicePrincipalId = "<your service principal-id>";
// Pre-process AppRoleAssignments with specific filters and projections
let processedAppRoleAssignments = AppRoleAssignments
| where ResourceId == servicePrincipalId and todatetime(CreatedDateTime) between (startDate .. endDate)
| extend AppRoleId = tostring(AppRoleId)
| project PrincipalId, AppRoleId, CreatedDateTime, ResourceDisplayName; // Exclude DeletedDateTime and keep ResourceDisplayName
// Pre-process AppRoles to get RoleDisplayName for each role
let processedAppRoles = AppRoles
| mvexpand AppRoles
| project AppRoleId = tostring(AppRoles.Id), RoleDisplayName = tostring(AppRoles.DisplayName);
// Main query: Process EntraUsers by joining with processed role assignments and roles
EntraUsers
| join kind=inner processedAppRoleAssignments on $left.ObjectID == $right.PrincipalId // Join with role assignments
| join kind=inner processedAppRoles on $left.AppRoleId == $right.AppRoleId // Join with roles to get display names
// Summarize to get the latest record for each unique combination of user and role attributes
| summarize arg_max(AccountEnabled, *) by UserPrincipalName, DisplayName, tostring(EmployeeId), Department, JobTitle, ResourceDisplayName, RoleDisplayName, CreatedDateTime
// Final projection of relevant fields, including source indicator and report date
| project UserPrincipalName, DisplayName, EmployeeId=tostring(EmployeeId), Department, JobTitle, AccountEnabled=tostring(AccountEnabled), ResourceDisplayName, RoleDisplayName, CreatedDateTime, Source="EntraUsers", ReportDate = now()
// Union with processed salesforceAssignments to create a combined report
| union (
salesforceAssignments
// Project fields from salesforceAssignments to align with the EntraUsers data structure
| project UserPrincipalName = UserName, DisplayName = Name, EmployeeId = tostring(EmployeeId), Department, JobTitle, AccountEnabled = "N/A", ResourceDisplayName = AppName, RoleDisplayName = Role, CreatedDateTime, Source = "salesforceAssignments", ReportDate = now()
)