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:
createtable SensitiveInformation
(
SensitiveNumber int notnull,
SensitiveData varchar(100)notnull)
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:
createtable SensitiveInformationAudit
(
SensitiveNumberNew int null,
SensitiveNumberOld int null,
SensitiveDataNew varchar(100)null,
SensitiveDataOld varchar(100)null,
Action varchar(50)notnull,
AuditDate datetime notnull,
LastUpdatedUser varchar(100)notnull)
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.
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.
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.
NormalTable
danAuditNormalTable
.Jawaban:
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:
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:
Tabel Audit biasanya diisi melalui penggunaan Pemicu Database. Dengan kata lain, ketika
X
tindakan terjadiSensitiveInformation
, masukkan detailnya diSensitiveInformationAudit
.sumber
Action
bidangnya adalahUPDATE
atauINSERT
atauDELETE
?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.
sumber
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.
sumber
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.
sumber