分享

ldpa

 东晨书房 2013-12-30
   LDAP协议
  LDAP全称为Light Directory Access Protocol,轻量级目录访问协议,LDAP协议从1993年批准,有了V1版本,1997年发布了第三个版本LDAP v3,使得LDAP协议不仅仅做为X.500的简化版,同时提供了LDAP协议许多自有功能特性,LDAP V3协议也不是一个单一的协议,而是一个协议群组,包括内容如下:
  RFC2251-LDAP V3协议核心协议,定义了LDAP V3协议的基本模型和操作;
  RFC2252-定义了LDAP V3基本数据模式(Schema)以及标准的系统数据模式,Schema包括语法、匹配规则、属性类型和对象类;
  RFC2253-定义了LDAP V3中的分辨名(Differentiate Name, DN)表达方式;
  RFC2254-定义了LDAP V3中过滤器的表达方式;
  RFC2255-定义了LDAP V3中统一资源地址格式;
  RFC2256-定义了在LDAP V3中使用X.500的Schema列表;
  RFC2829-定义了LDAP V3的认证方式;
  RFC2830-定义了LDAP V3如何通过扩展使用TLS服务;
  RFC1823-定义了C的关于LDAP V3客户端开发接口;
  RFC2847-定义了LDAP数据导入、导出的文件接口LDIF;
  在这些协议中,主要定义了LDAP的内容,同时定义了信息模型,确定了LDAP目录中所存储的信息的格式和字符集,如何表示目录信息(定义对象类、属性、匹配规则和语法等模式)。
  一个命名空间:确定对信息进行的组织方式即就是目录信息树DIT,以DN和RDN为基础的命名方式,以及LDAP信息的Internet表示方式;
  一个功能模型:确定可以在信息上执行的操作的通讯协议以及在客户端尽心这些操作的API接口;
  一个安全框架:保证目录中信息的安全,匿名、用户名/密码、SASL等多种认证方式以及与TLS结合的通讯保护框架;
  一个操作模型:分布式的操作模型,基于Referral方式的分布式操作框架;
  一个LDAP扩展框架:基于控制和扩展操作的LDAP扩展框架 。
  LDAP的基本模型
  信息模型:用来描述LDAP中信息的表达方式。
  在LDAP中信息以树状形式组织,在树状信息中基本的信息单元是条目,而每个条目有属性组成,属性中存储有属性的值;LDAP中的信息模式,类似于面向对象的概念,在LDAP中每条目必有属于某个或者多个对象类(Object Class),每个Object Class由多个属性类型组成,每个属性类型有所对应的语法和匹配规则;对象类和属性类型的定义均可以使用继承的概念。每个条目创建时,必须定义所属的对象类,必须提供对象类中的必选属性类型的属性值,在LDAP中一个属性类型可以对应多个值。
  在LDAP中把对象类、属性类型、语法和匹配规则统称为Schema,在LDAP中有许多系统对象类、属性类型、语法和匹配规则,这些系统 Schema在LDAP标准中进行了规定,同时不同的应用领域也定义了自己的Schema,同时用户在应用时,也可以根据需要自定义 Schema。这有些类似于XML,除了XML标准中的XML定义外,每个行业都有自己标准的DTD或DOM定义,用户也可以自扩展;也如同XML,在 LDAP中也鼓励用户尽量使用标准的Schema,以增强信息的互联互通。
  在Schema中最难理解的是匹配规则,这是LDAP中为了加快查询的速度,针对不同的数据类型,可以提供不同的匹配方法,如针对字符串类型的相等、模糊、大于小于均提供自己的匹配规则。
  命名模型:描述LDAP中的数据如何组织 LDAP中的命名模型,也即LDAP中的条目定位方式。在LDAP中每个条目均有自己的DN和RDN。DN是该条目在整个树中的唯一名称标识,RDN是条目在父节点下的唯一名称标识,如同文件系统中,带路径的文件名就是DN,文件名就是RDN。
  功能模型:描述LDAP中的数据操作访问
  在LDAP中共有四类10种操作:查询类操作,如搜索、比较;更新类操作,如添加条目、删除条目、修改条目、修改条目名;认证类操作,如绑定、解绑定;其它操作,如放弃和扩展操作。除了扩展操作,另外9种是LDAP的标准操作;扩展操作是LDAP中为了增加新的功能,提供的一种标准的扩展框架,当前已经成为LDAP标准的扩展操作,有修改密码和StartTLS扩展,在新的RFC标准和草案中正在增加一些新的扩展操作,不同的 LDAP厂商也均定义了自己的扩展操作。
  安全模型:描述LDAP中的安全机制
  LDAP中的安全模型主要通过身份认证、安全通道和访问控制来实现。
  身份认证在LDAP中提供三种认证机制,即匿名、基本认证和SASL(Simple Authentication and Secure Layer)认证。匿名认证即不对用户进行认证,该方法仅对完全公开的方式适用;基本认证均是通过用户名和密码进行身份识别,又分为简单密码和摘要密码认证;SASL认证即LDAP提供的在SSL和TLS安全通道基础上进行的身份认证,包括数字证书的认证。
  通讯安全在LDAP中提供了基于SSL/TLS的通讯安全保障。SSL/TLS是基于PKI信息安全技术,是目前Internet上广泛采用的安全服务。LDAP 通过StartTLS方式启动TLS服务,可以提供通讯中的数据保密性、完整性保护;通过强制客户端证书认证的TLS服务,同时可以实现对客户端身份和服务器端身份的双向验证。
  访问控制虽然LDAP目前并无访问控制的标准,但从一些草案中或是事实上LDAP产品的访问控制情况,我们不难看出:LDAP访问控制异常的灵活和丰富,在 LDAP中是基于访问控制策略语句来实现访问控制的,这不同于现有的关系型数据库系统和应用系统,它是通过基于访问控制列表来实现的,无论是基于组模式或角色模式,都摆脱不了这种限制。
  在使用关系型数据库系统开发应用时,往往是通过几个固定的数据库用户名访问数据库。对于应用系统本身的访问控制,通常是需要建立专门的用户表,在应用系统内开发针对不同用户的访问控制授权代码,这样一旦访问控制策略变更时,往往需要代码进行变更。总之一句话,关系型数据库的应用中用户数据管理和数据库访问标识是分离的,复杂的数据访问控制需要通过应用来实现。
  而对于LDAP,用户数据管理和访问标识是一体的,应用不需要关心访问控制的实现。这是由于在LDAP中的访问控制语句是基于策略语句来实现的,无论是访问控制的数据对象,还是访问控制的主体对象,均是与这些对象在树中的位置和对象本身的数据特征相关。
  在LDAP中,可以把整个目录、目录的子树、制定条目、特定条目属性集或符合某过滤条件的条目作为控制对象进行授权;可以把特定用户、属于特定组或所有目录用户作为授权主体进行授权;最后,还可以定义对特定位置(例如IP地址或DNS名称)的访问权 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多