我如何代理多个 LDAP 服务器,并且仍在代理上对用户进行分组?

我如何代理多个 LDAP 服务器,并且仍在代理上对用户进行分组?

我有两个问题,希望找到一个共同的解决方案。

首先,我需要找到一种方法,让多个 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用户,您就不会使用登录名!除非您确定登录名在所有域中都是唯一的)。

查看OpenLDAP 的 back-meta 手册页

其次,我需要能够将这些用户添加到组中,而无需对我代理的 LDAP 服务器进行任何更改。

您可以轻松地将本地数据库添加到同一 OpenLDAP 实例,以包含引用所有代理域的用户的组。他们将在此服务器上拥有唯一的 DN,只需将它们添加到组中即可。

答案2

这是一篇很棒的文章,概述了如何逐步进行设置:https://www.ltb-project.org/documentation/sasl_delegation.html (请参阅“在多个 LDAP 目录上进行直通身份验证 - 使用 OpenLDAP ldap 后端”)

答案3

您的组织是否在使用 Active Directory?您可以使用 LDAP 轻松与 AD 交互,并且由于 AD 是一个复制的分布式系统,因此它本质上是单一来源。或者也许我遗漏了您的要求和/或环境?

相关内容