Skip to end of metadata
Go to start of metadata


当你在使用 LDAP 目录为用户目录的时候,请考虑下面的一些限制和建议。

在你的 LDAP 目录中优化用户和用户组数量

连接 LDAP 服务器能为你的用户管理提供灵活高效的解决方案。为了达到优化的性能,后台同步程序将会从 LDAP 上查找和下载数据同步到你本地的 Confluence 服务器数据库上同时还会定时的更新数据以保持 Confluence 的数据与 LDAP 上的数据是一致的。

在对用户进行同步,拷贝,缓存的时候用户,用户组和用户组成员的数量将会决定系统同步所需要的时间。我们推荐最大用户的使用数量和同步方法在下面描述:

推荐影响连接的 LDAP 目录:

  • Microsoft Active Directory
  • 所有其他的 LDAP 目录服务器

下面的的 LDAP 配置不会对同步产生影响:

  • 使用 LDAP 授权的内部目录
  • LDAP 目录,但是配置为 仅用授权,用户第一次登录后拷贝用户(Authentication Only, Copy User On First Login)

基于你用户,用户组和用户组成员的数量,请选择下面的 LDAP 目录服务器配置解决方案。

你的环境

推荐配置

最多 10,000 (一万)用户,1000(1千)用户组和每一个用户组中 20 个用户

选择 'LDAP' 或 'Microsoft Active Directory' 目录类型。你可以使用完全同步选项。你的 Confluence 应用将会把 LDAP 服务器上的数据完全复制保存到本地数据库中。

超过上面的配置

使用 LDAP 过滤器来减少 LDAP 用户和用户组数据同步的时候可见和下载的数据量。

我们的测试结果

我们对从我们内部网络中从 AD 服务器上同步 10,000 用户,1000 用户组和 200,000 的用户组成员进行了测试。

我们发现初始化同步将要花费大概 5 分钟。后续的增量同步,指对 AD 服务器上有修改的用户信息同步的话只需要几秒钟就可以完成了。

请注意,影响用户同步效率和时间的一些因素如下:

  • 用户数量大小:使用 LDAP 过滤器来最小化的满足你的需求。
  • LDAP 服务器类型: 我们支持在 AD 中修改的查找,所以后续同步使用 AD 的服务器将会明显快于使用 LDAP 的服务器。
  • 网络技术情况:连接你 LDAP 服务器的网络情况越好,你的同步效率将会越高。
  • 数据库性能: 正如我们所描述的,同步 LDAP 服务器用户信息等于在本地数据库中缓存 LDAP 用户信息,你的数据库性能将会影响整个同步的效率。
  • JVM heap 大小: 如果你的 heap 大小被设置为过小的话,你的 Java 虚拟机将会在 LDAP 同步的时候进行大量的内存垃圾回收操作,这个将会影响你的同步性能。

不支持冗余(Redundant) LDAP

LDAP 连接不支持 2 个或者更多的 LDAP 冗余配置服务器(冗余配置服务器:当一个服务器宕机后,另一个服务器将会自动上线)。

有关 AD 的一些特殊说明

当应用程序对使用 Active Directory (AD) 的 LDAP 服务器进行同步的时候,同步的任务只对 LDAP 最近修改的数据进行同步而不是对整个数据库进行同步。因为是增量同步,在第一次完整同步完成后,后续的同步效率就非常高而且同步时间也非常短。

在另外一个方面,这个同步方法也会有一些限制:

  1. 从 Scope 外移动或者重命名对象将会在 AD 中导致问题:如果你从 AD 中移动对象到 scope 外,将会导致缓存和服务器上的用户数据不一致。我们不建议你使用外部 LDAP 目录界面来移动对象到 scope 外的子树。如果你对 LDAP 服务器进行了结构上的修改,我们建议你手动同步 LDAP 服务器来保持数据的完整性。
  2. 不支持在 AD 服务器之间同步Microsoft Active Directory 在不同实例之间不会复制 uSNChanged 属性。基于这个原因,我们不支持在连接 AD 服务器之间进行同步(你可以定义多个 AD 服务器,然后在 Confluence 中配置多个 AD 服务器)。
  3. 不支持配置在负载均衡后的 AD 同步:针对 2 个不同的 AD 服务器,Microsoft Active Directory 在不同实例之间不会复制 uSNChanged 属性。基于这个原因 AD 服务器不能配置负载均衡,因为 2 个 AD 的实例的名字是不一样的。你可以在你本地配置一个 AD 服务器而避免使用负载均衡。
  4. 当你从备份中恢复 AD 后,你必须重启你的 Confluence 服务器: 在一个 AD 服务器的备份和恢复过程中,uSNChanged 时间戳将会被设置为备份的时间。为了避免冲突和混乱,你需要在 AD 服务器进行备份和恢复后刷新你本地 Confluence 服务器上的缓存。
  5. 获得 AD 删除的对象,你需要管理员权限:Active Directory 存储删除的对象在一个特殊的容器中,这个容器被称为 cn=Deleted 对象。在默认的情况下,访问这个对象,你需要具有管理员权限,因此在同步删除用户的时候,你也需要有管理员权限和管理员的用户名和密码才可以访问到。可选的是,你可以修改 cn=Deleted 对象容器的权限。如果你希望这这样做,请参考 this Microsoft KB article 中的文章。
  6. 连接 AD 使用的 DN 用户名必须具有查看 uSNChanged 属性的权限:同步任务依赖 uSNChanged 属性来找到相关的修改。因此你必须正确配置 AD 的安全用户组配置,来让这个属性能够在 LDAP 对象和子树中存在。


  • No labels