表1 汽车模具开发角色划分表
2 权限分配
一个角色可以有很多个权限,而一个权限也可以重复配置于多个角色,向角色分配怎样的权限,由角色要完成的任务决定。只有角色具有相应的权限后,用户委派才能具有实际意义。因而权限必须是具体的、可控制的。
OP(操作集) 指对对象的读、写和删除等操作,可表示为:OP::= ,如表2所示。
表2 操作集定义
OBJ(客体集),客体既包括计算机系统的数据客体,也包括由数据所表示的资源客体。
则权限可以表示为:,表示主体对系统中一个或多个客体以特定方式进行访问的许可。系统中拥有权限的角色可以执行相应的操作,一个权限规则可表示如下:
::=<权限标识,客体,操作集>,意为允许某些用户对某些数据进行某个操作。其中,控制客体集合可以是单一数据对象或业务对象、某一数据类型或所有数据。
在汽车模具开发项目进展的过程中会产生大量的项目文档,如任务文档和设计图纸等,文档是项目信息交流的重要内容,是任务之间的协作基础,同时还存在描述汽车零部件、模具及其零部件等节点的属性信息,所以这里的权限既可以指访问整个产品开发中的各种文档的权限,也可以指对一个特定的记录项中特定字段的访问,即对于每一个能在PDM系统中独立存储和管理的客体对象,都可以设置访问权限。
二、基于技术岗位分组的用户角色分配
直接给用户分配角色,那么随着参与企业、部门、用户和项目的变化,势必造成系统管理员分配权限的难度。如果能够将不同部门的用户按照一定的原则进行分组,将组与角色相关联,则可以大大降低权限管理的难度。
经过调研发现,目前企业的生产和技术部门一般实行专业技术岗位制度,技术岗位是一种任职资格或能力标准, 如主任师、主管师、主管员和一般技术人员等。技术岗位的设置是对人员/用户能力的静态表述,对于任务分配来说,人员/用户必须达到一定的技术水平,具备相关的能力才能在项目中执行一定的任务。因此,以技术岗位作为分组的标准,将参与网络化制造协作的部门中的人员/用户按照岗位分组。比如就参与协作的模具企业技术部门来说,D/L图设计和校对必须具有“主任师”和“主管师”岗位的人才能担任,而“技术员”岗位的用户则可以由“模具结构设计”这个角色参与模具结构设计。
从参与模具网络化制造协作过程来说,技术岗位是静态的,拥有某技术岗位的用户的职责和权限也是静态的,职责和权限具有普遍的约束意义,而角色则是和具体的项目密切相关的,是动态的,即具有某个岗位的人员/用户可以在A项目从事D/L图设计工作,也可以在B项目中以“D/L图校对”的角色进行D/L图校对。在角色和相应的权限确定后,再将符合要求的某技术岗位的用户赋予相应的角色,由此确定了每个用户的权限和职责。
通过技术岗位分组进行角色分配,考虑了参与网络化制造的模具企业目前的组织结构现状,技术岗位确定的职责和权限,体现了权限管理的静态特点,而基于技术岗位的角色分配又和项目过程中的任务密切相关,体现了权限管理中的动态特性,如图1所示。
图1 基于技术岗位的角色分配
网络化制造环境中各个企业中参与网络化协作项目的人员/用户及其角色是不稳定的,这要求系统的安全管理能够敏捷地适应这种变化,采用这种“人员/用户-技术岗位(组)-角色-权限配置”模型,能够很容易地适应这种变化。如果企业因运作需要,需增添新的角色,只要确定该角色所需具备的任职资格(即确定该角色所对应的技术岗位),然后根据项目的具体需要授予其相应的系统访问权限,安排相应的用户即可。
三、结论
本文首先对网络化环境下汽车模具产品开发中资源访问的问题进行了阐述,依据汽车模具开发过程中具体的任务需求设定角色,基于RBAC的分层概念,通过角色分层把角色组织起来,通过权限规则对角色进行权限分配,基于技术岗位进行分组,将组与角色相关联,大大降低了权限管理的难度,从而限制对资源的非法访问,支持合理共享,有效地支持了网络化环境下的产品开发。