问题标签 [auditing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
147 浏览

calendar - 跟踪在 MSCRM 中花费的时间

我的要求是我需要能够跟踪每个销售人员的活动时间。还有一个报告,管理员可以运行该报告来查看每个用户在电话/销售/机会等上花费的时间。

我应该使用什么来跟踪用户使用特定活动的时间?

我想我可以使用审计来做到这一点。

你有更好的想法吗?

0 投票
1 回答
1501 浏览

tfs - TFS 2012:将二进制文件与构建和源代码相关联

我开始深入研究 TFS 2012,并且对这些层以及构建服务器、控制器和代理的工作方式以及不同的构建脚本如何具有不同的配置和项目有了基本的了解。

但是,我正在努力解决的一件事是对我们的源代码控制解决方案的要求,即我需要能够证明特定的变更集或货架集产生了特定的构建。也就是说,给定一个特定的二进制文件,我可以指向生成该二进制文件的发布变更集。我还应该能够指向合并到发布分支中的测试变更集。这里的想法不仅仅是职责分离,而是验证由于发布和测试变更集是相同的,代码审查员没有将代码注入项目中。

我读过一篇关于“二元促销”的博文——这个概念在我的情况下有用吗?我很难找到如何在 TFS 中设置此二进制促销。

0 投票
1 回答
3337 浏览

hibernate - Spring 数据审计在我的项目中不起作用

我正在尝试配置弹簧数据审计。

我使用 Hibernate 4.1.6、hibernate-jpa 2.0、spring-data-jpa 1.1.0、spring 3.1.2(我在依赖项中添加了 spring-aspects,因为没有它会出错)。

我的项目配置基于此示例,并进行了一些修改:

  • 我的实体不扩展 AbstractAuditable 但实现 Auditable 接口
  • 我没有将 jadira 属性放在哪里的 persistence.xml,而是在 DateTime 属性上使用了以下注释:@Type(type="org.jadira.usertype.dateandtime.joda.PersistentDateTime")

我没有任何错误,但审核不起作用:创建记录后审核字段为空。

有谁知道我做错了什么?我可以检查什么?欢迎任何建议。

这是实体代码:

这是弹簧上下文配置:

我的审计员​​知道:

我的域-orm.xml:

更新:我认为问题与未注册的 AuditingEntityListener 有关。我添加了 orm.xml 配置,但这并没有解决。我认为听众仍然没有注册。

0 投票
2 回答
2422 浏览

oracle - Oracle 审计授予 dba 角色

在 XP SP2 虚拟机中运行 Oracle 11gR1。完全披露:这是一个任务。

每当用户被授予 DBA 角色时,我都会尝试进行审核,并在事件发生时触发电子邮件。

我相信该命令AUDIT DBA;将审核对 DBA 角色执行的所有操作。我有一个完整的工作程序来处理电子邮件部分,但我不知道标准审计以与细粒度审计策略相同的方式触发该程序的方式。

我尝试过使用该政策

其中 FGA_NOTIFY 是电子邮件过程。但我收到“不允许向 SYS 拥有的对象添加策略”的通知。搜索 Oracle 的文档,我发现没有办法解决这个问题。

我的问题是:当用户获得 DBA 角色时,谁能建议一种审计和 Oracle 数据库的方法,这也可以触发电子邮件通知?

在此先感谢您的帮助!

0 投票
1 回答
677 浏览

svn - 配置 SVN/TFS 以监视文件夹并静默签入文件更改(出于审核目的)?

(也发布在ServerFault,但意识到这里会有更多的 SVN/TFS 用户)

底线问题:

  • 是否可以创建一个运行无人值守服务的 SVN/TFS 存储库,该服务会静默检查对目标文件夹中的文件所做的所有更改以及更改者的用户名?它必须对进行文件更改的人完全不可见。

这是我的问题的背景:

许多人为我们的 ASP.NET 网站部署更改……设计师部署 HTML 和 CSS 更改,.NET 开发人员部署 ASPX、DLL 文件,图形设计师部署图像等。

从理论上讲,所有这些部署都是以一种非常可控的方式完成的——源代码在 SVN 中维护,部署包被创建和版本控制,部署首先在预生产站点上进行测试,实时部署被记录。从理论上讲,我们总是知道哪些文件被更改、何时、为什么以及由谁更改。

但是,有时有人直接在现场进行更改并绕过所有程序。通常这是因为一些紧急情况。有时所做的更改会导致网站出现问题……而且没有人拥有它!

所以我们正在寻找的是某种无人值守的服务,它可以捕获服务器上特定文件夹的所有文件更改。它应该在文件更改发生时“签入”文件更改,即捕获整个文件的新版本,并捕获用户的 Windows 登录。换句话说,每个文件都会获得对其所做更改的历史记录,就像 SVN、TFS 等一样。我们应该能够在文件历史记录中的版本之间进行比较。它捕获的 99% 应该是通过适当的程序进行的更改 - 但它也应该包含 1% 没有的更改。

需要明确的是 - 我们不是在寻找发送“文件完整性”警报的服务,如 OSSEC。我们只希望捕获每个文件更改,因此如果出现问题,我们可以检查更改日志并找出在常规程序之外做了什么。此外,它显然应该是完全自动化的——要求用户遵循额外的程序不是我们在这里所追求的!

此外,定期进行备份然后查找它们之间的差异不是我们想要的,因为这不会告诉我们是谁进行了更改。

0 投票
2 回答
343 浏览

wcf - 具有自定义数据和事件侦听器的休眠会话

对于我正在处理的 WCF 项目,我需要为我们保留的实体实现某种审计日志。基本上,审计跟踪将包括 4 个必填字段

  • 创建日期时间
  • 创建用户ID
  • 更新日期时间
  • 更新用户 ID

我正在尝试通过我的 DataAccess 层中的 nHibernate 事件侦听器来实现这一点,因为我认为这不应该在域层中。到目前为止,我已经让 DateTime 的东西按预期工作,但还没有弄清楚如何在事件侦听器中检索用户 ID。理想情况下,我希望将用户 ID 作为某种自定义数据附加到 nHibernate 会话对象。

非常感谢任何建议。

0 投票
4 回答
3155 浏览

java - java中的审计和数据历史

我有一组域对象及其用于应用程序配置的相关表。经过身份验证的用户可以通过表示层更改这些域对象数据。这些 域对象具有非常重要的数据,我需要找出谁以及何时更改了他们的数据。我的应用程序的数据访问层是使用 JPA、Hibernate 和 Spring 实现的。我需要记录每次更改,包括:用户 + 操作日期 + 操作类型 + 以前的值。

例如,让我们考虑一个微不足道的域对象(为了这个问题的目的而简化):

假设有一个Connection具有以下值的实例:

在用户(例如John)登录 UI 并将此连接更改为以下值后:

如您所见,John 将协议从更改HTTPSHTTP(安全协议更改为不安全!),因此我需要将Connection实例的历史记录保存在另一个表中以进行审计。

我已经为我研究了一个解决方案,并发现了以下结果:

  1. 触发器:一种可能性是在表上定义触发器,这种方式的缺点是依赖于数据库。
  2. Hibernate Envers:这个解决方案很好,但让我的DAO层依赖于 Hibernate,我不会享受 JPA 及其提供者独立性的好处。
  3. Spring Data Commons + hades:很好,但通过MappedSuperClass注释向任何实体添加了一些列,例如:Create User、、和。这意味着存储实体的完整历史和状态。Create DateLast Update UserLast Update Date
  4. 我自己的设计/实现: *我可以为这个目标实现一个层,但我不喜欢这个解决方案,因为我认为这个要求对我来说并不特别,我认为其他人已经按照最佳实践解决了它(我应该' t重新发明轮子)

有没有人对这个问题有任何建议或解决方案?

(对不起,如果我的问题很长,对于专家来说可能太基础了)

0 投票
1 回答
723 浏览

spring - 在 webapp 中审计 JPA 实体:如何获取登录用户?

我对我的 JPA 实体有一个简单的审计要求:保留创建和最后修改日期和作者。作者应该是当前登录的用户。

我想在基类或 JPA 拦截器(没有额外的框架)上使用@PrePersist和注释来实现这个。@PreUpdate

但是,在这两种情况下,我都需要一种方法来访问当前登录的用户,该用户存储在 HttpSession 中。

如何从我的基实体类或 JPA 拦截器上的方法访问这些信息?

是否有任何最佳实践或任何经过测试的方法来实现这一目标?

我在想,也许添加一个网络拦截器,对于每个请求,将登录的用户对象放入全局可访问的 ThreadLocal 中(例如在 Spring 单例服务中),这样就可以从任何地方查找它......

这听起来是个好主意吗?

欢迎任何建议!

编辑:在此处找到类似的问题(仅在通过右侧的建议发布我自己的问题后才找到):在 JPA 实体中自动设置 createdBy 和 updatedBy

结论似乎朝着 ThreadLocal 的方向发展……不过,欢迎任何反馈!

0 投票
1 回答
1126 浏览

sql-server-2008-r2 - Is it possible to audit the changed values using SQL Server Auditing?

Is it possible to audit the changed values using SQL Server Auditing for stored procedures? Note: I'm not talking about CDC.

I've got basic auditing working, writing to the security log. If I run an INSERT statement, I get a 33205 event contain this [I've removed a lot of the message for clarity]:

And that's great! But if I turn it into a stored procedure with parameters, I get [also edited]:

which is as useful as a chocolate teapot. What use is knowing who did something and when if you don't know what they did? I feel like there ought to be an 'Include parameter values' flag or something but I can't find one. What am I missing, here?

0 投票
1 回答
2141 浏览

hibernate - 通过修订获取修改后的属性

我正在使用 Hibernate Envers 来审核我的实体和属性 ( org.hibernate.envers.global_with_modified_flag=true)。这似乎可行,但现在我想获取特定实体的所有属性,这些属性在给定修订版中与前一个相比发生了变化。作为奖励,将变更集从一个修订版转移到另一个修订版会很好。到目前为止,我只得到修改后的实体:

现在,由于我不想为 Java 中的所有实体创建比较方法,有没有办法获得此修订版的修改属性?类似的东西

会很高兴 - 但也许我太愚蠢了,找不到那种功能。