LDAP,全称Lightweight Directory Access Protocol,即轻量级目录访问协议。LDAP服务器是一种跨平台供应商中立的软件协议,用于目录服务身份验证。LDAP以有组织和易于搜索的方式维护目录信息,它允许任何人在目录服务服务器内查询和通信。
一、LDAP服务器是什么
轻量级目录访问协议 (LDAP) 是一种跨平台供应商中立的软件协议,用于目录服务身份验证。为简单起见,请将 LDAP 服务器想象成一个全面的虚拟电话簿。电话簿可以访问数百人的联系人信息的广泛目录。使用LDAP可以轻松搜索电话簿并找到所需的任何信息。
LDAP以有组织和易于搜索的方式维护目录信息;它允许任何人在目录服务服务器内查询和通信,并找到与组织,用户,设备和其他资源(例如网络中的文件)相关的数据。
LDAP服务器也是用来处理查询和更新LDAP目录的。换句话来说LDAP目录也是一种类型的数据库,但是不是关系型数据库。不象被设计成每分钟需要处理成百上千条数据变化的数据库,例如:在电子商务中经常用到的在线交易处理(OLTP)系统,LDAP主要是优化数据读取的性能。
二、LDAP 的用途
LDAP服务器最常见和最主流的用途是为身份验证提供集中的位置,即存储用户名和密码。LDAP 可以使用这些用户凭据在不同的应用程序和服务中提供 LDAP 身份验证,例如:
DockerKubernetesJenkinsLinux Samba serversOpenVPNLDAP 还可以与多个目录服务一起使用,例如:
Microsoft Active DirectoryOpenLDAPRed Hat Directory ServersIBM Tivoli Directory Servers三、LDAP 术语词汇表
在学习LDAP(轻量级目录访问协议)时,在继续之前必须了解一些常用术语;这些包括:
1. 数据模型:模型是指目录包含的信息类型。它有助于了解 LDAP 服务器的方面。通常,模型将具有一般信息,功能,安全详细信息和名称。
2. 可分辨名称 (DN):DN 是目录中单个条目的唯一标识符。DN 还描述了条目在信息树中的位置。
3. 修改:这些是 LDAP 用户在想要更改条目中的任何数据时可以发出的请求。添加,删除,替换和增加是可能的修改类型。
4. 相对可分辨名称 (RDN):要对多个 DN 进行分组,请使用相对位置的 RDN。
5. 架构:这是在 LDAP 服务器中描述每个项目的格式和属性时使用的编码语言。
6. URL:统一资源定位器是一个字符串,其中包含服务器的地址和端口以及其他有意义的数据,这些数据可以帮助定义组、提供位置或引用其他服务器的操作。
7. URI:统一资源标识是定义资源的字符串。
四、LDAP 服务器查询如何工作?
在组织中,普通员工每天连接和查询 LDAP 服务器数百次。从表面上看,该人甚至可能不知道自己正在联系LDAP服务器,但是需要采取一系列复杂的步骤来完成简单的查询。
要使 LDAP 成功完成查询,通常需要执行以下步骤:
1. 会话连接:用户通过 LDAP 端口(通常为 TCP/389 端口)连接到 LDAP 服务器。
2. 请求:用户将查询发送到 LDAP 服务器。它可能类似于电子邮件查找。
3. 响应:LDAP 协议在目录中搜索相关信息并将其传递给用户。
4. 完成:收到响应后,用户断开与 LDAP 端口的连接。
LDAP查询步骤可能看起来很简单,但实际上,已经做了很多工作来使这个过程无缝,并且已经进行了大量的编码以使这些功能成为可能。
五、LDAP 数据组件
LDAP由许多不同的组件组成,这些组件都是正常运行所必需的。其中,基本组成部分是:
属性:
存储在 LDAP 系统中的数据称为属性。每个属性都有一个与之关联的属性类型;这指定了客户端和目录服务器应如何与之交互。
条目:
条目是具有 LDAP 系统的用户或项目。每个条目都有一组分配给它的属性。属性必须与条目相关联。
数据信息树 (DIT):
LDAP 系统中的每个条目都设置为数据信息树上的一个分支。
模式:
架构是属性定义。一个 DIT 可以有多个架构。
六、LDAP 目录的级别
组织中的 LDAP 配置被组织为具有多个级别的树结构。LDAP 目录级别包括:
根目录。它是第一级或起点,分支到:国家/地区,其分支到:组织,其分支到:组织单位 (OU) 可以被视为组织内的部门,即组织内的部门,其分支到:个人。这可以是人员,设备,文件,共享资源等。七、LDAP服务器的优势
LDAP服务器目录可以帮助大多数的用户解决网络服务的账户问题。LDAP服务器目录它可以很好地保证了数据的完整性,因为你在LDAP服务器目录中规定了统一的数据库,从而可以实现资源的统一性。LDAP服务器目录的最后一个优势就是它的设计可以适用多种行业的服务组织。可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。LDAP是开放的Internet标准,支持跨平台的Internet协议,在业界中得到广泛认可的,并且市场上或者开源社区上的大多产品都加入了对LDAP的支持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。“简单粗暴”,可以大大降低重复开发和对接的成本。拓展阅读
LDAP目录服务器推荐
OpenLDAP
OpenLDAP 可能是市场上使用最多的 LDAP 开源目录服务器。虽然 RedHat 曾出于营收考虑决定停用 OpenLDAP,但这个活跃的平台中最终还是经受住了时间的考验。OpenLDAP 的运行主要依靠命令行,因此部署时对于管理员的专业背景要求较高。此外,OpenLDAP在实施后还需要 IT 工程师持续运维,所以更适合经验丰富的 IT 人员采用。OpenLDAP 的优点在于其高度可扩展性,被很多全球性的大型企业使用。
Apache 目录服务器
Apache 目录服务器支持 Kerberos 协议,也是比较常用的 LDAP 服务器,主要优势在于 Apache Directory Studio 的强大管理能力,以及存储过程和触发器的运行能力。Apache 结合基于 Eclipse 的 LDAP 浏览器后在使用和运维方面还能进一步提升。
389 目录服务器(原 Fedora 目录服务器)
389 目录服务器是由 RedHat 运行的高性能 LDAP 服务器。RedHat 和 SUSE 放弃开发 OpenLDAP 后,转而使用 389 目录服务器,并使用自研版本的 LDAP 协议。