记录AD用户操作(已删除的用户)

时间:2009-05-19 13:46:15

标签: c# .net logging active-directory

我们即将将Intranet Web应用程序从使用基于表单的专有安全性迁移到Active Directory。应用程序记录各种用户操作,并且存在与用户帐户关联的大量数据。我们的计划是在各种表中迁移所有这些UserId列:从链接专有系统的外键到Active Directory GUID。两个系统之间的登录名相同,因此迁移不是问题。

但是,我们发现了一个主要问题:我们的安全策略规定必须从Active Directory中删除非活动用户。我们的安全日志中的孤立GUID使得条目对于查看它们的任何人来说都毫无意义。

应用程序如何维护有关从Active Directory中删除的GUID的人类可读基础知识(名称,登录等)?

我们考虑了以下选项。其中一个选项可能最终成为最佳选择,但我们希望尝试更好:

  • 对日志表进行异常化并存储名称/登录而不是GUID(对于日志而言,可以用于活动数据。)
  • 维护从不​​删除条目的AD对象信息的“缓存”
  • 保留AD帐户但停用/锁定该帐户

3 个答案:

答案 0 :(得分:1)

我不会完全反规范化日志表,而是将相关的AD信息与GUID一起存储,正如蒂姆所说。但是,如果您需要在其他区域中使用此AD信息,请将其缓存在用户表中。我建议不要更改您的安全策略。

答案 1 :(得分:0)

对于日志记录,我赞成非规范化方法,但保持id。我将用户的id与其他人类可读的识别信息一起存储。对于活跃用户,我仍然可以在连接中使用id(如果需要)。对于不活动(已删除)的用户,我有一个人类可读的表格供审计员使用。

答案 2 :(得分:0)

我们决定使用“缓存”表来存储映射到友好用户信息的GUID字典。这将需要一个抽象AD用户列表的视图,并在缓存中合并缺少的条目。