it-swarm.com.de

Was ist eine Audit-Tabelle?

Was sind Audit-Tabellen?

Wie sind sie nützlich?

Ich bin ihnen beim Lesen begegnet dieser Artikel .

24
Matt Fenwick

Audit-Tabellen werden verwendet, um Transaktionen für eine bestimmte Tabelle oder Tabellen zu verfolgen. Sie ermöglichen es Ihnen, ein laufendes "Protokoll" anzuzeigen (mangels eines besseren Wortes). Angenommen, Sie haben eine Tabelle wie diese:

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

Möglicherweise haben Benutzer und/oder Anwendungen Zugriff auf das Einfügen, Aktualisieren und Löschen aus dieser Tabelle. Aufgrund der Vertraulichkeit dieser Daten möchten Sie möglicherweise schnell und einfach nachverfolgen können, wer was auf diesem Tisch tut.

Sie haben also eine Audit-Tabelle, um zu verfolgen, was auf dieser Tabelle getan wird. In der Regel umfasst dies die grundlegenden Wer, Was, Wann.

Eine Audit-Tabelle könnte folgendermaßen aussehen:

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

Audit-Tabellen werden normalerweise mithilfe von Datenbank-Triggern gefüllt. Mit anderen Worten, wenn die Aktion X für SensitiveInformation ausgeführt wird, fügen Sie die Details in SensitiveInformationAudit ein.

22
Thomas Stringer

Ein weiterer wichtiger Aspekt von Audittabellen, der bisher nicht hervorgehoben wurde, ist, dass zusätzlich zu der Verfolgung, wer was mit welchem ​​Datensatz gemacht hat (häufig auch vor und nach Snapshots) Audit-Tabellen werden einmal geschrieben =.

Datensätze in einer Prüftabelle dürfen nicht aktualisiert oder gelöscht werden (siehe Hinweis), sondern nur eingefügt . Dies wird manchmal mithilfe von Triggern oder einfach nur der Anwendungslogik auferlegt, ist jedoch in der Praxis wichtig, da es Ihnen den "Beweis" gibt, dass nichts auf eine Weise manipuliert wurde, die schwer zu erkennen ist.

Hinweis: Das Löschen alter Datensätze aus einer Audittabelle erfordert spezielle Prozesse, die häufig vom Management oder von Auditoren genehmigt werden müssen.

24
Joel Brown

Audit-Tabellen werden im Allgemeinen verwendet, wenn Sie Änderungen in vertraulichen/vertraulichen Tabellen verfolgen möchten. Wenn es eine Tabelle gibt, die für die Vergütung und den Bonusprozentsatz verwendet wird, und die HR-Anwendung die Gehälter basierend auf diesen Daten vergütet, kann ein Benutzer mit Schreibzugriff auf diese Tabelle nicht autorisierte Zahlungsänderungen vornehmen.

Gleichzeitig sollte es einigen Benutzern gestattet sein, an diesen Tabellen zu arbeiten. Hier kommen Audit-Tabellen ins Spiel. Audit-Tabellen können verwendet werden, um den Vorher- und Nachher-Wert der geänderten Daten zu verfolgen. Normalerweise speichern sie auch zusätzliche Informationen wie die Person, die die Änderung vorgenommen hat, und den Zeitpunkt, zu dem die Änderung vorgenommen wurde.

Daher halten diese Prüftabellen befugte Benutzer davon ab, nicht autorisierte Aktivitäten auszuführen. Sie bieten auch die Möglichkeit, zu den korrekten Werten zurückzukehren.

SQL 2008 und höher verfügen über eine integrierte Funktion namens Change Data Capture , die hierfür verwendet werden kann.

4
StanleyJohns

Überwachungstabellen werden von nativen oder Drittanbieter-Überwachungstools verwendet, die Datenänderungen erfassen, die in einer Datenbank aufgetreten sind, einschließlich der Informationen darüber, wer die Änderung vorgenommen hat, welche Objekte davon betroffen waren, wann sie vorgenommen wurden, sowie die Informationen zu SQL-Anmeldung, Anwendung und Host, mit denen die Änderung vorgenommen wurde. Alle erfassten Informationen werden in den Überwachungstabellen gespeichert und sollten durch Exportieren oder Abfragen in benutzerfreundlichen Formaten verfügbar sein.

0
Ivan Stankovic