• home > OS > Linux > DevOps >

    LDAP概念和原理学习笔记

    Author:zhoulujun Date:

    LDAP统一身份认证主要是改变原有的认证策略,使需要认证的软件都通过LDAP进行认证,在统一身份认证之后,用户的所有信息都存储在AD Server...

    LDAP统一身份认证主要是改变原有的认证策略,使需要认证的软件都通过LDAP进行认证,在统一身份认证之后,用户的所有信息都存储在AD Server中。终端用户在需要使用公司内部服务的时候,都需要通过AD服务器的认证。

    LDAP概念

    LDAP(Light Directory Access Portocol) 「是一个解决了细粒度的权限控制的协议」,约定了 Client 与 Server 之间的信息交互格式、使用的端口号、认证方式等内容。

    个 X.500 DAP 与LDAP 

    LDAP 协议之前有一个 X.500 DAP 协议规范,该协议十分复杂,是一个重量级的协议,后来对 X.500进行简化,1988 年诞生了 LDAP 协议,与 X.500 相比变得较为轻量。目前存在众多版本的LDAP,而最常见的则是V2和V3两个版本,它们分别于1995年和1997年首次发布

    LDAP采用树形用户目录,树形存储结构,对组织管理建模符合直觉(天然与组织机构契合)。而且目录服务的数据库以「树形方式」存储数据,也是一种 NoSQL。需要注意的是这是推荐的底层数据存储方式,因为目录服务查询比写入要多得多,所以使用树形数据库存储要有优势。而且在查询上速度非常快,比任何其他数据库都要快。

    LDAP 协议的实现

    而 「LDAP 协议的实现」,有着众多版本

    例如微软的 Active Directory 是 LDAP 在 Windows 上的实现,AD 实现了 LDAP 所需的树形数据库、具体如何解析请求数据并到数据库查询然后返回结果等功能。

    例如OpenLDAP 是可以运行在 Linux 上的 LDAP 协议的开源实现。而我们平常说的 LDAP Server,一般指的是安装并配置了 Active Directory、OpenLDAP 这些程序的服务器。

    厂商

    产品

    介绍

    SUN

    SUNONE Directory Server

    基于文本数据库的存储,速度快。

    IBM

    IBM Directory Server

    基于DB2 的的数据库,速度一般。

    Novell

    Novell Directory Server

    基于文本数据库的存储,速度快, 不常用到。

    Microsoft

    Microsoft Active Directory

    基于WINDOWS系统用户,对大数据量处理速度一般,但维护容易,生态圈大,管理相对简单。

    Opensource

    Opensource

    OpenLDAP 开源的项目,速度很快,但是非主 流应用。

    LDAP是开放的Internet标准,支持跨平台的Internet协议,在业界中得到广泛认可的,并且市场上或者开源社区上的大多产品都加入了对LDAP的支持,因此对于这类系统,不需单独定制,只需要通过LDAP做简单的配置就可以与服务器做认证交互。“简单粗暴”,可以大大降低重复开发和对接的成本。

    LDAP的基本模型

    每一个系统、协议都会有属于自己的模型,LDAP也不例外,在了解LDAP的基本模型之前我们需要先了解几个LDAP的目录树概念:

    (一)目录树概念

    1. 目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。

    2. 条目:每个条目就是一条记录,每个条目有自己的唯一可区别的名称(DN)。

    3. 对象类:与某个实体类型对应的一组属性,对象类是可以继承的,这样父类的必须属性也会被继承下来。

    4. 属性:描述条目的某个方面的信息,一个属性由一个属性类型和一个或多个属性值组成,属性有必须属性和非必须属性。

    (二)DC、UID、OU、CN、SN、DN、RDN

    KeyFull Namedescription

    dc

    Domain Component

    域名的部分,其格式是将完整的域名分成几部分,如域名为example.com变成dc=example,dc=com(一条记录的所属位置)

    uid

    User Id

    用户ID songtao.xu(一条记录的ID)

    ou

    Organization Unit

    组织单位,组织单位可以包含其他各种对象(包括其他组织单元),如“oa组”(一条记录的所属组织)

    cn

    Common Name

    公共名称,如“Thomas Johansson”(一条记录的名称)

    sn

    Surname

    姓,如“许”

    dn

    Distinguished Name

    “uid=songtao.xu,ou=oa组,dc=example,dc=com”,一条记录的位置(唯一)

    rdn

    Relative dn

    相对辨别名,类似于文件系统中的相对路径,它是与目录树结构无关的部分,如“uid=tom”或“cn= Thomas Johansson”


    (三)基本模型:


    参考文章:

    可能是最详细的LDAP讲解

    LDAP概念和原理介绍 https://www.cnblogs.com/wilburxu/p/9174353.html



    转载本站文章《LDAP概念和原理学习笔记》,
    请注明出处:https://www.zhoulujun.cn/html/OS/Linux/DevOps/9315.html