目录服务
目录服务
目录服务是将有关现实世界中的事物的信息存储为具有描述性属性的对象,由与数据库类似的数据库构成。目录互用性论坛是目录服务的一个重要的部分,其组建的目的是推进基于LDAP标准的开放式目录。该论坛由开放式目录供应商组成,这些供应商计划制定标准主体以加速基于目录的应用程序的发展和实施。
基本介绍
目录服务对于网络的作用就像白页对电话系统的作用一样。目录服务将有关现实世界中的事物(如人、计算机、打印机等等)的信息存储为具有描述性属性的对象。人们可以使用该服务按名称查找对象或者像使用黄页一样,可使用它们查找服务。
简介
网络管理员使用目录管理用户帐户及网络资源。从管理员的角度来看,目录服务类似于网络上的所有设备的清单。通过使用图形界面或搜索任意设备的名称或某些属性(如“彩色打印机”)可杳找其位置。一旦找到设备的位置,管理员就可对设备进行控制(如禁用或防止某些用户访问该设备)。
目录是一个为查询、浏览和搜索而优化的专业分布式数据库系统,它成树状结构组织数据,就好象Linux/Unix系统中的文件目录一样。目录数据库和关系数据库不同,它有优异的读性能,但写性能差,并且没有事务处理、回滚等复杂功能,不适于存储修改频繁的数据。所以目录天生是用来查询的,就好象它的名字一样。目录服务是由目录数据库和一套访问协议组成的系统。DNS(域名系统)是目录服务的一种形式。该系统保存有关域名的信息。类似以下的信息适合储存在目录中:
企业员工和企业客户之类人员信息;
公用证书和安全密钥
邮件地址、网址、IP等电脑信息;
电脑配置信息。
...
目录服务由与数据库类似的数据库构成。但它在很多方面不同于传统的数据库。目录的组织是有层次的,其具有对象类及对象子类。目录主要用于查找操作而不是用于连续的读取和写入。信息并不像事务交易数据库一样经常进行更改。因此,也很少考虑对目录服务数据库的分布式副本的经常更新。
早期的目录服务标准为X.500(将在别处进行讨论)。如今,Microsoft Windows 2000 Active Directory和Novell Directory Services(NDS)就是基于该模型构建的。LDAP(简便目录访问协议)是重要的目录服务协议,它是IETF定义的访问目录的客户机/服务器协议。
LDAP用于访问X.500的目录服务,它不会产生目录访问协议(DAP)访问X.500时所需的资源要求。本协议特别针对那些简单管理程序和浏览器程序,它们提供对X.500目录进行简单的读/写交互式访问,同时它也是对DAP本身的一种补充。
现在目录用于管理各种大量的信息,其中包括QoS、带宽管理策略、配置文件、电子商务信息及其他信息。在用户的身份验证、防火墙过滤及VPN访问方面也起着重要的安全作用。大多数目录产品现在将证书映射到目录中的用户帐户,并且目录能够为用户提供一次注册。DEN(目录运行网络)是解决基于策略的连网及可互用的网络问题的目录服务的倡议。
目录在电子商务和企业对企业之间的关系中扮演着重要的角色。目录可保存有关公司网络外部的人员的重要信息,用于鉴别这些人员并定义他们对于网络资源的访问权。管理员可将策略应用于目录中的对象中以快速定义团体的访问权,如业务合作者。
目录服务提供一个公用位置以存储所有类型信息。同时,某个组织可能由于安全性或商业原因想要拥有多个不同的目录。元目录是单独的或综合的目录部分,可帮助链接多个不同的目录并使各目录中的信息同步。LDAP起着连接其他目录的作用。XML可提供表示需要在目录之间进行交流的信息的标准方法。
目录结构和操作
X.500是在1988年由CCITT(现称为ITU-T)认可的一套目录服务标准。它最初旨在与X.400传送消息标准一起使用。如今,X.500主要充当商业产品的一种模型。过去设计X.500的目的是使用OSI协议族,但是TCP/IP却成为了实际的网络协议。因此,大多数目录服务如今以X.5OO为模型并设计用于在TCP/IP上运行。LDAP是对X.500协议进行修改以在TCP/IP网络上运行的协议。
X.500是一个协议族,由一系列的概念和协议组成,包括:
X.501是模型定义,定义目录服务的基本模型和概念;
X.509是认证框架,定义如何处理目录服务中客户和服务器认证;
X.511是抽象服务定义,定义X.500提供的功能性服务;
X.518是分布式操作过程定义,定义如何跨平台处理目录服务;
X.519是协议规范,定义了X.500协议,包括DAP(Directory Access Protocol,目录访问协议)、DSP(DIRECTORY SYSTEM Protocol,目录系统协议)、DOP(Directory Operator Protocol,目录操作绑定协议)、DISP(Directory Information Shadowing Protocol,目录信息阴影协议);
X.520定义属性类型要求;
X.521定义对象类型;
X.525定义如果在目录服务器间复制内容。
X.500标准中定义了很多内容,包括:
定义了信息模型,确定目录中信息的格式和字符集,如何在项中表示目录信息(定义对象类、属性等模式);
定义命名空间,确定对信息进行的组织和引用,如何组织和命名项-目录信息树DIT和层次命名模型;
定义功能模型,确定可以在信息上执行的操作;
定义认证框架,保证目录中信息的安全,如何实现目录中信息的授权保护-访问控制模型;
定义分布操作模型,确定数据如何分布和如何对分布数据执行操作,如何将全局目录树划分为管理域,以便管理。
定义客户端与服务器之间的通信的各种协议。
X.500倒置层次树如图D-24所示。目录由称为容器或叶对象的项构成。容器位于树的分枝上并保存其他容器和(或)叶对象。叶对象表示现实世界的对象,如人、计算机、打印机及存储卷。每个对象都有一个CN(公共名称)和属性(稍后讨论)。DN(辨别名称)是定义组成从树顶端到对象的路径的所有容器的名称。在图D-24中,Joe的DN是在数据库(逻辑目录树)中每个项都有一个对象类。在图D-24中US和UK属于对象类“国家”,而微软和BigCorp属于对象类“组织”。Joe属于对象类“个人”。
cn=Joe,ou=Eng,o=Bigcorp,c=US
每个对象类具有一各特定的属性(也称为“特性”或“元素”)集合。属性是数据库中可保存某值的基本字段。“组织”项将会有描述公司的属性,而“个人”项将会有定义人的属性。最常见的属性是“公共名称”、“地址”、“邮件”、“部门”、“电话:“传真”等等。
对象子类的概念是很重要的。如果创建一个对象并赋予其某些属性,然后创建该对象下的子类,则子类将自动“继承”父对象的属性。如果更改父对象,则其子类也将继承这些更改。例如对象“打印机”将具有所有打印机的基本属性。在该对象下是打印机的子类,如彩色打印机、整理打印机等。这种设计为企业管理带来了很大益处,尤其是当机构增长或变化时。
由于X.500较复杂,且需严格遵照OSI七层协议模型。造成应用开发较困难。所以开发了LDAP(简便目录访问协议),以便在INTERNET上使用。LDAP是访问目录的通用协议。它是客户机/服务器协议,其中客户机操作可添加和删除,或修改项,或只查询有关某项的数据库。客户机还可通过指定它们正查找的对象的属性来搜索数据库。可将查询限定在树的某个特定分枝的范围。例如,在图D-24中,可搜索数据库中的BigCorp项下的对象。
LDAP最大的优势是可以在任何计算机平台上,用很容易获得的而且数目不断增加的LDAP的客户端程序访问LDAP目录。而且也很容易定制应用程序为它加上LDAP的支持。
图D-24 分层命名方案
目录模式
该模式是一种定义如何在目录数据库中表示现实世界中的对象(如人和计算机)的结构化模型。它定义数据库的结构,数据库中对象的名称及这些对象的属性。RFC 2251,“LDAPv3,”(December 1997)为该模式提供了很好的描述。
该模式类似于邮政编址模式。邮政编址模式通过在信封上写上姓名、地址、城市、省份及ZIP编码来寻址。在整个国家中统一使用使邮政系统运转良好的这种模式。遗憾的是,大多数目录服务没有使用同一模式,所以将很难达到互用性。目录服务,像Novell NDS,具有一组定义的对象(如“人”和“计算机”),而管理员也可以制定他们自己的对象。但是,一旦以这种方式“自定义”目录后,当两家公司合并或电子商务合作双方需要共享目录信息成为必要时,再将目录与其他目录合并使用将尤为困难。需要使用元目录和转换方案(将在后面进行讨论)处理这种情况。
DEN(目录运行网络)倡议定义一种标准目录服务结构和模式,其可用于存储网络策略和交换机、路由器、服务器及其他设备的配置信息。
元目录
元目录通过充当对于其他目录服务的单个访问点为目录服务添加了可互用性。它是一种中间件形式。元目录为不同的目录服务提供了一种交换数据的方式。可将元目录视为一种将目录连接到其中以交换信息的中央集线器。
元目录可以集成多种目录服务,有时还可以集成其他存储系统,如将数据库集成到统一的命名空间中。元目录提供了一个集成化的一致视图,将先前相互隔离的信息集成到一个视图中。另外,元目录还可以控制数据的更新方式。例如,对于员工姓名更改,如果此更改由HR数据库引起,则元目录会视这些更改有效;如果这些更改由其他任何数据库或目录引起,则元目录将撤消这些更改。微软 Metadirectory Service和Sun One Meta Directory为元目录产品的不同例子。
Burton Group所编写的“元目录FAQ”中是这样描述:在1996年,Burton Group正式定义了“元目录”概念,它描述了联合、集中注册、属性流和其他目录服务的功能规范。该术语源自数据库领域中的元数据。元数据以目录卡描述图书馆中的书籍的相同形式描述数据库中的数据。Burton Group社撰了术语“元目录”以描述当时出现的集成并转换多个目录服务中的信息的一个产品类别。根据FAQ,“元目录服务合并了多个目录中信息的子集,其中包括有关人、团体、职能、组织单位、位置和其他资源的信息。这种合并创建了组织中不同目录的联合或统一的视图。元目录使得通过LDAP和基于Web的访问协议可访问联合视图”。
考虑单个用户在网上具有多个身份(如他(或她)的注册名和电子邮件名)是理解元目录的联合作用的最好方式。元目录也可帮助解决组织内或商业伙伴之间建立的目录中的命名方案中的差异问题。所有这些都通过跟踪更改并确保相应更新这些更改信息的系统动态完成。元目录有以下两种类型:
联合元目录 在该方案中,将创建一个指向所有其他目录的单独目录。管理员使用元目录,而无需使用每个单独引用的目录。Isocor使用该方法。
虚拟元目录
在该方案中,不创建额外的目录。相反,管理应用程序允许管理员直接使用各个目录,方法是通过索引映射模式提供目录的单个视图。Entevo使用该方法。
元目录解决了与应使用哪一种目录服务或(如果多个目录存在)哪一个应是顶级目录相关的政策问题。微软最初将其Active Directory设计为全控目录操作,但却发现这样需要支持不同种类的目录环境。于是Microsoft由于ZoomIt的Via元目录产品而收购了该公司并重新将其加工以创建“Microsoft元目录服务”。
Novell现在使用DirXML从遗留目录中获取目录信息。DirXML依靠LDAP与其他目录进行连接,而XML作为信息交换的标准格式。
最终,互用性服务将毫无疑问地集成到目录服务中。
DSML
(目录服务标记语言)
DSML(Directory Services Markup Language)是LDAP目录和XML相结合的标记语言,它利用XML来定义数据内容和目录结构并将它保存在分布式目录上。DSML将XML与目录进行集成。它提供访问目录中信息、封装信息及通过企业网或因特网传输信息的方式。DSML的主要思想是允许XML程序员能访问LDAP目录而不必写LDAP接口或使用某些目录访问API如微软的活动目录服务接口(ADSI)。
Bowstreet负责DSML,其受到主要的供应商(包括IBM、Microsoft、Novell、0racle、网景及Sun Microsystems)的支持。
DSML使基于XML的应用程序得以利用目录。基本上,标准模式定义目录信息的内容和结构。该信息进入可被传输到需要使用信息的其他应用程序的DCD(文档内容描述)中。LDAP像通常一样用于访问目录信息,而DSML则为其他应用程序提供了解释目录信息的方法。通过将DSML作为标准,就不需要为每个不同的目录编写自定义应用程序。通过用XML表达目录信息,基于XML的任何应用程序都可以使用该信息。
DSML由结构化信息标准推进组织(OASIS)中的DSML工作小组开发,标准仍然很不成熟。DSML 1.0已于1999年完成,它提供了用XML来表达数据模型和目录结构的标准方法,它最大局限在于不支持目录的查询和更新。查询允许客户从目录中请求特定信息,如公司员工的姓名、电话号码等;更新指改变目录中的信息,如改变电话号码、删除记录、添加记录等。如要查询和更新目录,只能使用LDAP接口或某些API如ADSI。
DSML2.0草案标准于2001年12月发布,它用XML文档为应用程序建立一种标准方法,来读取、查询、更新和搜索目录。DSML2.0能够定义运行在移动设备或PDA上的应用程序访问目录的方式,而且访问时无需专门的客户端;DSML2.0使程序员只用XML编程工具和技巧就可写出应用程序,而不需深入了解LDAP。DSML1.0和DSML2.0在目录表示上的区别是:前者是表示目录的状态,而后者是表示LDAP所执行的操作及操作所产生的结果。
DSML2.0的设计方法是用XML文档片段来表示LDAP请求(request)和响应(response),这些XML文档片段用作绑定(binding)时的有效载荷,绑定定义了请求和响应的文档片段是怎样以特定的方式(SOAP、SMTP、普通文件)传输的。
目录运行网络和策略管理基于策略的连网和目录正联合起来以提供管理和分配网络资源的中心位置,网络资源包括网络核心和边缘设备中的网络带宽。通过合并基于策略的管理和目录,管理员可获得对网络设备管理的更多控制和管理多个网络QoS的能力。目录中的策略规则可定义将被分配到某个具体人、团体或服务的QoS和通信路由选择的类型。
一个重要的概念是设备配置信息可从目录提供的层次管理方案中移到受益设备的目录中。设备检查集中目录查找更新信息或策略更改,而不用依靠管理员一对一地将信息编程到设备中。
Novell的ZENworks for Networks是一种网络服务软件产品,该软件通过使用Novell的NDS作为策略信息的储存库而自动进行策略管理。该产品支持端到端QoS管理并使用网络设备,如主要网络供应商提供的交换机和路由器。管理员可使用该软件为应用程序和用户分配带宽。
DEN将策略服务和目录服务合并到一个权威性、分布式智能信息储存库中。
复制和分区
大多数目录服务支持复制和分区。复制是一种将数据库复制到其他位置并确保更新和同步所有副本的方式。分区将目录在树中分枝处进行拆分,以便拆分的目录块(如部门的所有对象)可位于其他位置(如部门)的服务器上。复制和分区提供容错并允许用户访问附近的信息。
X.5OO定义了复制的主从数据库模型,其中所有的写入进入主副本,然后再从主副本写出到从副本中。另一种方案是多主模型,其中所作的更改必须同时进入多个副本。后一种模型被认为较难实施并容易丧失数据的完整性。
复制和分区提出了对同步的需要。在一个数据库中所做的更改必须也要尽可能地在副本中进行更改。如果很多管理员在不同的位置进行频繁的更新,则必须要更频繁地进行相应的更新。减少可进行更改的人员的数量有助于解决该问题。幸运的是,目录主要“查找”服务,可允许较长时间更新延迟(与传统数据库相比)。
Novell使用时间戳表示哪些更新是最近发生的,而微软的Active Directory使用顺序编号方案将某个编号分配给最新的更改。
可用服务
最重要的目录服务将在下面进行描述。Microsoft Active Directory Novell nds是两种主要的目录服务。Active Directory只使用Windows 2000运行,而NDS已被移植到各种平台中。它们之间一个显著的区别是在使用NDS的情况下,所有的访问控制都由目录管理:但在使用Windows 2000的情况下,一些访问控制在Active Directory中,而其他访问控制在服务器中。NDS遵循比较传统的X.500模型,而Active Directory仍具有微软域模型(一种专有方案)的元素。
DCE目录服务 用于维护关于各种分布资源(如用户,机器,基于DCE RPC的分布应用程序等等)的信息,包括资源的名字及位置。The Open Group的DCE(分布式计算环境)包括自己的综合其他DCE组件的目录服务。
IBM Network Directory(网络目录) IBM进入目录服务市场靠的是其DB2数据库。该数据库设计用于电子商务和企业对企业交易。IBM声称该服务比Novell的NDS及微软的Active Directory更安全、更具有可伸性。
网景 Directory Server (目录服务器) NetscaPe的Directory Server旨在成为添加、修改、和删除用户信息的中心地点。它可组织并分配遍及企业内部网上的一系列服务器上的信息。这些服务可与Netscape's SuiteSpot集成以提供结构化信息及整套应用程序的组合信息。Directory Server提供高级LDAP支持及编写目录运行的应用程序的工具。它还包括对连续操作的改进及LDAP服务器之间的异类复制。
Novell目录服务 NDS(Novell目录服务)是NetWare4.X中的一种特性,其提供与X.5OO规范相似的分布式目录服务。Novell已经将nds用在Windows NT和UNIX压平台上。nds的专用电子商务版本也是可用的。
微软 Active Directory Active Directory结合了因特网的DNS定位服务及X.500命名功能。LDAP是该服务的核心访问协议。LDAP使Microsoft's Active Directory能够通过操作系统边界运行并集成多个命名空间,因此使管理员能够管理其他供应商的目录服务。有关更多信息,请参阅“Microsoft Active Directory”。
目录互用性论坛组建的目的是推进基于LDAP标准的开放式目录。该论坛由开放式目录供应商组成,这些供应商计划制定标准主体以加速基于目录的应用程序的发展和实施。
参考资料

Warning: Invalid argument supplied for foreach() in /www/wwwroot/newbaike1.com/id.php on line 362
目录
概述
基本介绍
简介
目录结构和操作
目录模式
元目录
虚拟元目录
DSML
复制和分区
可用服务
参考资料