将Active Directory同步到数据库

我们正处于一种情况,我们希望能够让我们的客户能够自己pipe理用户。 目前约有300个客户,总共有10,000个用户。

除了创build,更新和删除用户之外,他们还会经常阅读关于用户的静态信息和其他有用的信息。 所有这些function都应该可以从用户通过Citrix或类似网站访问的Intranet网页(.NET Framework 4)中获得。

现在的问题是,我们真的希望用户不要直接为每个请求查询AD,而是让他们击中与AD同步数据库。 每天运行一次同步(可能每隔5小时)就足够了。 当他们创build一个用户时,它不应该立即可用,而是在两天之内审查并创build(下一步将删除这个手动审查,但是这个问题已经超出了范围)。

你对AD的这种同步有什么看法? 有没有人有任何经验,这是在其他组织做的事情,在那里你会有很多的请求,这是比AD更好地处理数据库(我假设)?

是否有任何技术用于编写这样一个脚本,使AD与数据库表同步? 我主要关心的是群体/成员之间的关系,这可能相当复杂。 还是有软件同步AD与数据库?

任何意见将不胜感激。 谢谢。

您可以设置轻型目录服务(以前称为ADAM),将AD模式和对象复制到外部LDAP数据库中,用户可以查询并获取您正在讨论的信息。 这使您可以通过仅同步要发布的对象而不公开其他AD对象来暴露外部内容。

从数据库中同步Active Directory是一个常见的要求 – 不一定是用于描述的用例,而更常用于pipe理员工的HR工具,用于存储在数据库中。

您可以使用LDAP同步连接器(LSC)轻松地将数据库的内容同步到AD,这是一个为此目的而定制的开源工具。 简而言之,这个工具就是替代你可能用手写的脚本,减去你将遇到的错误,再加上各种function,使它更容易同步。

我已经build立了从Oracle数据库到LDAP服务器的类似同步(请记住,AD也是一个LDAP服务器),用于包括组成员身份在内的七万多个用户。 第一次初始化之后,同步在10分钟之内运行。

无论您是否使用LSC,以下链接都应该引起您的兴趣: 关于将数据同步到/从Active Directory的许多技术提示 。

如果你有一些编程技巧,你可以设置和适应pSSOd 。 它包含:

  • 使AD与OpenLDAP服务器或SQL数据库同步的perl脚本。
  • 一个服务对于Unix守护进程,它允许你也有口令同步。