Rumah  >  Artikel  >  pangkalan data  >  Jejak audit dalam DBMS

Jejak audit dalam DBMS

PHPz
PHPzke hadapan
2023-08-27 14:17:09712semak imbas

DBMS 中的审计跟踪

Pengenalan

Jejak audit, juga dikenali sebagai log transaksi, ialah rekod dalam sistem pengurusan pangkalan data (DBMS) semua perubahan yang dibuat pada pangkalan data. Ia digunakan untuk menjejak dan memantau aktiviti pangkalan data, mengenal pasti dan menyelesaikan masalah, serta memastikan integriti dan keselamatan data. Dalam artikel ini, kami akan meneroka tujuan dan faedah jejak audit dalam DBMS, serta cara ia berfungsi, dan menyediakan contoh praktikal dan kod SQL untuk menggambarkan pelaksanaan dan penggunaannya.

Apakah jejak audit dalam DBMS?

Jejak audit ialah rekod kronologi semua transaksi pangkalan data, termasuk sisipan, kemas kini dan pemadaman. Ia menangkap nilai lama dan baharu data yang diubah suai, serta metadata seperti pengguna atau aplikasi yang bertanggungjawab untuk perubahan, tarikh dan masa perubahan, dan jenis perubahan (contohnya, masukkan, kemas kini, padam ).

Jejak audit boleh digunakan untuk menjejak dan memantau aktiviti pangkalan data, mengenal pasti dan menyelesaikan masalah serta memastikan integriti dan keselamatan data. Contohnya, jika pengguna memadamkan data penting secara tidak sengaja daripada pangkalan data, jejak audit boleh digunakan untuk mengenal pasti pengguna yang bertanggungjawab dan memulihkan data yang dipadamkan. Begitu juga, jika data rosak atau diubah suai dengan cara yang tidak dibenarkan, jejak audit boleh membantu mengenal pasti punca dan mengambil tindakan pembetulan.

Jenis jejak audit

Dalam sistem pengurusan pangkalan data (DBMS), jejak audit ialah rekod perubahan yang dibuat pada pangkalan data. Terdapat beberapa jenis jejak audit yang tersedia untuk menjejaki perubahan dalam DBMS. Tiga jenis laluan audit utama ialah jejak audit dalaman, luaran dan IRS (Perkhidmatan Hasil Dalaman A.S.).

  • Jejak Audit Dalaman − Jejak audit ini digunakan oleh organisasi untuk menjejaki perubahan yang dibuat pada pangkalan data mereka sendiri. Ia sering digunakan untuk memastikan integriti data, mengesan dan membetulkan ralat, dan memenuhi keperluan kawal selia.

  • Contoh − Syarikat mungkin menggunakan jejak audit dalaman untuk menjejaki perubahan yang dibuat pada rekod kewangan atau pangkalan data pelanggannya.

  • Jejak audit luaran − Jejak audit ini digunakan oleh organisasi atau juruaudit luar untuk menyemak data dalam pangkalan data Ia sering digunakan untuk mengesahkan ketepatan dan kebolehpercayaan data untuk tujuan kawal selia atau pematuhan.

  • .

    Contoh− Juruaudit luar boleh menggunakan jejak audit luaran untuk menyemak rekod kewangan syarikat bagi memastikan pematuhan dengan piawaian perakaunan.

  • Jejak Audit IRS - Jejak audit ini digunakan oleh Perkhidmatan Hasil Dalam Negeri (IRS) untuk menjejaki perubahan pada rekod cukai. Ia digunakan untuk memastikan ketepatan dan kesempurnaan maklumat cukai dan untuk mengesan dan mencegah penipuan cukai.

  • Contoh− IRS boleh menggunakan audit IRS untuk menjejaki perubahan pada rekod cukai individu, seperti perubahan pada pendapatan atau potongan.

Jenis jejak audit penting lain dan contohnya diterangkan di bawah.

  • Jejak audit berasaskan log − Jejak audit ini menggunakan fail log untuk merekodkan perubahan yang dibuat pada pangkalan data Fail log mengandungi maklumat tentang setiap perubahan, seperti masa perubahan dibuat, pengguna yang membuat perubahan, dan jenis perubahan (cth., masukkan, kemas kini, padam).

  • Contoh - Dalam pangkalan data kewangan, jejak audit berasaskan log boleh digunakan untuk menjejaki perubahan dalam baki akaun atau transaksi.

  • Jejak audit berasaskan pencetus − Jejak audit ini menggunakan pencetus, iaitu jenis objek pangkalan data khas yang diaktifkan apabila peristiwa tertentu berlaku (cth., satu baris disisipkan atau dikemas kini Pencetus boleh digunakan untuk merekodkan perubahan yang dibuat ke pangkalan data dalam jadual audit.

  • Contoh - Dalam pangkalan data perubatan, jejak audit berasaskan pencetus boleh digunakan untuk menjejaki perubahan pada rekod pesakit, seperti perubahan pada senarai ubat atau tanda vital.

  • Jejak audit berasaskan versi − Jejak audit ini menggunakan kawalan versi untuk menjejak perubahan pada pangkalan data. Setiap kali perubahan dibuat pada baris dalam pangkalan data, versi baharu baris dibuat dengan data yang dikemas kini. Versi lama baris dikekalkan, membolehkan anda melihat sejarah perubahan yang dibuat pada baris.

  • Contoh - Dalam pangkalan data pengurusan projek, jejak audit berasaskan versi boleh digunakan untuk menjejaki perubahan pada tugas projek, seperti perubahan pada tarikh akhir atau status penyiapan.

  • Shadow Tables - Jadual ini digunakan untuk menyimpan salinan baris apabila ia dikemas kini dalam jadual utama. Jadual bayangan mengandungi versi lama dan baharu baris, membolehkan anda melihat sejarah perubahan yang dibuat pada baris.

  • Contoh − Dalam pangkalan data pengurusan perhubungan pelanggan (CRM), jadual bayangan mungkin digunakan untuk menjejaki perubahan pada profil pelanggan, seperti perubahan pada maklumat hubungan atau sejarah pembelian.

SQL Contoh

Berikut ialah contoh jejak audit menggunakan SQL untuk menjejaki perubahan yang dibuat pada jadual bernama "pekerja" -

CREATE TABLE employees_audit (
   employee_id INTEGER,
   action VARCHAR(255),
   change_time TIMESTAMP,
   old_data JSON,
   new_data JSON
);

CREATE TRIGGER audit_employee_changes
AFTER INSERT OR UPDATE OR DELETE ON employees
FOR EACH ROW
BEGIN
   IF (TG_OP = 'DELETE') THEN
      INSERT INTO employees_audit (employee_id, action, change_time, old_data)
      VALUES (OLD.id, 'DELETE', NOW(), OLD.*);
   ELSEIF (TG_OP = 'UPDATE') THEN
      INSERT INTO employees_audit (employee_id, action, change_time, old_data, new_data)
      VALUES (OLD.id, 'UPDATE', NOW(), OLD.*, NEW.*);
   ELSE
      INSERT INTO employees_audit (employee_id, action, change_time, new_data)
      VALUES (NEW.id, 'INSERT', NOW(), NEW.*);
   END IF;
END;

Kod SQL ini mencipta jadual audit bernama "employees_audit" dan pencetus bernama "audit_employee_changes". Pencetus akan diaktifkan apabila baris dimasukkan, dikemas kini atau dipadamkan dalam jadual "pekerja".

Apabila pencetus diaktifkan, ia memasukkan baris baharu ke dalam jadual "audit_pekerja" dengan maklumat tentang perubahan yang dibuat. Lajur "tindakan" menentukan jenis perubahan (INSERT, UPDATE atau DELETE), lajur "change_time" merekodkan masa perubahan dibuat dan lajur "old_data" dan "new_data" mengandungi data sebelum dan selepas perubahan , masing-masing.

Sebagai contoh, jika baris dikemas kini dalam jadual "pekerja", pencetus akan memasukkan baris baharu ke dalam jadual "audit_pekerja" dengan tindakan "KEMASKINI", masa semasa, data lama daripada baris sebelum kemas kini, dan data baharu daripada baris selepas kemas kini. Ini membolehkan anda menjejaki perubahan yang dibuat pada jadual "pekerja" dari semasa ke semasa.

数据库管理系统中审计跟踪的好处

Terdapat beberapa faedah untuk melaksanakan jejak audit dalam DBMS −

  • Integriti dan keselamatan data − Jejak audit membantu memastikan integriti dan keselamatan data dengan menjejak dan memantau semua aktiviti pangkalan data. Ini boleh membantu untuk menghalang akses tanpa kebenaran, pengubahsuaian atau pemadaman data, serta mengesan dan membetulkan ralat atau rasuah.

  • 合规性 − 许多行业和组织对数据管理有严格的法规和合行业和组织对数据管理有严格的法规和合规要更合规要更保护通用数据保护条例(GDPR)或美国的医疗数据保险可移植性与责任法案( HIPAA.和符合规定的方式处理。

  • 故障排除和问题解决 − 审计跟踪可以用于识别和解决数据应的,数据应的,数据应或未经授权的访问。它们还可以通过提供导致问题的更改记录来帮助解决问题,决问题采取纠正措施。

  • 审计和法证分析 − 审计轨迹可用于审计和法证分析,以调分析,以调分析。活动。它们提供了所有数据库活动的详细记录,可用于识别和跟踪可疑活动。

结论

总之, 审计 追踪 是 dbms 中对 数据库 所 做 更改 的 记录。 它 用 于 确保 数据 的 完整性 完整性, 检测 和 纠正 错误, 并 满足 监管。 使用 多 种 类型器、基于版本和影子表。

Atas ialah kandungan terperinci Jejak audit dalam DBMS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam