对于现有产品全生命周期管理在保证信息正确传递和交换的管理中,一个重要的考虑内涵就是数据的安全管理。数据的安全管理是同整个产品开发当中各个环节都具有紧密相关的关系,必须放在一起综合考虑解决,必须要有相应的信息管理制度,否则容易发生信息堵塞或瘫痪。人员对信息操作的权限是信息管理制度的重要部分,在PLM中的用户管理就是一个最重要的组成部分。通过建立用户管理模型,实现安全权限的自动管理,对数据操作权限的设置和规定,不仅促进产品开发的协调,同时也实现了预期的数据保密的目的。从产品总体开发的角度出发,进行动态的全生命周期的数据安全保密的考虑,具有相当可行和实际的研究意义。
1 规范权限控制
为了能够创建、更改或阅览业务对象和数据对象,PLM系统用户组或用户需要一个特殊的权限。按照所执行任务的不同将PLM系统中的资源对象或功能分配给有关的用户组或用户。在建立用户管理模型时,确定用户组或用户相应的规则,同时也应该确定电子仓库及各自的访问规则和传送规则。
1.1 用户组的安全权限管理
安全权限管理是同用户组、流程的进行以及数据的管理等内容紧密相关的,彼此之间是相互嵌套组织的。安全权限的管理是一个需要全面考虑的管理内容,主要有如下几点:
(1)某用户组或者用户对某数据能否操作的安全权限管理;
(2)某用户组或者用户对某数据能够进行何种方法的操作的安全权限管理;
(3)数据伴随着开发流程的进行发生的状态的变化所导致的安全权限管理;
(4)考虑到用户组中不同用户和用户组之间多个对应关系所带来的用户流动的安全权限管理。
安全与权限管理策略主要是通过对用户组的管理来实现的,因为直接对各种数据对象进行操作的是用户组。用户组就是根据开发任务的不同形成的各个协同工作的小组。这些小组的安全权限管理就是赋予其对某种安全级别和安全类别的数据对象的某些操作方法进行授权。同一人员可以分属不同的工作小组,而各个小组所具有的安全权限的综合就是该人员相应具有的权限。在各个工作小组的内部还应该根据任务负责状况,确定不同的级别,授予不同的权限。
1.2 用户权限的设计
为保证数据安全性,应实现应用系统的安全权限管理与分配、用户登录与退出、用户操作权限管理、用户操作审计与监督,以及某些特殊功能的口令检查等等,以保证整个系统的正确、安全运行,有效的防止信息的泄密和抵御外界对系统的破坏与干扰。
1.2.1 用户的标志与鉴别
PLM应用系统的每个用户都有区别予其他用户的唯一的用户名称,在安全子系统中,我们把它记为用户标识号(UserlD)。所有合法用户的标识号(UserlD)都登记在应用系统用户登记表中,未在应用系统用户登记表中登记的用户必是非法用户。由于用户名称的唯一性,我们很自然的就选定它作为用户的标识。然而,出于对系统用户进行规范化管理的需要,用户的名称对应用系统管理员、数据库管理员和功能模块管理员来说是公开的,从而,用户名称的保密程度是相当有限的,依靠它来鉴别一个系统用户是不可靠的。为了正确鉴别系统用户,我们允许每个用户拥有他自己的用户口令,在安全子系统中,我们把它记作用户口令(UserPassWord)。用户的用户口令(UserPassWord)只能由用户自己来管理,其他任何用户(包括系统管理员、数据库管理员和功能模块管理员)都不得对其进行查询或修改。用户的用户口令(UserPassWord)的登记在用户访问权限表中。那么,对于一个合法的系统用户,可以用用户标识号(UserID)唯一的标识,而用用户口令(UserPassWord)对其进行鉴别。
1.2.2 系统权限管理
PLM系统的权限管理可采用分权管理的策略。由应用系统管理员负责管理整个应用系统用户(如图1),他可以动态地增加、删除系统用户,但是,他不能为某个用户对一个功能模块进行授权;对功能模块授权必须由相应的模块管理员进行。这样做可以防止系统的高级权力过分集中于系统管理员,减少了系统管理员无意或故意摧毁系统或窃取系统机密的可能性。应用系统管理员管理整个应用系统的用户,是通过系统管理员程序实现的,他不得直接操纵系统安全库,这样可能会破坏安全库数据的一致性。为此,安全库中的许多数据都是以加密形式存放的。
图1 系统权限管理
系统管理员程序是一个独立的功能模块,专供系统管理员使用。没有系统管理员密码是无法访问其功能的。它的功能只有两个:新建系统用户、删除系统用户。新建一个系统用户,就是往应用系统登记表和用户访问权限控制表中增加一条记录,而且,记录中除了用户名、用户所在部室、行政职务以外,其他的域都不由系统管理员填写。删除一个系统用户,就是删除应用系统用户登记表和用户访问权限控制表中对应于该用户的记录。模块管理员管理访问该模块的所有用户,是通过模块管理员函数实现。通过该函数,模块管理员可以增加、删除、修改访问相应模块及其各子功能的用户,并可调整模块的安全属性(如图2)。
图2 系统管理模块图
2 数据的安全权限管理
在面向对象的开发系统中,数据的管理是以对象类型来组织管理的。系统的数据有两种:一种是直接和数据有关的对象,如document等,另一种是提供产品开发支持的对象,如item、folder、engineer change等。不论是哪种对象,都具有相应的数据侧面和操作方法侧面。
对于直接和数据有关对象的数据侧面的安全权限管理来说,主要采取如下两种策略:一是对根据数据的敏感程度定义安全级别,并且应该实现级别的嵌套,安全级别高的可以兼容安全级别低的数据。另一个就是根据产品数据的范围定义数据的类别。不用的类别代表不同零部件的数据。
不管是何种类型的对象,都具有一定的操作方法定义。这方面采取的策略主要是将这些操作方法分为两种类型,一是开放的方法,也即这种管理之下的操作方法对于开发系统当中的任何用户都可以使用。二是需要授权的方法,也即该种管理之下的操作方法必须通过相应的授权才能够操作。
相应的数据属于何种安全级别和安全类别是在创建该数据对象时定义的,而对数据对象的操作方法的安全权限的定义是在系统管理中进行的。
一个用户进入系统时的用户登录与身份验证可以准确识别用户的身份,屏蔽非法用户,获取合法用户对系统各功能的访问权限以及当前系统各功能的安全属性。所以它是访问控制的基础和关键。在PLM中,当用户成功登录后,用户的访问权限和相应模块的安全属性就已经记录在安全库中。这以后,该用户要访问该模块中任一有安全性要求的功能时,就可以根据安全库中的信息进行严格的访问控制。具体地说,一个模块所有有安全保密要求的功能都在该模块内部进行编号,从1开始,依次为2、3、4......编号为1的功能即是指该模块本身。在安全数据结构中,当前用户编号为K的功能的访问权限被记录下来。所以,当用户成功登录后,要根据记录编号为K的功能的访问权限信息相应的修改各子功能对于用户的可见性。比如,对于,没有访问权限的功能,用户是不得访问的,表现在界面上,就是执行该功能的菜单项对用户灰显,不可选的。另外,用户访问那些有安全保密要求的对用户可见的子功能时,还必须再次经过权限验证。
3 结论
PLM技术是一项对产品相关的数据和过程进行集成化管理的技术,已经在越来越多的大中型企业中进行了实施,实现企业的信息集成和过程的集成,成为企业信息化集成的管理平台。因此,PLM系统中数据的安全性问题更是应该值得高度重视的问题。根据不同的PLM系统实施面向对象的不同,将组织模型、安全权限管理过程、产品开发过程、产品生命周期等合理组织起来,实施基于企业权限的流程设计是一个行之有效的方法。
(转载)