(青岛市委市政府计算机中心 张绍缔 )利用活动目录完成跨区域的目录体系的总体构架,构建成统一的应用基础支撑体系,实现对政府各级用户的权限管理。
电子政务是一项功能模块相对复杂,业务庞大的系统工程,它承载着公文管理、信息管理、档案管理、领导批示等机关日常办公支持系统。同时,电子政务要结合新的技术手段,实现协同办公等辅助办公系统。 因此整个电子政务系统中对人员的统一管理就显得十分重要。在当今的网络应用系统管理方向中,基于目录的管理模式已经是被广大用户所认可并应用于实践,因此,通过目录服务的形式来集成管理,构建统一的应用基础支撑体系,对组织人员信息、应用系统角色信息、用户安全和应用安全信息、用户和服务之间的权限控制信息进行统一存储管理,实现对系统的用户管理、权限管理、基础信息管理统一的权限分配和管理。
经过长时间测试,青岛市采用了微软的活动目录(Active Directory)来实现电子政务系统的目录服务。基于Windows 2003 Server集成的活动目录使网络管理员可以花少一点的时间完成更多、更安全的管理任务。活动目录是认证的控制中心,而且它支持多种安全协议。无论用户是从何处登录都受到统一的安全限制。并且活动目录是分布式的、可分区的及可复制的,提高了互操作性。
总体构架和拓扑模式
活动目录由一个或多个域构成,一个域可以跨越不止一个物理地点。每一个域都有它自己的安全策略及与其它域之间的安全关系,每个域可以对应多个域控制器。
结合青岛市电子政务用户群及组织关系,充分考虑域构架中应注意的简单原则、地域原则,以及域控制器之间复制数据通信量,系统采用了单域模式。即以整个青岛市电子政务系统应用范围作为一个域,在其下创建市一级直属单位的组织单元(Organizational Unit)。例如,市委办公厅、市府办公厅、市直机关、市直单位等,在组织单元下创建具体的人员(user),从而形成“域—组织单元—用户”的三级模式的目录管理系统。并为12个区市创建与此同一级的组织单元,委派各区市管理员在此组织单元之下创建自己的所属用户。
整个构架以中心节点为核心,搭建一台域控制器,同时向下辐射,在每一个县市区中搭建物理的备份域控制器,利用其数据复制机制和时间戳技术来保证各域控制器之间数据的一致性和时效性,并且根据地域就近原则划分不同的站点,控制各县市区用户访问离自己最近的域控制器,从而达到负载均衡,提高了访问效率。其拓扑结构如图。
组织单元和人员的管理
电子政务不仅仅在一个部门应用,而是在全市范围内的大型应用,涉及几万个公务员,几百个部门。既要对人员进行统一规划,又要实现分级管理,因而需要有一个能够实现分布式人员管理的 机制。采用目录服务技术,建立人员基础信息管理系统,既可以对全市使用人员进行宏观管理,又可以由各部门对人员进行细致管理,能够通过授权灵活的定义组织和组织内的个人、群组等,并通过目录的复制技术,保证整个组织内的人员同步。
目录数据库中的结构化数据应包含有组织人员的信息存储、网络设备信息存储、应用人员权限控制信息存储以及人员安全和应用安全信息存储。为此,可以设计规划了各种对象的数据属性见:
对于组织单元的创建从管理上来说有以下用途:
(1)可以将各个组织单元的管理权限委派给各自的管理员,即由各单位管理员负责自己所在组织单元的人员变更情况。这种委派很具有灵活性,可以通过部门、每个属性访问控制和访问控制继承的组合来实现。例如,可以授权市委办公厅的网络管理员管理其市委办公厅这个组织单元下的人员添加、删除、修改操作,而不能添加群组,也不能操作政府办公厅的组织单元。这种委派特定权限可以使具有最高权限的用户数量减少的最低,并且将权限受到限制的管理员所发生的事故或错误所产生的影响只限于他们负责的范围内。
(2)建立不同的组织单元,可以通过设置组织单元的安全策略中不允许别人访问,从而达到建立自己的私有对象的目的。例如,通过隐藏市级领导这个组织单元,达到不允许各部门工作人员看到市级领导的名单的目的。
(3)创建不同的组织单元,可以由各自的管理员对自己所属的对象设立独特的组策略。组策略是一组计算机应用规则,它可以描述计算机的界面、安装程序、升级策略等等。在实际应用中,各管理员可以通过组策略实现自己所管理对象软件的自动安装。
(4)建立不同的组织单元,还可以有效地降低组织单元变更所引起的工作量。创建新的 OU、在域中移动 OU 子目录树、在同一域的 OU 之间移动对象和删除 OU 将变得非常简单。并且可以自动的更改由于变动而产生的父容器的继承关系。
应用程序与目录服务的交互
为了执行所需的任务,应用程序必须根据其用户的需要来执行操作并访问系统资源,同时还要防止这些操作和资源被未获授权的用户访问。活动目录提供了标准LDAP访问。通过ADSI(Active Directory Service Interfaces,活动目录服务接口)开发人员可以访问目录中的各种对象,提取存储在目录中对象的权限信息。
通过针对目录开发的授权管理,不仅能够对每个应用模块进行所在位置、存取控制的定义和调整,对系统人员的权限、读取内容、角色进行定义和调整,而且能够随时设置人员所对应的应用系统、对不同系统的读取权限以及对应数据库,切实方便了用户的管理,使系统的维护量降为最低,同时管理员可以为特定的用户赋予特殊的权限,以满足那些处于目录树各个层次中的个别用户对系统资源的特殊需要。提取用户属性如下:
//指定目录对象
DirectoryEntry myDE = new
DirectoryEntry(“LDAP://OU=OAgroup,OU=developers,DC=qd,DC=gov,DC=cn”);
//取对象中的子对象
DirectoryEntries childDE = myDE.Children;
//输出所有子对象的姓名和LDAP地址
foreach(DirectoryEntry myChildDE in childDE)
{System.Diagnostics.Debug.WriteLine(myChildDE.Name);
System.Diagnostics.Debug.WriteLine(myChildDE.Path);}
实现效果
通过目录服务可以实现对用户、应用和网络设施进行统一的权限分配和关系管理,是应用支撑平台的基础设施、管理工具和安全载体,为政府网上门户,单点登录,决策支持等政务应用提供了很好的支撑。 通过目录服务整合了用户,应用和网络设施之间的关系,为复杂网络的管理提供了优化的平台,具有功能全面,结构明晰,查询简捷,易于维护等优势,为电子政务系统的构建、部署和维护提供了良好的基础。 |