领域驱动的EIS访问控制系统研究

2016-09-14 07:29瞿华北京林业大学经济管理学院北京100083
中国管理信息化 2016年17期
关键词:访问控制职责信息系统

瞿华(北京林业大学 经济管理学院,北京 100083)

领域驱动的EIS访问控制系统研究

瞿华
(北京林业大学经济管理学院,北京 100083)

访问控制是保证EIS(企业信息系统)安全的主要方法之一。目前主流的EIS系统多采用基于RBAC的访问控制机制。其功能的充分发挥依赖于良好的权限分配设计,而一般的企业用户不具备相关的知识和能力,难以长期持续保持系统用户权限和企业实际工作需要的有效对应,使其往往达不到应有的安全效果。针对这一问题,本文基于领域驱动设计思想,使用企业管理者熟悉的概念,设计了一种新的企业信息系统访问控制模型,与基于RBAC的访问控制模型相比,其更容易被一般企业管理者理解和使用。在该模型的基础上,进一步使用Java语言实现了权限管理系统的demo,证明了该模型的可行性。

软件工程;企业信息系统;领域驱动设计;系统安全

1 前言

访问控制(Access Control)是通过某种途径显式地准许或限制主体对客体访问能力及范围的一种方法,是保证企业信息系统(Enterprise Information Systems,EIS)信息安全的主要方法之一。目前主流EIS多采用基于RBAC模型的访问控制机制,其具有灵活性强等特点,被广泛应用于各类信息系统中。

但基于RBAC模型的访问控制机制也存在一些问题,主要表现在:①为了保证控制的效果,在系统实施时需要对权限和角色进行精心的设计,即所谓的角色工程,成本较高;②访问控制机制与企业人力资源管理机制脱节,随着系统的运行,企业出现大量的人员和岗位变动后,系统中用户的权限往往未能得到及时和正确的更新。

为了解决上述问题,本文提出了一种基于领域驱动设计思想的EIS访问控制模型,并讨论了其具体的实现方法。

2 RBAC权限模型及其局限

RBAC模型(Role-Based Access Control,基于角色的权限管理模型)是目前各类软件和信息系统实现访问控制的主流模型。2004年,美国国际信息技术标准委员会(International Committee for Information Technology Standards)颁布了INCITS 359-2004,是目前最权威、最规范的RBAC参考模型。

INCITS 359-2004中的 RBAC参考模型由 4大构件(Component)组成,分别是RBAC核心(Core RBAC)、层次RBAC (Hierarchical RBAC)、静态职责分离关系(Static SoD relations)和动态职责分离关系(Dynamic SoD relations)。其中,核心RBAC 是RBAC参考模型最基本的模块,其组成如图1所示。

在核心RBAC中,主体(Subject)是使用系统功能的一个实体,可以是一个现实中的人,也可以是一个其他的计算机程序

图1 核心RBAC元素示意图

为了使RBAC模型能够最大程度的适用于各类系统,它本身是一个高度抽象的模型,其所采用的概念和术语也是业务领域里中立的。这是它的优点,但也导致了一般的业务人员难于理解和维护一个良好的权限系统,特别是在企业信息系统领域。

企业信息系统为了适应业务的需要,多具备复杂的功能;而为了满足系统安全的要求,在系统实施时需要复杂的权限设计。更大的问题在于,随着企业本身管理规则和流程的变化,以及企业中人员和岗位的不断变化,权限和角色的设计也应该随之变化。而大多数企业管理人员并不具备这一能力,难以充分发挥访问控制系统的作用,导致企业信息系统的安全性无法得到保障。

3 领域驱动的企业信息系统权限管理模型

3.1设计思路

领域驱动设计(Domain-Driven Design)以业务领域为核心,将领域模型作为系统分析和设计的工具。通过使用业务人员熟悉的领域概念和术语来构建领域模型,业务人员、分析人员和设计人员可以使用领域模型来进行有效的沟通,最大程度地保证用户需求、设计和代码实现之间的一致性。

如上一节所述,基于RBAC的访问控制系统最大的缺陷来自于其业务领域的中立性。因此,本文采用领域设计思想,重新设计适用于企业信息系统的访问控制模型。其核心思路是,从企业信息系统的主要用户—企业管理者—熟悉的业务领域出发,采用他们熟悉的领域概念,如岗位、职责等,来进行访问控制模型的设计,从而降低使用的门槛,更好地发挥其安全控制的作用。

3.2基础访问控制领域模型

在企业信息系统中,用户的权限本质上来源于在企业中担负的职责。因此,我们可以采用企业管理者熟悉的人力资源管理的相关概念来构建访问控制的领域模型,用简化的UML类图表示如图2所示。

图2 基础访问控制领域模型

在该模型中,最细粒度的访问权限控制单位是权限(Permission),对应着企业信息系统中的一个或多个操作,如访问库存管理中的入库信息录入表单等。职责(Responsibility)对应着企业人力资源管理中的职责概念,是权限组织的基本单位,可包含多个权限。同样的,岗位(Job)也对应着是人力资源管理中的岗位概念,每个岗位包含多项职责。员工(Employee)通过其所处的岗位间接具有了相应的职责,从而获得了相应的权限。

在该模型中,部门(Department)仅仅是员工和岗位的一个属性,对于访问控制没有直接的作用。

对于任何一个已经实行了岗位管理的企业,都可以直接将现实中的岗位设置映射为系统的访问控制权限设置。与基于RBAC模型的系统相比,更易于理解和使用。

3.3带分权和授权的访问控制领域模型

上节中所述的基础访问控制领域模型初步解决了访问控制系统不易理解和使用的问题。但对于组织结构复杂、功能繁多的大中型企业信息系统而言,还需要进一步改进,加入分权和授权的功能后,才能满足要求,如图3所示。

图3 带分权和授权的访问控制领域模型

该模型的改进主要有两点:

(1)分权功能:部门不再仅仅是员工和岗位的属性,而是员工、岗位和职责的基本组织和管理单位。系统管理员按照现实企业中的人力资源设置,将职责、员工和岗位分配给各个部门,然后在部门内部进行分配和设置。企业可以根据实际需要,将部门内部的岗位职责分配权限交由部门管理者负责。

(2)授权功能:部门的管理者可以根据实际需要,将某项职责临时授予该部门的特定员工。

通过引入分权功能,企业可以让部门自行管理部门内部的系统使用权限,既方便了系统的使用,也减少了部门管理者的隐性权力丢失,降低了系统实施的阻力;通过引入授权功能,系统具备了更多的灵活性,可以更好地满足企业的需求。

4 系统设计与实现

基于上节中所述的领域驱动的带分权和授权的访问控制领域模型,笔者使用Java语言实现了访问控制系统权限设置的演示程序①https://github.com/royqh1979/PrivilegesEditorDemo。由于篇幅所限,本文未直接展示系统的相关操作界面,读者可以直接到相关网址下载程序源代码。

5 结语

本文基于领域驱动设计思想,提出了一种带分权和授权功能的企业信息系统访问控制模型。该模型与传统的基于RBAC的访问控制模型相比,更容易被企业的管理者理解和掌握,从而真正得到良好的使用,起到应有的安全作用。通过Java语言实现的演示程序,该模型的可行性得到了证明。

主要参考文献

[1]韩道军,高洁,等.访问控制模型研究进展[J].计算机科学,2010 (11).

[2]陈琛,陈学广,等.一种基于改进RBAC模型的EIS权限管理框架的研究与实现[J].计算机应用研究,2010(10):3855-3858.

[3]李凤华,苏铓,等.访问控制模型研究进展及发展趋势[J].电子学报,2012(4):805-813.

[4]强振平,何丽波,等.基于RBAC的复杂信息系统中访问控制模型的设计[J].计算机科学,2014(z1):429-432.

[5]马晓普,李瑞轩,等.访问控制中的角色工程[J].小型微型计算机系统,2013(6):1301-1306.

[6]王忠,程磊.基于领域驱动设计的软件开发[J].软件导刊,2008 (2):37-39.

10.3969/j.issn.1673-0194.2016.17.037

TP315

A

1673-0194(2016)17-0077-03

2016-06-30

中央高校基本科研业务费专项资金暨北京林业大学科技创新计划项目(No.BLX2012007);国家自然科学基金资助项目(71402006)。

瞿华(1979-),男,北京林业大学经济管理学院讲师,博士,主要研究方向:信息系统与商务智能。等。每个角色(Role)对应多个具体的权限(Permissions),每个用户(User)可以具有多个不同的角色。当某个主体需要执行某项操作时,其首先被映射为系统中的特定用户,然后根据该用户具有的角色被分配相应的权限。系统通过实时检查主体被分配的权限来决定是否允许其进行执行的操作。

猜你喜欢
访问控制职责信息系统
企业信息系统安全防护
LNG安全监管职责的探讨
满腔热血尽职责 直面疫情写忠诚
徐钲淇:“引进来”“走出去”,都是我们的职责
基于区块链的通航维护信息系统研究
信息系统审计中计算机审计的应用
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
基于SG-I6000的信息系统运检自动化诊断实践