基于角色管理的系统访问控制_第1页
基于角色管理的系统访问控制_第2页
基于角色管理的系统访问控制_第3页
基于角色管理的系统访问控制_第4页
基于角色管理的系统访问控制_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于角色管理系统访问控制

1.引言(introduction)

1.1.关键词定义(definitions)

关于定义说明以下:安全管理:计算机技术安全管理范围很广,能够包含网络安全性、数据安全性、操作系统安全性以及应用程序安全性等。很多方面安全性管理大都已经有成熟产品了,我们只需依照自己需要有选择性使用就可达成自己目标了。本文中关于关包括"安全管理"一词均只针对本企业推出应用中关于对象与数据而言范围有限。主体:即能够象应用系统发出应用请求任何实体,包含各种用户、其它与本系统有接口应用程序、非法入侵者。系统必须具备识别主体能力,接口实际上也是由用户登记,故主要问题是校验用户身份正当性,系统应建立用户判别机构以验证用户身份。用户:用户就是一个能够独立访问计算机系统中数据或者用数据表示其它资源主体,我们用users表示一个用户集合。用户在通常情况下是指人。权限:权限是对计算机系统中数据或者用数据表示其它资源进行访问许可。我们用permission表示一个权限集合。可分为对象访问控制和数据访问控制两种。对象访问控制:用一个二元组来表示:(控制对象,访问类型)。其中控制对象表示系统中一切需要进行访问控制资源。我们将引入一套完整资源表示方法来对系统中出现各类资源进行定义和引用(详见后述)。访问类型是指对于对应受控对象访问控制,如:读取、修改、删除等等。数据访问控制:假如不对数据访问加以控制,系统安全性是得不到确保,轻易发生数据泄密事件。所以在权限中必须对对象可访问数据进行按不一样等级给予加密保护。我们一样用一个二元组来表示:(控制对象,谓词)。权限最终能够组合成以下形式:(控制对象,访问类型,谓词)。角色:角色是指一个组织或任务中工作或位置,它代表了一个资格、权利和责任。我们用roles表示一个角色集合。用户委派:用户委派是users与roles之间一个二元关系,我们用(u,r)来表示用户u被委派了一个角色r。权限配置:权限配置是roles与permission之间一个二元关系,我们用(r,p)来表示角色r拥有一个权限p。2.需求分析

依照我们在本行业多年积累下来经验,参考了其它同行成功经验整合了先进思想,我们有能力为我们自己应用系统开发一套功效完善而且又灵活方便安全管理系统。使开发人员从权限管理重复劳动负担中解放出来,专心致力于应用程序功效上开发。经过搜集企业从事mis项目开发经验丰富软件工程师对在各种情况下对应系统安性提出需求做出了以下总结。本系统在安全管理方面要考虑以下几个方面问题。2.1.角色与用户

需求:

角色由用户(这个用户与下一行"用户"应该不是同一个定义,"客户"好像适宜一些@不错,此处用户确是有些偏于指向我们协议意义客户,不过我认为与下面定义"用户"不存在什么本质上区分,因为客户最终也是以在系统中登记用户身份来使用本系统,用户所能完成功效也就是客户需求。二者之间细微区分读者可自己经过上下文加区分)自行定义,依照业务岗位不一样能够定义多个角色。登录系统,首先需要向系统申请注册,同一个用户只能在系统中登记一次。用户是登录系统楔子,角色是用户权限基础。用户能够饰演多个角色。将某一角色授予某一用户时,权限不能超越该角色权限,但能够小于该角色权限。用户口令与数据库访问口令加密分析说明每个用户在系统中由一个唯userid标识。用户经过系统登录界面登录系统,系统经过加密算法验证用户身份和判断用户是否已经登录系统。假如登录成功通知applicationpreferenceservice和安全管理系统保留用户登录信息。角色由用户依照自己构想组织机构进行添加设置,提供一个专门模块用来设置组织机构,用户经过组织机构(定义@部门机构还是后面提到"机构是实现和执行各种策略功效集合")方便地进行角色管理。比如:用户能够经过部门机构来进行角色管理,部门采取编号分层方式,编号每两位为一个层次。比如一级部门编号为两位,二级部门编号为四位依这类推下去直到将全厂部门机构建立树状结构图。这类数据仅为方便用户管理角色而存在,在系统其余方面不存在任何意义。每个角色在系统中也是由一个唯一角色编号来标识,同时必须保留用户所设置机构信息,通常来说每个角色只需要保留自己所在机构代码即可。2.2.菜单控制

需求

此菜单乃系统业务功效菜单。由业务功效模块列表和用户菜单定制共同组成。每个用户能够拥有自己菜单,也能够直接采取角色缺省菜单(当用户同时充当多个角色而且权限重复时,重复权限仅一次有效)分析说明为了方便用户进行权限组织管理,需要在系统中建立一张业务功效模块列表,在用户界面上表示为树状分层结构。业务功效模块以用户定制菜单来表现,依然采取编号分层方式,编号每两位为一个层次。并标明一个层次是子菜单还是业务模块,子菜单只有一个可否被访问权限设置,业务模块权限由系统管理员或授权用户进行设置。对每个业务模块设置它对象控制、统计增删改控制和统计集控制。当用户拥有对业务模块某一权限时,必需对处于它上级子菜单有可被访问权限。删除某一个级子菜单时将提醒用户他下级菜单与功效模块都将被删除掉。当用户同时充当多个角色而且权限重复时,重复权限仅一次有效,用户拥有他充当全部角色权限并集。用户与角色拥有系统权限查询时以业务功效模块列表树状结构显示出来。2.3.对象控制

需求

对象是指应用系统窗口中可视对象,如菜单项、按钮、下拉列表框、数据编辑控件及数据编辑控件字段等。对象控制经过角色与用户授权来实现。对象控制包含对对象属性控制可对数据编辑控件中数据统计维护权限:对象属性:使能/禁止、可视/屏蔽统计维护:增加、删除、修改组合分析说明将每个业务模块可进行属性设置对象由程序员事先设定或由售后技术支持工程师指导用户加入。在系统管理员或授权用户进行设置业务模块每种权限时,设置用户在拥有该业务模块这种权限时对象属性。没有设置属性对象在保留对象信息时候,用户权限信息中不被保留。2.4.统计集控制

需求

统计集控制是经过条件设置来实现,所以,需要控制统计集数据库表需要设置专门统计集筛选字段,而筛选条件由用户依照岗位自进定义,建立过滤表,统一管理。分析说明在对用户设置业务模块权限时,同时在过滤表中设置本模块数据编辑控件数据筛选条件,筛选条件是组成sql语句where条件子句迫使当前访问模块依照筛选条件对数据编辑控件sql语句进行重组,并检索数据。当存在需要从数据库中多个表取数据情况时,过滤表中存在多条统计,每一条统计统计一个数据编辑控件取数筛选条件。sql语句where子句生成与校验能够经过sql语法分析服务,利用对象所提供函数分析sql语句,截取where条件子句,校验新组合sql语句正当性。2.5.权限分布管理

需求

上述提到权限管理内容应该满足既可集中管理,也可分散管理目标。分析说明权限管理由系统管理员集中管理,系统管理员工作负担过大,难对全部岗位分工有全方面和详细了解,对权限作出标准细致划分,对于大型管理系统适合于把一部分设置权限交由一些比较高级用户来进行,有利于各岗位细致协调工作。这就是权限分散管理。要实现权限分散管理,就须对授权模块进行一些授权管理,这要求整个系统授权安全管理工作要做到细致,不要出现权限漏洞使一些高级用户拥有过大权限。3.方案设计

3.1.安全保护策略

从上面各方面需求分析来看,我们需要一套既行之有效,又方便灵活安全管理方案。要采取各种控制机构和密码保护技术。安全保护策略是设计安全可靠系统准则,通常包括以下几个方面:区分安全策略与安全机构。策略是信息安全性高级指导,策略出自对用户要求,设备环境、机构规则、法律约束等方面详细研究。策略主要性在于指导作用。而机构是实现和执行各种策略功效集合。完善机构是实施正确安全策略物质基础。故通常要求机构能实现不一样策略,方便策略变动时无需要更换安全机构。安全策略:企业信息管理系统是一个大型分布式数据资源管理系统,它包含信息量巨大以及不一样程度信息敏感度,各种有访问需求用户,使得其安全管理非常复杂。基于角色系统安全控制模型是现在国际上流行先进安全管理控制方法。我们安全管理系统也依照本身需要有选择性吸收其部分思想。其特点是经过分配和取消角色来完成用户权限授予和取消,而且提供了角色分配规则和操作检验规则。安全管理人员依照需要定义各种角色,并设置适宜访问权限,而用户依照其责任和资历再被指派为不一样角色。这么,整个访问控制过程就分成两个部分,即访问权限与角色相关联,角色再与用户关联,从而实现了用户与访问权限逻辑分离,以下列图所表示,角色能够看成是一个表示访问控控制策略语义结构,它能够表示负担特定工作资格。

因为实现了用户与访问权限逻辑分离,基于角色策略极大方便了权限管理。比如,假如一个用户职位发生改变,只要将用户当前角色去掉,加入代表新职务或新任务角色即可。研究表明,角色/权限之间改变比角色/用户关系之间改变相对要慢得多,而且委派用户到角色不需要很多技术,能够由行政管理人员来执行,而配置权限到角色工作比较复杂,需要一定技术,能够由专门技术人员来负担,不过不给他们委派用户权限,这与现实中情况恰好一致。除了方便权限管理之外,基于角色访问控制方法还能够很好地描述角色层次关系,实现最少权限标准和职责分离标准。安全保护机构:本系统安全保护机构基本上是于上面安全策略相互适应,系统保护总体结构示意以下:

保护机构应负责阻止一切物理破坏和用户可能操作破坏,后者归结为主体可用何种方式访问哪些对象。主体、访问类型、对象是我们要讨论保护机构主要成份安全管理职责:安全管理有集中管理与分散管理两种。前者意指一切权利都由负责系统安全工作专职人员或小组组掌握,他(们)决定用户访问权利,控制系统安全一切方面。后者是指不一样管理员控制着系统安全不一样方面,管理系统不一样部分,决定不一样用户访问权利,甚至允许对象全部者转让访问对象权利,集中管理,安全可靠但不灵活;分散管理则应考虑防止漏洞和协调一致问题。本系统因是针对大集团企业管理产品权限分配比较复杂,故采取了集中管理与分散管理相结合形式。访问控制策略。它提供决定用户访问权利依据。其中最主要一个普遍标准是"需者方知策略"(theneed-to-know)。也就是说,只有一个工作需要,才是他应该知道。它从标准上限制了用户无须要访问权利,从而堵截了许多破坏与泄露数据信息途经。按照这一标准授予用户权利,是用户能完成工作最小权利集合,故也称之为"最少特权策略"。信息流动控制。只限制用户访问权利而不考虑数据流动是极其危险。比如,在考勤时各部门主管只能为自己部门职员考勤,人事部能够提取全部数据,所以在提取数据时一定要加以限制。控制数据流动以预防无权用户在数据流动后取得访问权利。密码变换。对于非常机密数据可变换为密码存贮,使得不知道密码入侵者无法破译所得到数据密码。密码变换能预防泄密,但不能保护数据信息不被破坏。软硬结合保护。这是安全保护基本策略,许多硬保护功效是软件难以实现,有些即使能实现,效率也不高。对安全遭到破坏响应。各种保护机构都有可能遭到破坏,所以系统必须制订检测破坏伎俩与处置方法。3.2.安全管理机构分析

3.2.1.功效框架示意图内部总体功效框架图

外调用功效框架示意图

3.2.2.主要功效组件职责

3.2.2.1.对象定义工具与权限定义工具对象定义工具。

对象是指系统中各种功效模块、数据、界面元素(包含菜单、按钮等各种界面上能控制控件)等,它们是主体能访问各种对象。因为对象机密程度不等,受到保护程度亦有差异。系统中对象均由程序员经过系统提供对象定义工具事先定义好系统要控制对象。系统也只能控制这些事先已定义好对象,所以,对象定义是整个系统关键步骤直接影响后面各个安全控制步骤。提议由开发程序员进行初始化配置。对象定义包含以下几步:功效模块定义:系统中除部分公用界面、公用功效模块外,其它均为业务功效模块是用户完成各自不一样业务功效主要算路径,也是我们安全管理要保护重点对象,所以我们必须对业务功效模块定义。有定义功效模块对象我们就有可能组织权限依照用户需要完成工作配置用户业务功效菜单,这也符合"最少特权策略"。界面元素控制:除了功效菜单要受到控制外,如要控制功效模块界面元素其功效模块界面元素也需定义,大部分界面元素均包含有相关业务功效操作,所以对对应操作界面元素是进行定义是有必要。数据信息控制:业务功效模块大部分界面元素是显示和操作数据内容基础,也是用户对读取数据和操作数据主要路径,为了数据信息安全有必要对这界面元素操作数据给予采取安全保密方法。这就需要对这些界面元素定义相关数据约束条件。对象定义(流程)流程图以下

权限定义工具。

在定义好系统对象前提下,定义对象在不一样情况访问类型,希望对象在不一样情况下具备不一样访问类型,这就需要定义对象权限。定义权限就是是定义对象访问控制和数据访问控制。为了表述方便我们对权限用一个三元组符号来表示p(o,t,p),其中o表示访问对象;t表示访问类型;p表示谓词。表示在谓词p为真时对于对象o可进行t类型访问。权限定义系统安全管理基础步骤之一,只有给各种对象定义好访问权限,才能给角色配置权限,基于角色管理才能成为可能。系统提供定义权限工具,请程序员依照实际需求定义对象权限。定义权限流程图以下:

3.2.2.2.角色定义与权限配置角色定义。

基于角色访问控制方法思想就是把对用户授权分成两部份,用角色来充当用户行驶权限中介。这么,用户与角色之间以及角色与权限之间就形成了两个多对多关系。系统提供角色定义工具允许用户依照自己需要(职权、职位以及分担权利和责任)定义对应角色。角色之间有对应继承关系,当一个角色r1继承另一个角色r2时,r1就自动拥有了r2访问权限(表示r1->r2)。角色继承关系自然反应了一个组织内部权利和责任关系,为方便权限管理提供了帮助。角色继承关系提供了对已经有角色扩充和分类伎俩,使定义新角色能够在已经有角色基础上进行,扩充就是经过增加父角色权限去定义子角色,分类经过不一样子角色继承同一父角色来表现。另外还允许多继承,即一个角色继承多个父角色,多继承表现对角色综合能力。角色定义示流程图以下:

权限配置。

角色是一组访问权限集合,一个用户能够是很多角色组员,一个角色也能够有很多个权限,而一个权限也能够重复配置于多个角色。权限配置工作是组织角色权限工作步骤之一,只有角色具备对应权限后用户委派才能具备实际意义。权限配置流程图以下:

3.2.2.3.用户、用户组定义用户定义。

系统最终使用者是用户,所以必须建立用户判别机构,登记用户身份信息。在系统中定义可登录用户操作系统是系统安全管理所必须步骤,也是人与系统接口。用户组定义。

为了本系统适适用于分散式权限管理,加入了用户组概念,是指一群用户集合。方便权限管理用户组也能够委派角色,当用户被加入用户组时自动对用户所在用户组拥有角色进行了委派。为了便于分散式权限管理系统同时还支持对部分组权限进行下发方式处理,授权特定用户对用户组用户权限进行管理。3.2.2.4.权限审查

在授权完成后可检验登录用户所拥有能力表信息,审查给用户权限是适宜,如不宜可重新进行用户委派和收回部分权限处理。现在系统只能以对用户组管理模式对一个用户组内用户可进行部分权限收回处理。3.2.2.5.用户判别机构

安全保护首要问题是判别用户身份。现在有三种方法可用:第一、利用用户物理特征(声波、指纹、相貌、署名)。这在理论是最可靠,但因为物理特征可能随时间改变且统计尚欠成熟等原因,使该方法未能广泛应用。第二、利用用户特有证件,如身份证、机器可读卡先考片,其缺点是证件可能被他人复制或冒用。第三、利用用户知道某件能证实其身份约定(如口令)。这是当前较为惯用方法。本系统采取第三种方法。用户名称标识其它情况chendagood……如上表所表示是用户判别机构保留一张登记有每个用户名称、标识和关于情况表,表中用户名通常是公开,标识则是保密,当用户要访问系统时,须首先把自已名称和标识登记到系统中(即出示证件)。这时用户判别系统机构检验用户标识是否与用表中标识一致,是则认为用户身份己得到证实,不然认为是假冒,系统将拒绝用户要求执行操作。口令是最惯用一个标识,通常由若干字母、数字组合而成。系统只允许用户连续两次或三次登记口令,假如都不对则要等候一段较长时间才成重新登记,这种延长时间方法能够有效预防冒名者猜测口令可能。3.2.2.6.访问控制机构

杜绝对系统非法访问主要方法是访问控制。用户系统访问规则能够用访问规则表示,依照安全策略用访问规则给0用户授权。访问控制就是要处理怎样表示和查对访问规则问题。从形式上来说,一条访问规则能够写成四元组形式(u,o,t,p)可前已经有权限表示形式重新表示为(u,p)。系统访问控制分为模块级控制和界面元素级控制。

存贮和检察访问规则是访问控制机构须处理部问题。本系统为考虑运行速度依照系统中角色、权限配置、用户委派等关系动态地组成一张用户能力表保留在系统中依照上述配置信息改变由系统动态生成和保留。能力表(也称c-表)是存贮和查对访问规则一个有效形式。能力表是面向主体,用以说明主体能对那个访问对象执行何种操作。能力表基本形式以下:sij(oi1,ti1,pi1)………..(oij,tij,pij)其中si表示第i个主体;j为si可访问数据对象个数;(oi1,ti1,pi1)为访问权限。全部主体能力表集合即为系统全部访问规则。当某个访问请求需进行生效检验时,则按访问请求主体找到能力表逐项查对以决定其是否有效。安全管理控制关键

安全管理控制关键是系统安全管理关键控制部分,它在系统中控制整个系统安全控制工作,由它决定系统是否开启安全管理,在什么情况下调用访问控制机构,依照情况编写访问规则,怎样将已经有访问规则应用于控制,存贮访问规则。4.系统评价

4.1.系统特点(自评)

安全管理系统关键思想是在基于角色控制思想基础上提取改进而来,上述功效模型能很好満足产品开发人员提出系统访问控制需求。分析以下:实现了系统开发过程中职责分离,系统安全管理部分被作为整个系统关键控制部分,单独被分离出来制订一些整个系统通用安全准则。程序员在开发时不要过多考虑程序安全性问题只需要遵系统安全准则即可,而是把主要精力花费在系统业务功效上。有效利用系统已经有资源降低系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论