Apa itu tabel audit?


24

Apa itu tabel audit?

Apa manfaatnya?

Saya menemukan mereka membaca artikel ini .


2
Itu hanya meja biasa. Begitulah cara Anda menggunakannya dan apa yang Anda masukkan ke dalamnya yang menjadikannya "tabel audit".
Nick Chammas

1
Mereka tidak sama. Anda memiliki tabel audit, yang terpisah dari tabel yang Anda audit. Jadi, Anda akan memiliki dua tabel, NormalTabledan AuditNormalTable.
Thomas Stringer

1
Matt, Shark punya jawaban untuk itu. @ Hiu, saya menekankan titik bahwa tabel audit bukan membangun basis data khusus (karena saya mendapat kesan OP mungkin percaya itu). Ini hanya meja lain yang dibuat dan digunakan pengembang untuk melacak informasi tertentu.
Nick Chammas

@NickChammas Oh, tentu saja, saya benar-benar mengerti apa yang Anda maksud. Tetapi dengan komentar OP, saya pikir dia tidak melakukannya.
Thomas Stringer

Jika Anda mempertimbangkan arti kamus audit, Anda mungkin akan sampai pada kesimpulan bahwa "tabel audit" adalah nama yang salah. Audit harus eksternal untuk basis data: jika dikodekan oleh bisnis aplikasi itu sendiri, bagaimana bisa itu audit?
onedaywhen

Jawaban:


22

Tabel Audit digunakan untuk melacak transaksi terhadap tabel atau tabel tertentu. Mereka memungkinkan Anda untuk melihat "log" yang sedang berlangsung (karena tidak ada kata yang lebih baik). Misalnya, Anda memiliki tabel seperti ini:

create table SensitiveInformation
(
    SensitiveNumber int not null,
    SensitiveData varchar(100) not null
)
go

Mungkin ada pengguna dan / atau aplikasi yang memiliki akses untuk menyisipkan, memperbarui, dan menghapus dari tabel itu. Tetapi karena sifat sensitif data itu, Anda mungkin ingin memiliki cara cepat dan mudah untuk melacak siapa yang melakukan apa yang ada di tabel itu.

Jadi, Anda memiliki Meja Audit untuk melacak apa yang sedang dilakukan di atas meja itu. Biasanya itu akan mencakup dasar Who , What , When .

Tabel audit bisa terlihat seperti ini:

create table SensitiveInformationAudit
(
    SensitiveNumberNew int null,
    SensitiveNumberOld int null,
    SensitiveDataNew varchar(100) null,
    SensitiveDataOld varchar(100) null,
    Action varchar(50) not null,
    AuditDate datetime not null,
    LastUpdatedUser varchar(100) not null
)
go

Tabel Audit biasanya diisi melalui penggunaan Pemicu Database. Dengan kata lain, ketika Xtindakan terjadi SensitiveInformation, masukkan detailnya di SensitiveInformationAudit.


Apakah Actionbidangnya adalah UPDATEatau INSERTatau DELETE?
leeand00

24

Salah satu aspek penting lain dari tabel audit yang belum disorot sejauh ini, adalah bahwa selain melacak siapa yang melakukan apa pada catatan mana (sering termasuk sebelum dan setelah foto) tabel audit ditulis-sekali .

Catatan dalam tabel audit mungkin tidak diperbarui atau dihapus (lihat catatan), hanya disisipkan . Ini kadang-kadang dipaksakan menggunakan pemicu atau mungkin hanya logika aplikasi, tetapi penting dalam praktiknya karena memberi Anda "bukti" bahwa tidak ada yang dirusak dengan cara yang sulit dideteksi.

Catatan: Membersihkan catatan lama dari tabel audit membutuhkan proses khusus yang seringkali harus disetujui oleh manajemen atau auditor.


4

Tabel audit umumnya digunakan ketika Anda ingin melacak perubahan di tabel sensitif / rahasia. Jika ada tabel yang digunakan untuk tingkat pembayaran dan persentase bonus, dan aplikasi SDM membayar gaji berdasarkan data ini, maka pengguna dengan akses tulis ke tabel ini dapat melakukan modifikasi pembayaran yang tidak sah.

Pada saat yang sama, beberapa pengguna harus diizinkan bekerja di tabel ini. Di sinilah tabel audit masuk. Tabel audit dapat digunakan untuk melacak nilai sebelum dan sesudah data yang diubah. Biasanya mereka juga menyimpan informasi tambahan seperti orang yang melakukan perubahan dan waktu di mana perubahan dilakukan.

Oleh karena itu tabel audit ini menghalangi pengguna yang diberdayakan untuk melakukan kegiatan yang tidak sah. Mereka juga menyediakan cara untuk kembali ke nilai yang benar.

SQL 2008 dan di atasnya memiliki fitur bawaan yang disebut Change Data Capture yang dapat digunakan untuk ini.


2
Sedihnya Ubah pengambilan data sangat buruk untuk audit karena Anda tidak dapat menangkap pengguna yang melakukan perubahan (kecuali jika Anda sudah menyimpannya di db).
HLGEM

0

Tabel audit digunakan oleh alat audit asli atau pihak ke-3 yang menangkap perubahan data yang terjadi pada basis data, biasanya termasuk informasi tentang siapa yang membuat perubahan, objek mana yang dipengaruhi olehnya, kapan objek itu dibuat serta informasi tentang Login SQL, aplikasi dan host digunakan untuk melakukan perubahan. Semua informasi yang ditangkap disimpan dalam tabel audit dan harus tersedia dalam format yang ramah pengguna melalui ekspor atau kueri.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.