我有两个问题,希望找到一个共同的解决方案。
首先,我需要找到一种方法,让多个 LDAP 服务器(跨多个域的 Windows AD)将信息输入到单个源进行身份验证。这也是让无法与多个 LDAP 服务器进行本地通信的应用程序正常工作所必需的。我读到这可以通过 Open LDAP 来实现。还有其他解决方案吗?
其次,我需要能够将这些用户添加到组中,而无需对我代理的 LDAP 服务器进行任何更改。
最后,所有这些都需要在 Windows Server 2003/2008 上运行。
我为一家非常大的组织工作,创建多个组并添加、移动和删除大量用户并非易事。这通常需要大量的文书工作和大量时间。时间是我们通常没有的东西;逃避文书工作只是一个优势。
我在这方面的经验非常有限,所以我甚至不确定我问的问题是否有意义。Atlassian Crowd 接近我们的需求,但没有自己的 LDAP 前端。有人可以提供任何建议或产品名称吗?
感谢您的任何帮助,您可以提供。
答案1
我推荐使用 OpenLDAP 的meta
后端,它充当代理,将来自多个不同服务器的多个命名上下文集成到一个树中。我已成功使用它在多个 Windows 2003 域上执行此操作。
例如,如果您有多个名为ONE.COMPANY.COM
和的 AD 域TWO.COMPANY.COM
,则最终会得到以下 LDAP 树:
- dc=公司,dc=com
- dc=一,dc=公司,dc=com
- 来自域的用户和组
ONE
- dc=two,dc=公司,dc=com
- 来自域的用户和组
TWO
因此,您可以根据基本 DN 发出身份验证请求dc=company,dc=com
,该请求将返回来自任一服务器的条目。
当然,您必须确保您有一个可以在所有域中唯一地标识用户的属性,例如电子邮件地址(如果您有两个jdoe
用户,您就不会使用登录名!除非您确定登录名在所有域中都是唯一的)。
其次,我需要能够将这些用户添加到组中,而无需对我代理的 LDAP 服务器进行任何更改。
您可以轻松地将本地数据库添加到同一 OpenLDAP 实例,以包含引用所有代理域的用户的组。他们将在此服务器上拥有唯一的 DN,只需将它们添加到组中即可。
答案2
这是一篇很棒的文章,概述了如何逐步进行设置:https://www.ltb-project.org/documentation/sasl_delegation.html (请参阅“在多个 LDAP 目录上进行直通身份验证 - 使用 OpenLDAP ldap 后端”)
答案3
您的组织是否在使用 Active Directory?您可以使用 LDAP 轻松与 AD 交互,并且由于 AD 是一个复制的分布式系统,因此它本质上是单一来源。或者也许我遗漏了您的要求和/或环境?