16. Audit Trail & Log Aktivitas Keamanan

Ringkasan

Modul Audit Trail mencatat seluruh riwayat aktivitas administratif pengguna di dalam sistem (misalnya: pembuatan pengguna, mutasi peran, perubahan tema, pembaruan kredensial integrasi, dan ubah password) demi kepatuhan keamanan (*compliance*).


Cara Kerja

Helper terpusat logActivity pada src/lib/audit.ts menyimpan riwayat audit log secara otomatis ke dalam tabel database MySQL AuditLog.

mermaid
sequenceDiagram
    autonumber
    actor Admin
    participant tRPC as usersRouter.updateRole
    participant Audit as Helper logActivity (src/lib/audit.ts)
    participant DB as MySQL (Tabel AuditLog)
    
    Admin->>tRPC: Ubah peran User A menjadi Manager
    tRPC->>DB: Perbarui data user
    tRPC->>Audit: logActivity({ userId, action: "UPDATE", module: "USERS", details: "Role changed" })
    Audit->>DB: Catat ke AuditLog (userId, action, module, details, ipAddress, userAgent)

Berkas Terkait

  • src/lib/audit.ts — Helper fungsi pencatatan log aktivitas
  • src/server/api/routers/audit.ts — Router tRPC untuk query riwayat audit log dengan fitur pencarian & paginasi
  • src/app/(admin)/settings/audit/page.tsx — Halaman GUI pemantau Audit Trail Log