引言 北方联合电力有限责任公司(以下简称北方公司)ERP项目从2006年4月开始启动,实施了财务管理模块(FI/CO/TR)、物流管理模块,于2009年6月成功通过验收并由专家评审达到国内领先水平。 ERP系统所支持的业务处理以及有待处理的大量数据是企业的重要资源,应予以特别保护。为了防止非法用户使用系统及合法用户对系统的非法访问,需要对应用系统的采取保护措施,合理的用户及权限管理是一种有效的手段,可以很大程度降低应用系统的安全风险。 在ERP系统中,系统权限管理员根据每个用户的岗位和工作职责,为其分配相应的权限。如果给用户分配的权限不够,则不能满足用户业务操作的需求;但如果分配的权限过大,用户可能会越权执行一些操作,给系统数据及公司业务安全带来风险。北方公司ERP系统应用范围涉及本部及下属各核算单位,部门岗位多、用户数量大,建立一个规范的系统用户权限管理机制则显得尤为重要。 1 ERP系统的授权机制 SAP ECC5.0 ERP系统采用的是目前国际上比较流行的基于角色的访问机制(Role-Based Access Control,RBAC)。角色又分为单一角色和复合角色,单一角色是指事物代码(Transaction Code)的集合,也包括事务代码所要求的权限对象、权限字段、字段的值等,它们共同决定了具有该角色的用户在系统中的操作范围;而复合角色是若干单一角色的集合。基于角色的授权机制如图1所示。 点击图片查看大图
图1 授权机制
用户在ERP系统中进行业务处理是通过各种事务代码来实现的,每个事务代码都对应着不同的功能程序。程序的设计除了实现业务处理的基本功能外,还包含执行这个事务代码所需要进行的授权检查(Authorization Check)。新建一个用户ID时,该用户ID默认的权限是空白,无权进行任何操作。为用户授权实际上是通过角色或者直接通过权限参数文件将不同的权限授予不同的用户,授权后其用户主记录中记录了他的授权信息。当用户执行某事务代码时,事务代码对应的程序对用户主记录中的授权信息进行权限检查,检查通过了,就说明该用户具有该操作权限,业务得以顺利进行,反之,系统就自动终止事务处理,并提示用户无权使用。 2 用户权限管理流程设计 2.1 传统用户权限变更的模式及存在的问题 传统的权限申请流程,是最终用户根据实际需求,填写《用户权限申请表》并提交给系统权限管理员,管理员根据用户的岗位职责进行审批,审批通过后在系统中做相应的权限调整,同时反馈给最终用户。 虽然传统权限申请流程也对系统用户权限实行了统一集中管理,但也存在着很多弊端: 权限申请的审批、维护是由权限管理员完成的,管理员对业务单位部门岗位职责分配及业务操作的熟悉程度有限,很难确定最终用户提交的权限申请的合理性; 最终用户不了解权限的构成情况,单从角色描述很难判断角色所包含的具体内容,从而造成最终申请到的权限与所需要的权限不一致; 用户申请权限时通常都是通过电话或电子邮件,随着时间的推移,申请变更的数据量逐渐增大,用户和权限管理变得极其混乱; 权限管理员处理权限申请时,往往需要反复沟通才能完成最终权限调整并记录归档,而且在做权限调整时也不可避免的产生错误,使得管理员的工作量大而且效率低。 2.2 流程化的用户权限变更模式的实现 针对传统权限申请流程存在的问题,北方公司对传统流程进行了优化,将用户权限变更过程从技术维护转变为技术、业务部门共同参与的业务操作,实现了三级流程化的权限管理。优化后的权限申请流程如图2所示。 点击图片查看大图
图2 优化权限申请流程
3 方案设计 3.1 模块化结构 通过对业务流程和管理需要进行分析,整个用户权限变更模块设计包括三个主模块:最终用户创建申请子模块、业务部门审批子模块及信息部门执行子模块,两个辅助模块:管理员维护子模块,报表查询子模块。程序流程设计如图3所示。 点击图片查看大图
图3 程序设计流程
3.1.1 用户创建申请子模块 用户提出权限变更申请,在ERP系统中创建权限变更申请单,权限变更类型包括新增用户及权限、已有用户权限更改、锁定/解锁用户。 3.1.2 业务部门审批子模块 创建完成的权限变更申请提交后,业务部门审批负责人员根据用户业务实际需要,进行相应的审批(流程Ⅱ-业务部门审批)。
3.1.3 信息部门执行子模块 业务部门审批通过后,该申请单自动提交到信息部门进行审批,信息部门负责人根据用户实际需要,确认变更申请合理后,即在系统中执行该申请单,系统则自动将所申请用户的权限做出相应修改(流程Ⅲ-信息部门执行)。 3.2 程序设计 3.2.1 数据库表结构 在权限变更模块中所执行的每一步操作,都会在相关的自建数据库表中产生记录,由于流程的需要,一些表中的数据要相互关联。用户创建权限申请表结构举例如下:
3.2.2 流程关键点 用户权限管理模块包括三个流程,为了在程序中实现流程关键点控制,每一次权限申请都会自动产生唯一的申请单编号,通过申请单编号将所有自建数据库表中的信息进行关联;申请单状态则是记录申请被处理的进度,保证权限申请在三个流程间的顺利过度。 4 功能实现 为了确保用户权限管理模块的良好应用,要求各模块有专人负责业务操作。申请创建由各应用单位设置权限维护主数据人员实现本单位用户权限变更的申请,审批环节由公司相应业务部门人员进行审批,执行环节由公司权限维护人员完成。各子模块功能及实施效果介绍如下: 4.1 权限申请子模块 各应用单位权限主数据人员登录ERP系统中,通过菜单或直接输入相应事物代码即可进入到创建权限申请单的界面,来创建权限变更申请单。创建权限变更申请提供了创建用户、权限变更、锁定用户三种变更类型。输入系统用户名、公司代码、部门岗位、修改备注等信息后,即可进入到角色选择界面(如果变更类型选择“锁定用户”,不会出现角色选择界面)。 在角色选择界面,左侧显示用户可以选择添加的角色,右侧为用户已经拥有的角色。用户可以通过点击添加和删除按钮,为所申请的用户增加和删除某些角色。如果删除用户原有角色,该角色就会在“用户角色”栏下消失,同时增加到“可添加角色”栏下,并以红色显示;如果增加用户没有的角色,该角色就会在“可添加角色”栏下消失,同时增加到“用户角色”栏下,并以绿色显示。 在选择增减角色界面,如果用户对该角色包含功能不了解,可以通过双击该角色,进入到该角色详细信息的界面,了解该角色包含的可在系统内执行的事务代码。 选择所要增加或删除的角色后,点击“生成”功能按钮,系统会自动产生一个申请单号,此时系统会弹出确认对话框,提示用户是否需要提交申请单。提交后的申请单就进入到业务部门审批环节,不可再修改。此外权限申请人员可以通过报表,查看权限申请的进度。 4.2 权限审批子模块 公司业务主管部门负责权限审批的人员,登录到ERP系统中,通过系统菜单或直接输入事物代码即可进入到权限审批界面,来完成对本业务部门权限申请单的审批。权限申请审批初始界面以列表形式显示本业务部门各应用单位提交的权限申请单,双击要审批的权限申请单,即可进入该申请单的审批界面。 在权限申请审批界面下,审批人员可以通过“角色描述”及“岗位说明”对权限申请的合理性进行判断,或者通过双击角色行,进入到该角色的详细信息界面。可以选择同意或拒绝来完成对该申请单的审批,选择同意后该权限中请就进入到信息部门执行环节;选择拒绝后该权限申请就驳回给相应的权限申请人员。如果审核人员认为申请的内容,除有某一项或几项角色申请不合理,其他内容均为合理申请,可选中不合理的行项,点击菜单栏的删除功能按钮,将选中的申请项目删除,然后完成审批。此外权限审批人员可以通过报表,查看审批记录等信息。 4.3 权限执行子模块 系统权限管理人员登录到ERP系统,进入到执行权限申请主界面,系统会将所有经公司业务主管部门审批通过的申请单以列表形式显示。选择要执行的权限申请单,双击即可进入到权限申请执行界面,执行权限申请的功能及界面设计与审批权限申请类似。 系统权限管理人员如果选择“拒绝”,该权限申请单会自动驳回给对应的权限申请人员:如果选择“同意”则系统会自动按照权限申请单的内容对系统用户权限做相应的调整,并将处理信息保存到相关数据库中,生成处理日志。 4.4 管理员维护子模块
管理员维护子模块主要包括期色维护、用户维护、数据清理、日志查看、删除用户和物资用户规范等功能。通过这些功能的应用,充分保证了用户权限管理模块的是活性和可扩属性。 4.5 报表查询于模块 通过相关报表查询功能,对备单位各部门的用户权限分配情况、保管员与库位的对应情况.采购员与采购组对应情况等信息进行查询。为最终用户与系统权限管理员沟通提供了便利,也加强了最终用户对系统权限的了解。 5 结语 优化后的用户权限管理流程,实现了公司业务主管部门参与其中的三级流程化管理模式.强化了对各应用单位业务及岗位规范的监督管理。用户权限管理模块成功地克服了传统管理方式下存在的问题,而且在界面的友好性、变更的准确性和可靠性等方面都有很好的体现。 用户权限管理模块从2009年4月正式运行以来.各应用单他的用户权限变更全部在用户权限管理模块按照流程执行.累计完成权限变更1700多条,运行状况良好,有效地规范了北方公司ERP系统用户权限的管理,为公司ERP系统的安全稳定运行提供了有力保障。
|