LDAP介绍

一、简介

  • LDAP协议(Lightweight Directory AccessProtocol)定义了一种数据存储方式。基于X.500标准。在此基础上进行了简化并支持TCP/IP。

  • LDAPv3的相关RFC文档:

              RFC2251:Lightweight Directory AccessProtocol(v3)

              RFC2252:Lightweight Directory AccessProtocol(v3):Attribute Syntax Definitions

              RFC2253:Lightweight Directory AccessProtocol(v3):UTF-8 String Representation of Distinguished Names

              RFC2254:The String Representation of LDAPSearch Filters

              RFC2255:The LDAP URL Format

              RFC2256:A Summary of the X.500(96) UserSchema for Use with LDAPv3

              RFC2829:Authentication Methods for LDAP

              RFC2830:Lightweight Directory AccessProtocol(v3):Extension for Transfort Layer Security

              RFC3377:Lightweight Directory AccessProtocol(v3):Technical Specification

  • 与Database的区别是:

1、 LDAP适用于保存“More Read,Less Write”的数据;而Database对数据读写率没有特别要求。

2、 LDAP以DIT(Directory Information Tree)的形式存储,各个节点(Entry)之间的关联比较单一;而Database是以表结构的方式存储,各表之间可以任意关联。


二、描述

  • LDAP信息以Request-Response方式交换,如下图:

 

  •  LDAP模型:信息模型(Information Model)、命名模型(Naming Model)、功能模型(Functional Model)和安全模型(Security Model)。

1、 信息模型(Information Model)----描述了LDAP信息的基本元素

LDAP信息由数据(Entry)组成。下图展示了一个LDAPDirectory的示例,每一个节点都是一个Entry:


Entry由多个属性(Attribute)组成,每一个属性(Attribute)定义了Entry的一个属性(类似于Database中表的Field)。而属性(Attribute)中,包含了一个类型 (Type)和一个或多个属性值(Values)(Type相当于列的类型、Values相当于列的值)。类型(Type)包含一个语法(Syntax)和多个规则(Matching rules)。语法 (Syntax)指定该属性(Attribute)的类型(如:整形、字符串等),规则(Matching rules)则指明该属性值(Values)的比较、排序的方式。

属性(Attribute)的示意图如下:


另外,还有一个专业名称Schema,它表示所有属性(Attribute)的集合。

2、 命名模型(Naming Model)----描述了数据的组织方式

LDAP数据以树形结构存储,每个节点(Entry)都有一个唯一命名(DN)(相当于Database数据中的主键)。

RDN与DN的区别是:DN在整个目录中是唯一的,而RDN只是在本级中必须唯一。

3、 功能模型(Functional Model)----描述LDAP可以进行的操作

LDAP功能分为几种类型:Interrogationoperations、Updateoperations、Authenticationand control operations和Extended operations。包括:search、compare、 add、delete、modify、rename(modify DN)、bind、unbind、abandon这些操作。

4、 安全模型(Security Model)----描述LDAP安全相关的内容

包括三种:身份认证、通讯安全、访问控制。

身份认证,有三种认证机制:匿名、基本认证(密码)和SASL(Simple Authentication And SecureLayer)认证。

通讯安全,提供了基于SSL/TLS的安全保障。

访问控制,允许设置指定节点(Entry)的操作权限。

三、参考

参考勇敢的心的BLOB:http://www.blogjava.net/liyong/archive/2007/02/09/98942.html

参考书:Understanding And Deploying Ldap Directory Services, 2Nd Ed

你可能感兴趣的:(LDAP,database,authentication,security,安全相关,extension,存储)