标题 | 企业管理应用的安全授权设计 |
范文 | 左刚 胡昌平 卞德志 单文金 闫四洋
摘要:随着授权管理在企业管理应用中的普及,对授权安全性的需求也日益突出。文章根据需求,提供了一种企业管理应用的安全授权的设计方案,通过设定三员分立模式,指定相互制约的管理员角色账号,实现用户、角色、权限之间的相互分配及确认功能,以及查看三者之间历史变更数据关系的功能,从而达到安全授权管理的需求。 关键词:企业管理应用;授权管理;安全性需求;三员分立 中图分类号;TP311 文献标识码:A 文章编号:1006-8228(2020)07-43-04 0引言 授权管理作为一种现代新型管理理念,已经在各个领域得到普及。授权的含义是分配他人具体任务以及完成这些任务的权利,并且双方能够对任务的结果达到一致的认可。这种管理理念的实现方式也一致得到企业管理者和员工的肯定。企业管理者通过授权管理,能够高效率的利用好时间,在承担重任的同时,完成自己必须做的工作;企业员工在得到授权的情况下可以在没有上级领导的干扰下,完成任务并做出一些重大决定。 评价任何一个企业授权管理应用系统,其安全管理方式可以说是主要指标之一。健全有效的安全管理方式可以保障用户合理地使用应用资源,防止用户获取机密信息或破坏信息。应用级的安全管理,主要取决于应用系统的构成。对于一个大型的管理应用系统,多种岗位、多种级别的用户所拥有的权限也是不同的,这就要求系统能够提供一种安全管理权限体系,确保具有权限资格的用户获取数据和进行数据操作,并禁止未被授权的用户接近数据的信息。在近年来的权限管理方面的研究中,包括基于角色的授权管理的实现研究、基于RBAC模型法的权限管理的实现研究等等,虽然都提供了有效的权限安全管理的控制方案,但是针对分配权限本身动作的安全防范措施有所欠缺,表现为一个管理者可以实现分配权限的动作,但是管理者本身是否达到安全分配的要求却不可知。本文不仅提供了一种有效灵活的安全授权方案,同时也保障了分配权限动作的安全防范。 1总体设计 1.1授权管理机制 本设计的应用安全授权体系采用RBAc模型(如图1所示),同时为了分配权限动作的安全防范,为企业应用分配了三种管理员角色,这三种管理员角色拥有固定不可变的管理权限,并且各自指定一位管理员账户,比如管理员A、管理员B、管理员c,可使管理员之间实现相互制约的机制,从而达到分配权限动作的安全防范。 授权管理体制结构定义如下。 (1)一位管理员账户只能指定一种管理员角色。 (2)权限按照应用模块和功能划分方法以树形结构定义,便于应用管理员按业务模块和功能进行授权。 (3)角色可以理解为一组权限的集合,为方便授权而设立。 (4)用户在应用中能起到效果的权限都来自于有效权限表数据。 (5)一个角色可以作为下级角色,从属于多个其他角色,一个角色也可以作为上级角色,拥有多个其他角色,但是不能循环嵌套。下级角色继承上级角色的权限。 (6)角色之间具有互斥关系,互斥角色不能同时授予同一用户;定义角色互斥关系时,应检查是否已经有用户同时授予了两个角色。 (7)一个用户可以授予多个角色,一个角色也可以授予多个用户,用户拥有角色的权限以及角色所有上级角色的权限。 (8)权限既可以授予(grrant),也可以禁用(revoke),禁用关系在同级别角色中具有较高优先级;即假如用户a被授予角色b和角色c(b和c之间不存在隶属关系),b被授予权限x,c被禁用权限x,那么用户a应该被禁用权限x,权限x应从用户a的最终有效权限集合中排除;用户权限的授予关系具有更高的优先级,如前例中,直接给用户a授予权限x,那么用户最终有效权限集合中也具有x;同时角色隶属关系中下级角色也可以取代上级角色的禁用关系。 (9)级联授予权限,授予一个权限同时必须授予其所有祖先权限;级联禁用权限,禁用一个权限同时必须禁用其所有子孙权限。 (10)为用户、角色授权或者更改用户、角色的隶属关系后,都需要重新计算相关用户的有效权限,记入用户的有效权限表。 (11)管理员B可以给角色和用户授权,授权后需要管理员A确认生效;管理员c可查看角色、用户、权限三者之间的历史变更数据。 (12)管理员A为用户确认角色和权限后,系统计算用户的最终有效权限,即用户继承的所有角色权限和用户自身被直接授予的权限合集。即用户a继承权限b以及角色c关系,角色c继承权限d关系,则用户a的有效权限集合为权限b和权限d。 1.2授权制约机制 用户、权限、角色三者关系需要在管理员B授权后,同时管理员A再确认后才能激活使用,形成相互制约机制(设计如图2所示),审计员可查看三者之间的历史变更数据。 以角色授权为例,建立角色授權数据的当前版本和历史版本两张记录表,管理员B授权操作仅修改当前版本记录表,修改后,角色当前版本数据标记为待激活。管理员A确认激活授权后,激活后的版本复制到历史版本表中,存为新版本。当需要计算用户的有效权限时,系统始终从历史版本库中取最新版本角色授权数据进行有效权限计算,这样就可以避免使用未激活状态的授权数据,同时也可以对授权状态的历史进行跟踪审计。用户授权、角色用户分配与角色授权类似,不再赘述。 2详细设计 2.1授予设计 管理员B拥有授予的功能,能够实现分配角色、用户、权限三者之间的关系。管理员B在登陆应用之后,拥有用户授权、角色授权、权限授权、角色分配这几个菜单功能。 在用户授权菜单中,选定用户来分配权限关系。关系信息会保存在数据库角色权限关系表(SYS_AUTH_USER)中,表中USER_ID列保存用户表的主键信息,AUTH_ID列来保存权限表的主键信息,IS_REVOKE列来判定是授予(grant)还是禁用(revoke)关系。待激活权限关系的用户信息也会记录在待激活权限关系表(SYS_WAIT_GRANT_AUTH)中,其中ACTIVATE_ID列为用户表主键信息,TYPE列的值设为0,表明该条数据为待激活的用户信息。角色授权菜单的实现方式与之相似,不再记述。 |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。