Karena itu, keberadaan Log Audit Trail seharusnya tidak menjadi beban bagi pengguna aplikasi, walaupun tidak dapat dipungkiri bahwa sebagian pengguna justru merasa takut, dan seolah-olah dimata-matai dengan adanya Log Audit Trail. Tetapi dengan pengertian bahwa sudah menjadi tanggung jawab kita masing-masing untuk melakukan tugas tersebut, maka Log Audit justru bukan untuk menjadi bukti kesalahan agar dapat menghukum, tetapi justru menjadi pelindung, dan salah satu bukti konsistensi dan kinerja yang baik. Andaikan terjadi kesalahan yang tidak disengaja, hal tersebut akan bermanfaat bagi kita untuk melakukan instospeksi dan koreksi sehingga menghasilkan sesuatu yang lebih baik lagi. Cara Kerja Di luar aplikasi database, mungkin Anda sering mendengar berbagai macam log, misalnya Log Event pada sistem operasi Windows. Log tersebut otomatis diciptakan untuk setiap event yang terjadi pada sistem. Log Audit Trail pada aplikasi database bekerja seperti halnya log pada umumnya, di mana log otomatis tercipta, tetapi khusus untuk event operasi database yang dilakukan pengguna pada aplikasi. Log Audit Trail terpasang pada setiap event pengoperasian database, yang umum sebagai berikut:
Format Berikut adalah pengembangan untuk masing-masing jenis media penyimpanan.
Lalu, informasi apa saja yang perlu disimpan dalam sebuah Log Audit Trail aplikasi database? Beberpa field di bawah dapat Anda pertimbangkan:
Pemrograman Log Audit Trail Untuk melakukan pemrograman Log Audit, Anda perlu menentukan operasi pada table, mana saja yang perlu dilakukan proses penyimpanan Log Audit, karena mungkin Anda tidak memerlukan log dari seluruh table. Proses log sedikit banyak memerlukan resource dari kapasitas harddisk, sehingga dapat mempengaruhi performance aplikasi secara keseluruhan, terutama jika aplikasi Anda digunakan dalam frekuensi yang cukup tinggi, di mana terjadi operasi database yang cepat dan terus-menerus. Untuk itu, Anda dapat memilih table master ataupun table transaksi yang penting. Sekarang, persoalan utamanya bagi seorang programmer adalah bagaimana untuk membuat Log Audit Trail? Anda dapat pertimbangkan beberapa pendekatan teknink pemrograman berikut ini. Menyimpan Query
Trigger dilakukan pada level database, sehingga pemrogramannya dilakukan pada back-end/database. Sementara contoh log audit dengan menyimpan query sebelum nya dilakukan pada level aplikasi, di mana pemrogramannya tergantung dengan bahasa pemrograman yang Anda gunakan (misalnya VB, C, Delphi). Teknik di atas menyimpan log pada table-table yang terpisah, sesuai dengan field yang dimiliki oleh table tersebut. Dengan demikian, log yang dihasilkan akan lebih baik dan deskriptif, mampu menampilkan perubahan dari data lama ke data baru. Konsekuensi teknik di atas, relatif memerlukan pemrograman yang lebih kompleks. Anda juga harus terus meng-update table log jika terjadi perubahan struktur field pada table master/transaksi yang di log, agar terus tercipta integrasi anatara table log dan table utamanya. Selain itu sebagai syarat mutlak, tentunya database Anda harus mendukung trigger. Perlindungan Data Log Bisa jadi secara sistem yang terkomputerisasi, Log Audit Trail Anda terjamin mampu merekam setiap kegiatan pengguna dan melaporkannya secara instant, disertai grafik dan warna-warni yang aduhai. Tetapi kesalahan yang kerap terjadi, sistem dikuasai hanya oleh satur orang. Orang tersebut yang membuat aplikasi Log Audit, dapat melihat data log, dan bahkan dapat saja memodifikasinya kapan saja.. Jika orang tersebut adalah Anda, lebih baik Anda membuat surat resign daripada membanggakan hal tersebut. Mengapa demikian? Melindungi data log, sama halnya dengan melindungi pengguna aplikasi, dan bahkan melindungi sistem secara keseluruhan. Karena itu sebelum mengimplementasikan Log Audit Trail, pastikan Anda tidak melewatkan hal penting ini, atau Log Audit Trail Anda hanyalah pekerjaan yang sia-sia. Hal yang harus dilakukan adalah membagi wewenang dan tanggung jawab pada beberapa personil yang berbeda. Contoh ilustrasinya, Mr. X bertanggung jawab atas keamanan dan maintenance data log. Beliau mungkin dapat melakukan backup secara periodik, tetapi tidak perlu memiliki fasilitas untuk mengakses content data log tersebut. Anda sebagai programmer yang mewujudkan Log Audit Trail, tetap tidak memiliki hak untuk memodifikasi data log yang dihasilkan oleh aplkasi Anda, di mana Anda harus melewati ruangan Mr. X yang bertubuh kekar, jika ingin ke server data log. Anda juga harus menyediakan fitur user friendly untuk pimpinan Anda, yang sewaktu-waktu dapat mengakses data log untuk melakukan review. Jika sampai tahap ini Anda merasa dunia tidak berlaku adil bagi Anda, itu adalah indikasi bahwa pimpinan tidak memberi gaji yang cukup. Masih terdapat beberapa cara untuk melindungi data log, misalnya dengan mengandalkan teknologi digital signature, ataupun menggunakan media penyimpanan yang hanya dapat ditulis sekali (write-once). Demikianlah data log harus mendapat perlakuan istimewa untuk mencegah akses yang tidak diinginkan (atau sangat diinginkan oleh pihak tertentu), dengan demikian Log Audit Anda memiliki kegunaan yang sebenarnya. Software Log Audit Trail Untuk keperluan itu, Anda dapat menggunakan produk software third party yang menyediakan kemampuan Log Audit Trail. Tentu saja Anda harus tetap meluangkan waktu untuk memilih software yang paling cocok dengan database, aplikasi, dan kebutuhan Anda. Beberapa pilihannya adalah:
Banyak lagi pilihan lainnya yang dapat Anda temukan di internet. Sebagai panduan dalam melakukan review software Log Audit sebelum Anda memutuskan untuk menggunakannya, ada baiknya Anda memperhatikan point-point berikut:
Penutup Jangan melupakan file management, dengan mempertimbangkan backup log secara periodik. Mungkin banyak yang beranggapan Log Audit Trail dianggap sebagai fitur pelengkap aplikasi, yang pada praktiknya mungkin hanya digunakan pada saat tertentu. Tetapi di sisi lain, Log Audit Trail menjadi begitu penting saat terjadi sebuah permasalahan. Tentu saja, jika Log Audit Trail tidak perlu digunakan untuk melacak kesalahan, sudah seharusnya Anda bersyukur, karena hal tersebut merupakan salah satu indikasi sistem aplikasi Anda telah berjalan baik. |