Skip to main content

LDAP 验证提供程序类型

轻量级目录访问协议 (LDAP) 是一种 Internet 标准,可提供对不同计算机系统和应用程序中信息的访问。LDAP 使用一组协议来访问信息目录并检索信息。目录就像数据库,但所含的信息更具描述性且基于属性。目录中信息的读取频率通常高于其编写或修改频率。LDAP 允许在学校计算机平台上运行的应用程序获取用户名和密码等信息。

通过提供单点管理实现集中处理此类信息,从而简化您的工作。在单个位置提供用户信息,以减少重复信息的存储,进而降低维护需求。LDAP 验证还允许用户使用单个登录和密码来访问许多不同的应用程序。

关于 LDAP 以及使用 StartTLS 的 LDAPS

注意

以前版本的 Blackboard 允许添加不加密的纯 LDAP(“NoSSL”)。从 3900.84 开始,无法创建新的“NoSSL”提供程序,虽然现有提供程序将继续工作,但如果更新为使用 LDAPS/StartTLS,则无法将它们更改回 NoSSL。Anthology 建议仍在使用 NoSSL 的客户及时迁移到安全配置。

LDAP 的最初版本可追溯到 20 世纪 80 年代,它不支持任何连接安全性。LDAPS 是第一次尝试加入当时被称为“SSL”(今天:TLS)的东西。LDAPS 使用特殊的仅安全端口。建立连接时需要使用正确的端口,具体取决于是安全连接还是不安全连接。随着时间的推移,使用不安全连接的情况逐渐减少,这一点也就变得不那么重要了。

LDAPS 从未正式标准化。IETF 在 RFC 2830 中通过 StartTLS 利用一种完全不同的方法对“带加密的 LDAP”进行了标准化。在这种安排下,LDAP 服务器只监听一个端口。LDAP 客户端在没有安全保护的情况下建立连接,然后发送“STARTLS”命令,LDAP 服务器和客户端会协商 TLS。

选择 LDAPS 还是 StartTLS,需要各机构根据自身需求、目录服务器的支持情况或其他架构考虑因素来决定。如果可以选择其中一个选项,一般来说,StartTLS 更受青睐,因为它已由 IETF 进行标准化,而且比较新。一些安全专家认为 LDAPS 已经过时,并且随着 RFC 2830 的发布而名存实亡,但是并未就此达成共识。

安全先决条件

您需要具有商业签名的证书,该证书与 Java 11 默认的“CACerts”密钥库所信任的证书颁发机构之间有完整的信任链,否则连接将失败。密钥库中不能安装其他证书。自签名证书不受支持。

您的证书颁发机构 (CA) 通常不会使用其高度可信的根证书来签名您的证书,而是使用由该根证书签名的中间证书。中间证书必须与服务器证书一起发送,因为需要有中间证书才能完成到信任根的验证链。通常情况下,这是通过将中间证书附加到服务器证书来实现的。有关详细信息,请查阅 LDAP 目录服务器和证书颁发者的相关文档。

  • LDAP 目录服务器和所有中间系统都需要支持 Java 11 及更高版本所接受的密码套件。例如:不再支持 TLS 1.0。

  • LDAP 目录服务器和所有中间系统都需要接受来自您所在地区 SaaS 出口 IP 的传入连接。有关此信息,请联系 Blackboard 支持团队。

配置 LDAP 提供程序

  1. 提供您的 LDAP 服务器 URL,例如,LDAPS 的 ldaps://directory.example.edu:636 或使用 StartTLS 的 LDAP 的 ldap://directory.example.edu:389。

  2. 将 SSL 版本设置为 StartTLS 或 LDAPS。

  3. 提供基本搜索 DN - LDAP 目录结构中用于搜索 Blackboard 用户的起点。子树搜索在此处执行,例如,dc=people,dc=example,dc=edu。您可以通过不同的基本搜索 DN,创建和配置指向同一个物理 LDAP 服务器的两个完全独立的 LDAP 提供程序。如果要通过“品牌化”到 education.blackboard.com 来减少 LDAP 服务器上的负载,然后将 LDAP 提供程序设置为仅搜索 dc=people,dc=education,dc=example,dc=edu 而不是整个树,则可以执行此作。

    提示

    您可以通过相同的基本搜索 DN,添加指向不同物理服务器的多个 LDAP 提供程序。如果其中一个 LDAP 服务器没有响应,则框架会查询下一个服务器。详细了解提供程序顺序

  4. 提供搜索属性 - LDAP 属性,其中包含映射到创建提供程序步骤中设置的 Blackboard 用户名批处理 UID的值。该属性特定于域。对于 Active Directory (AD),使用的属性通常为 sAMAccountName,对于 Novell,使用的属性通常为 uid。对于 Active Directory,大多数集成客户端使用 sAMAccountName 作为搜索属性。这将映射到最多有 20 个字符的旧样式(win2k 之前的版本)登录名。AD 域管理员能够确认这是否是正确的属性,或者是否可以或应该使用 userPrincipalName

    注意

    有些 LDAP 服务器(如 Active Directory)要求特权用户连接到目录。LDAP 提供程序需要提供用户的可分辨名称 (DN) 和密码。使用特权用户连接的两个常用选项包括:

    • 在目录内创建新用户。仅为该用户分配正确的读取权限。将该用户帐户用作特权用户。

    • 将现有目录用户用作特权用户。

    该帐户需要访问每个尝试登录到 Blackboard 的用户的 LDAP 服务器。最佳做法是,选择用户无法更改密码密码永不过期选项。

    这就是所谓的服务帐户,因此,LDAP 管理员可以在这些类型帐户的目录中拥有一个特殊位置。

    提示

    首次设置帐户时,使用基本密码,并仅在您已确认配置可以正常运行之后,将该密码更改为安全性较高的密码。请注意,使用 # 和 @ 等特殊字符时可能会出现问题。

  5. (可选)设置以下内容:

    • 使用特权用户进行搜索设为。默认值为 No。在搜索要进行身份验证的用户的 FDN 时,LDAP 提供程序将作为特权(指定)用户绑定到 LDAP 服务器。

    • 提供特权用户 DN。如果将使用特权用户进行搜索设为,则必须设置此值。例如:cn=BlackboardLDAP,ou=特殊用户,dc= example,dc=edu 或 BlackboardLDAP@example.edu

    • 提供特权用户密码。如果将使用特权用户进行搜索设为,则必须设置此值。这表示特权用户 DN 的用户密码。

  6. (可选)设置高级设置

    • 连接超时至少需要 15000 毫秒。这表示在取消 LDAP 请求前等待的时间(以毫秒为单位)。

    • 取消引用别名设为始终正在查找正在搜索。默认设置为从不。此属性用于定义在搜索操作期间别名的取消引用方式。

      • 从不:从不取消引用别名。

      • Always:始终取消引用别名。

      • 查找:仅在名称解析期间取消引用别名,即在定位目标条目时。

      • 搜索:名称解析完成后取消引用别名,即在找到目标条目之后。

    • 引用设为关注引发。默认设置为忽略。此属性用于指定提供程序应如何处理引用。

      • 忽略:如果引荐出现在结果中,则忽略它们。

      • 关注:自动关注任何推荐。

      • Throw:为每个引荐抛出一个 Java ReferralException。这会导致一个错误条件。

    • 引用限制的默认值为 5。此属性用于指定要关注的引用的最大数量。设置为零时表示值无效。您可以仅在将引用属性设为关注引发时设置此属性。

  7. 选择提交以保存配置。

    提示

    将新验证提供程序设为活动之前,从关联菜单中选择测试连接设置,以确认配置可按预期正常运行。