首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >审计日志策略

审计日志策略
EN

Stack Overflow用户
提问于 2009-03-05 23:57:03
回答 5查看 3.4K关注 0票数 7

我正试图在我的应用程序中决定审计日志记录的最佳方法。日志的主要原因是报告事件序列(更改)。

我有一个对象的层次结构,我需要在该层次结构的任何部分发生变化时,在稍后的某个日期创建报告。

我想我有三个选择:

每个表都有一个日志,因此与对象的层次结构相匹配,然后为report.

  • Flatten创建一个视图--层次结构,并对表进行去规范化,使报告变得更容易--简单地选择statement.

  • Have一个日志表,并记录每个更改的记录,从而使报告更难但更灵活。

我目前倾向于选择1。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2009-03-06 00:01:01

审计日志基本上是按时间顺序列出发生的事件、谁执行了这些事件以及事件是什么。

我认为平面观会更好,因为它可以很容易地订购和查询。所以我更倾向于你的选择2/3。

包括事务类型、时间、用户id、更改内容的描述以及与产品相关的其他相关信息。

随着时间的推移,您也可以将内容添加到您的产品中,您不需要不断地修改您的审计日志模块。

票数 5
EN

Stack Overflow用户

发布于 2010-01-08 23:06:30

尽管这个话题很古老,但我还是得谈一谈。

只有一个审计表通常是一个糟糕的主意,因为当所有的东西都击中该表时,您将在数据库中创建锁定问题。对每个表使用单独的审核表。

让应用程序进行审计也是一个糟糕的想法。审计必须在数据库级别进行,否则可能会丢失一些信息。数据并不仅从大多数数据库中的应用程序中更改;当您需要将所有产品的价格提高10%时,没有人会一次从用户界面更改所有产品的价格。审计应该捕获所有的更改,而不仅仅是其中的一些。这应该在大多数数据库中的触发器中完成( server 2008具有内置的审计功能)。一些最糟糕的潜在更改(员工欺诈或想恶意销毁数据)也经常来自应用程序以外的其他地方,特别是如果允许对用户进行表级访问(在任何财务数据库或包含个人信息的数据库中都不应该这样做)。来自应用程序的审计不会捕捉到这一点。开发人员常常忘记,在保护他们的数据时,外部源并不是唯一的威胁。

票数 10
EN

Stack Overflow用户

发布于 2009-03-06 00:15:07

如果是为了审计目的,我将使用真正的仅附加介质,而不是同一个db中的表/表。

您建议它用于更改历史记录--在这种情况下,我将重构您的应用程序/db,以便首先记录实际事件,而不仅仅是当前状态。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/617225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档