sql-server - Linq to SQL 审计跟踪/审计日志 : should I use triggers or doddleaudit?

标签 sql-server linq-to-sql logging audit

我正在开发一个商业应用程序,它要求对所有数据库事务进行审计(主要用于法律目的)。

我浏览了整个网络并发现了 DoddleAudit ( http://www.codeplex.com/DoddleAudit ),它基本上为 Linq to SQL 添加了跟踪更改的能力。就像人们在 Hibernate 中使用拦截器一样。

让我担心的是可靠性问题。虽然 ORM 层上的审计日志可能会记录通过代码发生的所有事情,但如果有人手动对数据库或黑客等发出 SQL 语句,它不会记录任何更改。基本上我正在处理的信息是有些敏感。这就是让我相信触发器可能是最可靠的方法的原因。 (?)

其他记录日志的方法是通过代码,或者通过看起来有点老套和不可靠的存储过程。所以我基本上只能使用触发器或类似 DoddleAudit 的工具。

我希望在选择任何一个之前得到一些意见。

最佳答案

如果审核是出于合法目的,那么您必须通过经过认证的合规性方法来进行审核。此类方法非常针对通过审计缓解的特定威胁。您需要阅读 Auditing (Database Engine)并且很可能会咨询专家,他们可以为您提供有关围绕数据审计的各种法律框架的指导,具体到您的位置和领域。

SQL Server 具有符合 C2 的审核模式,请参阅 c2 audit mode Option ,这是一种认证兼容模式。 Linq2sql 审计或自定义数据审计可能是工程的辉煌壮举,但如果他们没有获得合规性认证(他们没有),他们将一滴水都没有。

关于sql-server - Linq to SQL 审计跟踪/审计日志 : should I use triggers or doddleaudit?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2136657/

相关文章:

c# - Linq to SQL 外键

html - tabindex in anchor tag,下沉图片大小

java - 如何从数据库获取 spring-logback 的路径

sql-server - 如何使用 Flutter 连接到 SQL Server?

python - 如何将 microsoft azure SQL 服务器连接到 django webapp

sql-server - SQL Server 中是否有标量数据库变量?

docker - 如何启用将Influxdb登录到Docker中的文件

SQL选择动态记录数

.net - CS0012 : The type 'System.Data.Linq.DataContext' is defined in an assembly that is not referenced

asp.net - LINQ 问题 : FK-Table not set correctly