服务器访问权限控制策略的重要性

关键词: 控制策略 分布式 信息系统 日益

服务器访问权限控制策略的重要性(精选6篇)

篇1:服务器访问权限控制策略的重要性

其实,这些控制策略,不但对数据库服务器有效;对其他的应用服务器仍然具有参考价值。

一、给用户授予其所需要的最小权限

不要给数据库用户提供比其需要的还要多的权限。换句话说,只给用户真正需要的、为高效和简洁地完成工作所需要的权限。这个道理很容易理解。这就好像防止职业贪污一样。你若只给某个员工其完成工作所必需的费用,一分都不多给,那其从哪里贪污呢?

如从数据库服务器的角度来考虑这个问题,这就要求数据库管理员在设置用户访问权限的时候,注意如下几个方面的问题。

一是要限制数据库管理员用户的数量。在任何一个服务器中,管理员具有最高的权限。为了让数据库维持正常的运转,必须给数据库配置管理员账户。否则的话,当数据库出现故障的时候,就没有合适的用户对其进行维护了。但是,这个管理员账户的数量要严格进行限制。不能为了贪图方便,把各个用户都设置成为管理员。如笔者企业,在一台数据库服务器中运行着两个实例,但是,只有一个数据库管理员负责数据库的日常维护。所以,就只有一个管理员账户。

二是选择合适的账户连接到数据库。一般数据库的访问权限可以通过两种方式进行控制。一是通过前台应用程序。也就是说,其连接到数据库是一个统一的账户,如管理员账户;但是,在前台应用程序中设置了一些关卡,来控制用户的访问权限。这种方式虽然可以减少前台程序开发的工作量,但是,对于数据库服务器的安全是不利的,

二是在前台程序中,就直接利用员工账户的账号登陆到数据库系统。这种做法虽然可以提高数据库的安全性,但是,其前台配置的工作量会比较繁琐。而笔者往往采用折中的方法。在数据库中有两类账户,一类是管理员账户,只有前台系统管理员才可以利用这类账户登陆到数据库系统。另外一类是普通账户,其虽然可以访问数据库中的所有非系统对象,但是,他们不能够对数据库系统的运行参数进行修改。然后具体数据对象的访问,则通过前台应用程序控制。如此,前台应用程序普通员工只需要通过同一个账户连接到数据库系统。而系统管理员若需要进行系统维护,如数据库系统备份与还原,则可以通过数据库管理员账户连接到数据库系统。则即方便了前台应用程序的配置效率,又提高了数据库服务器的安全性。总之,我们的目的就是要限制以数据库管理员身份连接到数据库的用户数量。

在其他应用服务器中,也有管理员账户与普通账户之分。在权限分配的时候,也最好只给用户授予其需要的最小权限,以保障数据库服务器的安全。

二、取消默认账户不需要的权限

在建立账户的时候,服务器往往给给其一些默认的权限。如在数据库中,Public是授予每个用户的默认角色。任何用户,只要没有指定具体的角色,则其都可以授予Public组的权限。这其中,还包括执行各种SQL语句的权限。如此,用户就有可能利用这个管理漏洞,去访问那些不允许他们直接访问的包。因为这个默认权限,对于那些需要他们并且需要合适配置和使用他们的应用来说,是非常有用的,所以,系统默认情况下,并没有禁止。但是,这些包可能不适合与其他应用。故,除非绝对的需要,否则就应该从默认缺陷中删除。

也就是说,通常某个账户的默认权限,其是比较大的。如对于数据库来说,其账户的默认权限就是可以访问所有的非系统对象表。数据库设计的时候,主要是为了考虑新建用户的方便。而且,新建用户的时候,数据库确实也无法识别这个用户到底能够访问哪些用户对象。但是,对于企业应用系统来说,若给每个员工都默认具有这么大的访问权限,那则是很不安全的。

笔者的做法是,会把应用系统的默认用户权限设置为最小,有些甚至把默认用户权限全部取消掉。这就迫使服务器管理员在建立账户的时候,给账户指定管理员预先设定的角色。这就可以有效的防止管理员“偷懒”。在建立账户的时候,不指定角色。

篇2:服务器访问权限控制策略的重要性

其实,除了在图形用户界面下对文件或文件夹的访问控制权限进行设置外,我们还可以在命令行方式下完成这项工作,这在由于某些原因无法进入图形用户界面时特别实用,虽然使用时有些麻烦,但却可以救急。

一、使用Cacls.exe命令

这是一个在Windows /XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改文件的访问控制表,在命令中可以使用通配符指定多个文件,也可以在命令中指定多个用户。命令语法如下:

Cacls filename [/T] [/E] [/C] [/G usererm] [/R user [...]] [/P usererm [...]] [/D user [...]]

Filename:显示访问控制列表(以下简称ACL)

/T:更改当前目录及其所有子目录中指定文件的ACL

/E:编辑ACL而不替换

/C:在出现拒绝访问错误时继续

/G Userer:perm:赋予指定用户访问权限,Perm代表不同级别的访问权限,其值可以是R(读取)、W(写入)、C(更改,写入)、F(完全控制)等。

/R user:撤销指定用户的访问权限,注意该参数仅在与“/E”一起使用时有效。

/P user:perm:替换指定用户的访问权限,perm的含义同前,但增加了“N(无)”的选项。

/D user:拒绝指定用户的访问。

实例一:查看文件夹的访问控制权限

例如,这里我们希望查看h: emp文件夹的访问控制权限,那么只需要在“开始→运行”对话框或切换到命令提示符模式下,键入如下命令:Cacls h: emp

此时,我们会看到所有用户组和用户对h: emp文件夹的访问控制权限项目,这里的CI表示ACE会由目录继承,OI表示ACE会由文件继承,IO表示ACI不适用于当前文件或目录,每行末尾的字母表示控制权限,例如F表示完全控制,C表示更改,W表示写入。

如果你希望查看该文件夹中所有文件(包括子文件夹中的文件)的访问控制权限,可以键入“Cacls h: emp .”命令。

实例二:修改文件夹的访问控制权限

假如你希望给予本地用户wzj9999完全控制h: emp文件夹及子文件夹中所有文件的访问权限,只需要键入如下命令:

Cacls h: emp /t /e /c /g wzj9999:f

这里的“/t”表示修改文件夹及子文件夹中所有文件的ACL,“/e”表示仅做编辑工作而不替换,“/c”表示在出现拒绝访问错误时继续,而“/g wzj9999:f”表示给予本地用户wzj9999以完全控制的权限,这里的“f”代表完全控制,如果只是希望给予读取权限,那么应当是“r”,

实例三:撤销用户的访问控制权限

如果你希望撤销wzj9999用户对h: emp文件夹及其子文件夹的访问控制权限,可以键入如下命令:

cacls h: emp /t /e /c /r wzj9999

如果只是拒绝用户的访问,那么可以键入如下命令:

cacls h: emp /t /e /c /d wzj9999

二、使用增强工具xcals.exe

在windows 2000资源工具包中,微软还提供了一个名为xcacls.exe的文件控制权限修改工具,其功能较cacls.exe更为强大,可以通过命令行设置所有可以在windows资源管理器中访问到的文件系统安全选项,我们可以从www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp下载,安装后即可使用。

xcacls.exe命令的语法和参数与cacls.exe基本相同,但不同的是它通过显示和修改文件的访问控制列表(acl)执行此操作。在“/g”参数后除保持原有的perm权限外,还增加了spec(特殊访问权限)的选项,另外还增加了“/y”的参数,表示禁止在替换用户访问权限时出现确认提示,而默认情况下,cacls.exe是要求确认的,这样在批处理中调用cacls.exe命令时,程序将停止响应并等待输入正确的答案,引入“/y”参数后将可以取消此确认,这样我们就可以在批处理中使用xcacls.exe命令了。

实例一:查看文件或文件夹的权限

在“开始→运行”对话框或切换到命令提示符模式下,注意请事先将“c:program files esource kit”添加到“系统属性→高级→环境变量→系统变量”中,或者通过cd命令将其设置为当前路径,否则会提示找不到文件,然后键入如下命令:

xcacls h: emp

此时,可以查看到所有用户组或用户对h: emp文件夹的访问控制权限,io表示此ace不应用于当前对象,ci表示从属窗口将继承此ace,oi表示从属文件将继承该ace,np表示从属对象不继续传播继承的ace,而每行末尾的字母表示不同级别权限,例如f表示完全控制,c表示更改,w表示写入。

实例二:替换文件夹中的acl而不确认

xcacls h: emp /g administrator:rw/y

以上命令将替换h: emp文件夹中所有文件和文件夹的acl,而不扫描子文件夹,也不会要求用户确认

实例三:赋予某用户对文件夹的控制权限

xcacls h: emp /g wzj9999:rwed;rw /e

以上命令将赋予用户wzj9999对h: emp文件夹中所有新建文件的读取、写入、运行和删除权限,但需要说明的是,这条命令只是赋予了用户对文件夹本身的读写权限,而不包括子文件夹下的文件。

篇3:服务器访问权限控制策略的重要性

在现今的信息系统中,访问控制变得越来越重要。访问控制能够有效地管理所有系统信息访问请求,并根据系统安全作出是否允许用户访问的判断。它能够保障有效的授权用户访问系统信息,避免非法用户访问系统信息。访问控制技术最早产生于20世纪60年代,随后出现了两种重要的访问控制技术:自主访问控制(Discretionary Access Control, DAC)和强制访问控制(Mandatory Access Control, MAC),当前在信息系统开发中更应该关注基于角色的访问控制(Role-Based Access Control, RBAC)[1]。

在基于角色的访问控制模型中,用户和权限之间引入角色的概念,使得用户与权限不直接建立关系,而是通过角色来实现用户和权限的多对多的对应关系。由于企业或事业单位具有大量的用户信息和复杂的组织结构,使得RBAC访问控制模型不能简单直接地应用到系统中,必须灵活使用。结合作者参与开发的基于WEB的某教育培训管理信息系统,谈谈如何灵活地在系统中应用RBAC访问控制模型。

1 基于角色的访问控制模型

基于角色的访问控制模型(RBAC)是由David Fenaiolo Richard Kuhn等提出的[1]。RBAC的几个相关基本概念[1]如下:

a) 用户 系统的使用者。

b) 角色 对应于组织中某一特定职能岗位,代表特定的任务范畴。

c) 权限 表示对系统中的客体进行特定模式访问的操作许可,在应用中许可受到特定应用逻辑的限制

d) 用户分配与权限分配 用户分配指把角色分配给用户;权限分配指把权限分配给角色。传统权限管理做法是把权限直接授予用户,用户与权限之间是多对多的对应关系。当用户与权限数量非常巨大时,若想给每个用户授予每个权限,工作量可想而知非常繁琐。例如1000个用户,1000个权限,授予权限的操作要进行1000×1000次。而基于角色的访问控制模型则是在用户与权限之间引入角色的概念,使得原来的工作变为给用户分配角色,给角色授予权限。而用户与角色之间,角色和权限之间都是多对多的关系,这样使得工作量大量减少。例如同样1000个用户,1000个权限,角色只有一种,给用户分配角色是1000次,给角色分配权限是1000次,总共进行了(1000+1000)次操作。虽然这是一个较极端的例子,但也不难看出引入角色后工作量大量减少。

文献[2]引入了一般化的基于角色的访问控制模型。然而对于习惯于使用基于角色的访问控制模型的人员来说,如果能够仅仅对传统的基于角色的访问控制模型进行一些概念扩展达到很好效果,无疑更好。部分基于访问控制的文献中也提到了RBAC在应用中的权限灵活设置,有基于多粒度的权限设置[3],然而仅仅对权限进行多类型划分并不能满足要求。本文提出在基于角色的访问控制模型基 础上扩展角色和权限等概念。

2 基本思想

2.1 扩展角色概念的角色设置

角色在RBAC访问控制模型中是权限的集合,指对应于组织中某一特定职能岗位,然而在实际应用中角色局限于此定义在有些情况下不利于权限管理。有如下情况:

1) 角色等同于组织内的全体成员。要求企业的某个部门D1中的人员全部拥有某个权限P,而在信息管理系统中一般情况下会存储人员与部门D1间的对应关系,这时如果再设置一个角色R表示部门D1的人员,反而会增加给用户设置角色的操作,此时可以使用一个虚拟的角色R2,建立R2与D1之间的关系,然后授权给R2权限P。

2) 角色指一个临时成立的用户组。企业内不同部门间成立临时用户组,即一个小组,以在一段时间内协助合作完成某项工作。若要给某个用户组G内的全体成员授予某种权限P,只需设置一个虚拟的角色R3,建立R3与G之间的关系,然后给角色R3授予权限P就可以达到效果。读者可能提出这样的疑问,用户组与部门有差别吗,两者是否重复。企业内人员不能同时属于两个不同部门。当需要一个部门的部分人员与另一个部门的部分人员在一段时间内合作完成一项工作时,如果分别给这两个部门分配权限,则安全性得不到保障。这时建立临时工作G,并把需要的人员加入进来,使用虚拟角色R3,建立R3与工作组G的对应关系,能够满足安全性和方便性需求。

3) 除了特殊的情况,当然可以创建代表职务的角色R1。

在某教育培训管理系统中,初始创建的角色系统管理员可以动态创建以上三种角色,即代表职务的角色R1、代表企业组织内成员的角色R2、代表用户组成员的角色R3。扩展角色概念可以减少大量的工作量,并灵活方便地对系统进行访问控制。

2.2 扩展权限概念的权限设置

权限在RBAC访问控制模型中表示对系统中的客体进行特定模式访问的操作许可。实际应用中权限扩展到多个层次的操作许可,能够使系统灵活、简便地完成访问控制。因此本文提出权限的概念扩展到多层次的权限

对于基于WEB的信息管理系统,多层次权限的概念尤其有用。基于WEB的信息管理系统中,一般会根据所管理的领域不同分成几个不同的模块。模块中包含管理实体的页面,而管理实体的页面无外乎有增加、删除、修改(编辑)、查看等基本操作。系统有些角色只需要授予其中基本操作中的几个操作权限;有些角色却需要授予某个模块的所有操作权限

对于基于WEB的信息管理系统,本文提出如下几个层面的操作权限:

1) 基于模块的操作权限 模块指系统中对某一领域进行管理的页面集合,如果直接分配模块权限给角色,则简化分配的工作量。模块权限记做Pm[i]。例如,在某教育培训管理系统中,主要有如下模块:系统设置管理模块、组织结构管理模块、培训学习管理模块、考试评估管理模块、教育管理模块。因此,若直接分配模块权限,能够灵活地分配权限

2) 基于功能节点页面的操作权限 功能节点页面指系统中对实体进行管理的页面。实体是指客体,即培训班、试卷、教师、人员、部门等。功能节点页面权限记作Pf。它包含于某个模块,即某个模块权限包含功能节点页面权限。例如,在某教育培训管理系统中的教育管理模块中包含的功能节点有教师信息管理、培训班管理、学历学位管理等。

3) 基于操作的权限 基于操作的权限指对某个客体进行操作的权限,即对客体的增加、删除、修改、查看等操作的许可。操作的权限记作Pc。它包含于某个功能节点页面中,即某个功能节点页面的权限包含操作的权限

上面三种权限是依次包含关系,在不同层次上,模块权限Pm包含功能节点页面权限Pf,功能节点页面权限Pf包含操作的权限Pc。

2.3 为用户分配角色

用户指所有使用系统的人员。用户记作U。

对于上文提到的三种角色,分别接情况说明如何为用户分配角色。系统中存在角色A和角色B不能同时授予用户U,则称角色A和角色B是互斥角色。这种角色互斥常出现在代表职务的角色R1中,例如,用户U不能同时是申请人和审核人。

1) 代表职务的角色R1

为用户U分配代表职务的角色R1,首先检查是否存在与要分配角色互斥的角色,若没有,直接建立用户U与R1间的对应关系;若存在互斥角色,则向用户提示出现角色互斥,拒绝分配。

2) 代表企业组织内成员的角色R2

为用户U分配代表企业组织内成员的角色R2,由于一般情况下系统中会存储用户U与组织部门D之间的对应关系,因此只需建立组织部门D与角色R2的对应关系。这种情况同样存在互斥角色,处理方法同上。

3) 代表用户组成员的角色R3

为用户U分配代表用户组成员的角色R3,首先建立用户U与用户组G的对应关系,然后建立用户组G与角色R3的对应关系。这种情况不存在互斥角色,用户可以同时属于两个不同的用户组。

2.4 为角色分配权限

由于为不同类型的角色分配权限操作相同,因此下面对于角色统一用R标记,分别对三种不同层次的权限分情况说明如何分配。

1) 为角色R分配模块权限Pm。

建立权限Pm与角色R间的对应关系

2) 为角色R分配功能节点页面权限Pf。

首先检查要分配的功能节点权限Pf是否包含于已为角色R分配的模块权限集,如果要分配的功能节点权限Pf不包含于已为角色R分配的模块权限集,建立权限Pf与角色R间的对应关系

3) 为角色R分配操作权限Pc。

首先检查要分配的操作权限Pc是否包含于已为角色R分配的模块权限集,是否包含于已为角色R分配的功能节点权限集,如果全都不包含,则建立权限Pc与角色R之间的对应关系

此外,为了权限授予的方便,本文在提出多层次权限的基础上引入屏蔽权限的概念,可以屏蔽授予角色的权限的一部分。

权限屏蔽——存在某种权限P包含权限P1……Pi……Pn,存在一个角色R。若要分配给角色R权限P1……Pi-1,Pi+1……Pn,其中1≤i≤n。将权限P分配给角色R,并使得角色R不具有权限Pi,即对角色R屏蔽权限Pi,称为权限屏蔽

例如,假设模块权限Pm中包含N个功能节点权限,若要授予角色R模块权限Pm中的N-i个功能节点权限(其中N,i 是自然数,N≥i),当然可以通过依次授予功能节点权限的方法解决问题。但如果N=100或更大的数字,且i=10或更小的数字时,依次授予角色R功能节点权限的方法效率太低。引入屏蔽权限的概念,可以对角色R屏蔽模块权限Pm中的三个功能节点权限

引入权限屏蔽后,基于WEB的信息系统权限分配的流程变为,首先选择要分配权限的角色R,然后再分三和情况分配权限,即模块权限Pm、功能节点权限Pf、操作权限Pc。若给角色R分配模块权限,选择要分配的模块权限Pm[i],分配给角色R,再看是否要屏蔽部分权限,若不需要,则完成一次分配;若需要,选择要屏蔽的部分权限,屏蔽权限。若给角色R分配功能节点权限Pf,选择要分配的功能节点权限Pf[i],分配给角色R,与分配模块权限时相同也要查看是否要屏蔽部分权限。若给角色R分配操作权限Pc,选择要分配的操作权限Pc[i]分配给角色R。

引入本文提出的扩展角色与权限的概念和权限屏蔽后,在基于WEB的信息系统中用户、角色和权限关系如图1所示。

在引入权限屏蔽概念后,本文提出的扩展角色与权限的RBAC访问控制模型如图2所示。

图2中会话指用户与角色之间关系函数。用户与扩展的角色之间、扩展的角色与多层次的权限之间用双箭头表示它们之间是多对多关系,在为角色分配权限时用到权限屏蔽

扩展权限的层次,并且引入权限屏蔽的概念,可以灵活地对权限进行高效地分配。

3 结束语

本文描述了在实际应用中如何灵活应用基于角色的访问控制模型RBAC,并对RBAC中角色和权限的概念进行扩展,引入权限屏蔽的概念。在我们参与开发的基于WEB的某教育培训管理系统中也应用了对角色和权限概念进行扩展和引入权限屏蔽后的RBAC访问控制模型,实践表明,这种思想能够更加灵活、高效地对信息系统进行权限访问控制。

参考文献

[1]王亚民.基于RBAC的信息系统访问控制模型[J].情报技术,2005(10).

[2]Matthew J Moyer,Mustaque Ahamad.Generalized Role-Based AccessControl[J].IEEE,2001.

篇4:巧妙设定光驱网络的访问权限

正文:在Win/服务器平台中,我们可以很方便地使用NTFS磁盘格式为硬盘上的资源进行用户访问保护,有效地保护资料的安全。而对于数据读取设备中的光盘驱动器来说,由于硬件特殊性,一般只能设定网络访问客户端进行权限设定,而对于本地用户却不能做到分门别类加以对待,其实我们完全可以通过一种变通的方法来完成用户访问权限的设定,当然方法也很简单。

先找到系统的管理工具打开计算机管理,在界面中单击磁盘管理进行设定。找到“cd-rom”选项,单击右键选择更改驱动器名及路径命令,在原有的光驱盘符下点选“删除”,然后将驱动器添加在系统的一个NTFS分区上,选择或新建一个空文件夹按“确定”(比如在E盘上建一个cdrom目录),将驱动器的路径重新指定。

完成上述设定后,放入一张光盘,再次打开我的电脑时会发现原来的光驱盘符已经消失了。这时要访问光盘上的资源,我们需要来到E盘找到刚才指定的那个cdrom目录 ,现在光盘的图标就有了,点击进去随后会发现不停闪亮的光驱指示灯,现在隐藏的光盘上的信息立刻就可以呈现在眼前了,这时再对目录进行完权限指派,就可以立刻实现光驱本地的访问权的用户控制了,以后本地用户如果没有相应权限,是不能完全控制使用光盘(包括光盘刻录),当然如果哪天需要取消这一安全措施,只要按本文方法逆向操作即可。

篇5:服务器访问权限控制策略的重要性

传统权限管理的访问控制模型中是通过直接为用户授予相关操作权限来实现用户对数据资源的存取, 当用户的职责发生变化时, 就需要管理员来修改用户的权限, 这是一种低层次的安全管理方式, 用户权限不能根据企业组织的结构形式来进行划分, 而基于角色访问控制 (RBAC) 则是通过用户角色控制用户权限的改变, 能够在较高的层次上实现权限的安全管理。RBAC是根据整个企业组织结构中不同岗位职责进行角色划分的, 而并非针对具体的某个用户划分权限, 即资源的访问许可是通过角色来获取的, 利用角色层次结构将用户与权限联系起来, 当用户成为其相应角色的成员时便可以获得该角色所拥有的权限, 从而在很大程度上简化了用户与权限的管理。图1即为传统访问控制与RBAC的对比:

在RBAC中, 在用户和访问许可权之间引入角色 (role) 的概念, 用户与特定的一个或多个角色相联系, 角色与一个或多个访问许可权相联系, 角色可以根据实际的工作需要生成或取消, 而用户可以根据自己的需要动态地激活自己拥有的角色, 避免了用户无意中危害系统安全。

当今社会中大型信息系统应用于社会的各个方面, RBAC技术由于引进了对角色和层次化的管理, 针对用户数量庞大, 系统功能不断扩充的大型信息系统特别适用, 为大型可扩展信息系统的提供了安全管理方案。

1 基于RBAC的权限访问技术应用

RBAC模型作为一个较新的权限访问技术, 通过角色配置用户和权限, 增加了灵活性;支持多管理员的分布式管理;支持由简到繁的层次模型, 适合各种安全需要;完全独立于其它安全手段, 是策略中立的。

实践是检验真理的唯一标准, RBAC模型自产生以来一直应用于各种信息系统, 经受住了实用性的检验。首先, 企业结构可以很直观地通过角色和角色层次映射到信息系统中, 非常简洁而且易于应用。其次, 一旦权限初始化设置好以后, 就不需要再做大幅度的调整与修改。因为直接与权限相对应的是角色, 而非用户, 企业内部的人员可能会调动频繁, 但是岗位职责本身却是很少变化的。由于权限控制是基于岗位职责的而不是基于职员的, 所以权限控制机制不会随着人员的调动而产生太多的影响。而且, 由于RBAC模型支持访问权限的委托机制, 使得其更加适用于企业。例如, 当系统管理员需要请假时, 他只需要简单地将系统中管理员这个角色转授于其他用户, 即可将他所拥有的管理权限临时交给另一个职员来代理, 而无需其他繁琐的步骤就能完成, 十分方便。这些特点使RBAC模型非常适合应用于大型的企业信息系统。

2 权限管理子系统的解决方案

权限管理系统的目标就是要将权限管理独立出来, 在RBAC模型上, 建立起新的权限管理系统, 外部应用只要通过调用系统提供的接口, 来实现权限管理的通用性。同时, 本系统更要考虑到可扩充性。为此, 系统内部要实现下列功能:

2.1 权限主体的管理

系统要能够管理用户, 例如添加新的用户, 能查询用户的信息, 对于用户还要实现删除和修改等。在用户的权限方面, 要能实现有效的管理。

2.2 资源管理

系统必须要能做好资源的配置, 因为外部应用各种各样, 因而资源的管理要做到具有很好的可扩展性。

2.3 角色管理

角色分离了权限管理和权限, 必须能很好的定义角色, 同时要能实现角色的诸多操作。

2.4 权限管理

要建立起用户对资源的访问机制, 实现可靠、并可扩充的权限管理功能。

为了提高整个系统的安全性, 需要限定可以登录系统的人员范围, 同时对于可以登录的人员需要限定其可见的菜单和数据范围。权限系统即是否可以满足这个需求。权限管理系统的功能如下:

验证登录用户信息, 确定其是否可以登录系统。确定登录职员可见的业务系统菜单和数据范围。提供登录职员的属性信息给业务系统。职员, 角色等信息的维护。记录系统操作日志并提供查询功能。

用户向框架提出登录申请, 框架通过权限系统对登录职员的用户名密码等信息进行验证, 权限系统向框架返回验证结果, 同时确定登录人员的权限范围。登录成功后, 权限系统向业务系统提供认证及其它数据信息。权限系统和框架及其他业务系统之间的关系如图2所示。

3 基于RBAC的权限管理系统设计

权限管理系统的物理设计是包括人员管理、权限管理、角色管理、功能管理和日志管理五个部分。

3.1 人员管理模块

本模块管理职员信息, 包括增加、修改、删除、查询、权限微调、密码恢复、权限及查看功能。人员管理模块操作员表结构表1所示。

3.2 日志查询模块

本模块用于操作日志查询。

提供的查询条件包括菜单, 起始时间, 终止时间, 职员账号, 描述。通过页面提供的区域树和菜单树选择查询的区域范围和菜单, 选择起始时间和终止时间确定查找的时间范围, 查询结果列表信息包括:职员账号, 操作时间, 系统菜单, 功能菜单, 按钮。系统提供查看详细信息的功能, 详细信息包括:操作人员工号、操作人员姓名、登陆时间、退出时间、登陆主机IP地址、操作类型、操作对象、操作动作、操作结果, 详细信息描述等。

日志管理模块工作记录表结构如表2所示。

3.3 权限管理模块

在系统中添加, 修改, 删除, 查询系统的功能信息, 如子系统, 菜单, 按钮, 页面组件等信息。

这项功能在系统升级时会用到, 但通常的系统升级会有功能信息的初始化数据直接写表。所以该功能在系统维护时用的也比较少, 查询用到的比较多, 查询功能的详细。

权限管理模块账户权限微调表结构如表3所示。

3.4 角色管理模块

本模块完成对功能角色的维护, 包括功能角色的查询, 增加, 修改, 删除 (先修改角色状态为无效) , 角色合并, 查看权限和对角色的赋权。

角色管理模块角色表结构如表4所示。

3结束语

RBAC模型是目前国际上流行的安全访问控制方法, 本文基于RBAC构建一个通用的、完善的、安全的、易于管理的、有良好的可移植性和扩展性的权限管理系统。在今后的应用中, 随着用户对信息系统安全控制要求的不断提高和细化, 权限的管理和控制还有待进一步的研究和探讨。

摘要:本文对比传统权限管理的访问控制模型, 研究了RBAC的权限访问技术, 提出权限管理子系统解决方案, 并设计了一个基于RBAC的权限管理系统, 从而在信息系统中实现使用者即操作员对整个系统的统一管理。

关键词:权限管理,RBAC,模型

参考文献

[1]孙群.多组织多用户条件下基于角色的访问控制[D].[硕士论文].济南:山东大学, 2005.

[2]孔小萌.基于RBAC多层集中式信息授权管理系统设计[J].南通航运职业技术学院学报, 2009, 8 (1) :93-96.

篇6:服务器访问权限控制策略的重要性

跨域访问控制, 即当来自某个域的用户访问其他域的资源时对该用户进行的访问控制, 是目前信息安全领域的研究热点之一, 它的理论和技术目前还处于发展中。在现有研究中, 基于角色映射的跨域授权是研究得较多且比较有效的一种跨域访问控制方法, 但相关研究也存在一些问题。

首先, 在映射原理上存在局限性。有关研究通常采用的映射原理是将某个域 (源域) 中的一个角色映射到另一个域 (目标域) 中的某个相应角色, 即采用一到一的映射, 但这在实际应用中可能存在问题, 比如在实际应用中常常有这种情形, 只有在源域中同时具有多个角色时才相当于在目标域中具有某个或某几个角色 (所拥有的权限) , 也即需要多到一或多到多的映射。有的研究引入了一个中间评级来作为角色映射的中介, 这显然是有局限性的, 因为, 角色的定义及其权限分配一般是根据工作 (职能) 需要而非基于某种级别来定义。其次, 有关技术仅限于采用RBAC (Role-Based Access Control) 访问控制机制的跨域访问控制。再其次, 有关技术通常需要每个域内的访问控制系统直接参与有关的映射、转换, 这使得每个域内的访问控制系统变得复杂。

本文介绍一种基于授权中介和权限映射的跨域访问控制技术, 它与现有研究的不同之处有三点: (1) 为了克服角色映射仅适用于RBAC的局限性, 本技术采用用户组、角色或属性映射实现用户在不同域间权限信息的转换, 可实现基于ACL (Access Control List, ACL) 、RBAC、ABAC (AttributeBased Access Control) 的跨域访问控制; (2) 映射采用的是从源域中一个角色 (或组) 集对应到目标域中一个角色 (或组) 集的方法, 或者是将源域中的一个属性条件对应到目标域中的一个属性集; (3) 通过跨域授权中介在不同域间进行在线映射, 使得通常的访问控制系统只需做微小的改动即可支持跨域访问控制。

1 基于映射的跨域权限转换

1.1 基本原理

继续讨论前, 先明确一下域的概念。在鉴别与访问控制中, 实际上存在两个不同的“域”概念, 一是身份域, 二是授权域。身份域是指身份管理作用和有效的范围, 如身份标识和身份鉴别作用和有效的范围, 而授权域是指授权管理作用与有效的范围。在有些情况下, 身份域和授权域是一样的, 如采用用户名/口令进行身份鉴别时, 二者通常是一样的;在有些情况, 二者是不一样的, 如当不同的组织机构采用同一个第三方CA (Certification Authority) 签发的数字证书进行身份标识时, 它们的身份域是相同的, 而授权域却不同。跨域身份鉴别, 针对的是一个域中的用户身份在另一个域中被识别、鉴别、认可、接受的问题, 而跨域访问控制, 针对的是来自某个授权域的用户访问其他授权域的资源时对该用户进行的访问控制。若无特别说明, 本文中所提到的“域”指“授权域”。

访问权限规定了一个用户能访问哪些资源并能进行怎样的操作。描述权限有多种的方法, 在这里我们仅针对ACL、R B A C、A B A C三种访问控制机制进行讨论。A C L是基于用户的身份和用户所在组来定义用户的资源访问权限的 (即定义ACL) , 而基于用户组定义权限能提高权限定义的效率和灵活性, 因此, 通常采用组定义ACL, 这意味着一个用户所在的组 (可能有多个) , 即隐含地代表了该用户所拥有的权限。RBAC是通过角色 (Role) 来定义权限的, 因此, 一个用户拥有的角色即隐含地代表了该用户所拥有的权限。ABAC是基于用户属性来定义权限的, 即当用户拥有某些属性 (集) 或其满足某些属性条件时, 该用户将具有对某资源的相应访问权限, 因此, 这时用户的属性即隐含地代表了该用户所拥有的权限。实际上, 由于属性可以包含组、角色, 因此, A B A C可以看作比A C L、ABAC更一般化的访问控制机制 (它可覆盖多种访问控制机制) 。

基于权限映射的跨域访问控制的基本的原理是权限信息“单向等同” (或对应) , 即若一个用户在某个域S (源域) 中拥有权限集PS, 则该用户等同于 (或相应地) 在另一域T (目标域) 中拥有权限集PT。这里的用户可以是人、系统等实体, 而权限集指用户在一个域中拥有的所有权限。单向等同可用映射来描述, 而单向等同也意味着映射的逆映射不一定成立 (即单向映射) 。

基于以上关于权限的讨论, 要实现跨域用户权限信息的映射和转换, 只需实现不同域间的组、角色或属性信息的映射, 然后基于映射后的用户组、角色或属性进行访问控制。

1.2 基于组和角色的映射

设源域和目标域分别为S、T, 若两个域中的访问控制都采用ACL, 则权限映射可通过一系列如下形式的映射关系描述 (每个映射关系又称为一个映射元素) :

GROUPS (SG1, SG2, …, SGm) S=>GROUPS (TG1, TG2, …TGn) T。

若两个域中的访问控制都采用RBAC, 则权限映射可通过一系列如下形式的映射关系描述:

ROLES (SR1, SR2, …, SRm) S=>ROLES (TR1, TR2, …, TRn) T。

若两个域中的访问控制一个采用R B A C, 另一个采用ACL, 则权限映射可通过一系列如下形式的映射关系描述:

GROUPS (SG1, SG2, …, SGm) S=>ROLES (TR1, TR2, …, TRn) T, (源域ACL, 目标域RBAC)

或ROLES (SR1, SR2, …, SRm) S=>GROUPS (TG1, TG2, …, TGn) T。 (源域RBAC, 目标域ACL)

这里ROLES (…) 表示一角色集, GROUPS (…) 表示一用户组集, 集合中的具体角色、组间用逗号分隔;“=>”表示映射关系, “=>”左边是源域组、角色集, “=>”右边目标域组、角色集。以上映射的语义是, 若用户在源域中同时拥有源集合中所包含的组 (角色) , 那么, 他相当于在目标域中具有目标集合中所包含的组 (角色) , 也即他在目标域中将拥有对应组 (角色) 具有的权限。若映射关系中源组、角色集为空, 则表示源域中的任何用户都具有目标集所包含的目标域中的组、角色 (的权限) 。

基于组、角色映射的跨域访问控制的基本原理是, 当来自某源域的用户访问另一个目标域的资源时, 先通过组、角色映射关系进行映射, 获得该用户在目标域中对应的所有组、角色, 然后再在目标域中基于该用户映射后对应的组、角色进行访问控制。在这里, 若映射关系的源域是基于角色的, 则进行映射时还要考虑用户在源域中的全部父角色。

1.3 基于属性的映射

属性映射主要是针对基于ABAC的跨域访问控制, 它由一系列如下映射关系 (映射元素) 描述:

CONDS (C1 AND…AND Cn) S=>ATTRBS (A1, A2, …, Am) T

这里左边CONDS (…) 表示属性条件, 其中每个Ci是一个基本条件元素, 如AGE>35, TITLE=Engineer等;而右边ATTRBS (…) 表示属性赋值, 其中每个Aj是一个属性赋值语句, 如AGE_SEG:=MIDDLE, POSITION_LEVEL:=Senior (这里用:=表示赋值) , 该映射关系的语义是, 若用户在源域S中的属性使得条件C1 AND…AND Cn为真, 则该用户相当于在目标域T中具有赋值语句A1, A2, …, Am所赋给的属性。需指出的是, 赋值语句中:=右边的属性值有可能来自源域的某个属性, 这时可用如下方法表示 (即源域属性名前加#符号) :

目标域属性名:=#源域属性名。

比如TITLE:=#POSITION, EMAIL:=#EMAIL, 对前者, 源、目标域中的两个属性等同但属性名不一样, 对后者, 源、目标域中的两个属性不但等同而且属性名也一样。

若在属性映射关系中源条件是空, 则意味着条件总为真, 即任何用户都有映射关系右边所赋的属性。

基于属性的映射的跨域访问控制的基本原理与基于组、角色映射的跨域访问控制类似。

2 基于授权中介和权限映射的跨域访问控制系统

2.1 系统整体架构与基本工作原理

基于授权中介和权限映射的跨域访问控制系统的整体结构如图1所示。

图1中域S和域T表示不同的授权域, 每个域中有一个或多个应用系统对外提供服务, 并由访问控制系统统一对用户实施访问控制。这里访问控制系统又分为基本访问控制系统和跨域系统两部分, 其中权限与授权策略管理系统、授权决策引擎、授权实施模块构成了基本访问控制系统, 而跨域授权中介系统及跨域授权信息查询模块构成了跨域系统。跨域授权中介系统配置有映射策略表和授权域权限与授权策略管理系统地址表。

基本访问控制系统实现基于ACL、RBAC或ABAC的访问控制, 将其划分权限与授权策略管理系统、授权决策引擎、授权实施模块三部分只是从功能逻辑上的划分, 特别是授权决策引擎与授权实施模块, 它们在具体实施上既可以是作为分离的模块, 也可以是一个模块中的两个功能。权限与授权策略管理系统, 负责定义用户角色、用户组及访问控制策略, 从而对本域的用户身份、访问控制权限进行管理。授权决策引擎, 基于用户身份信息以及本地的访问控制策略对用户的在线资源访问与操作请求做出“允许”或“拒绝”的决定。授权实施模块, 通过一定的方式与应用服务系统集成, 负责拦截、检查用户的资源访问请求, 获取用户身份及权限信息, 并依据授权决策引擎的在线授权决策结果, 对用户的服务请求进行控制。基本访问控制系统与通常的访问控制系统的主要差别是:授权实施模块需在原有基础上增加跨域访问控制的功能;权限与授权策略管理系统需额外增加对外提供用户组、角色、属性信息查询的服务 (如果它以前不对外提供这种服务的话) 。

跨域授权信息查询模块, 被基本访问控制系统的授权实施模块调用, 负责域内访问控制系统同跨域授权中介系统间的连接, 以获取跨域用户的权限信息。跨域授权中介系统是实现跨域访问控制的桥梁和核心, 它通过组、角色或属性映射实现不同授权域中权限的对应和转换。通过映射策略配置表可获得相关的映射信息, 该配置表的逻辑结构如表1所示。

这里的一个映射策略表项 (表中的一行) 对应有一个映射策略文件名, 一个映射策略文件定义了从一个域 (源域) 到另一个域 (目标域) 的组、角色或属性映射关系。通常一个映射策略文件由一系列的映射元素构成, 一个映射元素定义了如前1.2、1.3节所述的一个具体的映射关系。映射策略是源授权域和目标授权域依据各自的安全策略和双方达成的协议而制定的。

授权中介系统通过授权域权限与授权策略管理系统地址表获得相应权限与授权策略管理系统的服务地址和端口, 该地址表包含的信息如表2所示。

整个系统的工作原理描述如下。

当一个用户访问某个域中的应用系统时, 该域内的相应安全系统对用户进行身份鉴别并判断用户是否来自本授权域, 对于来自本授权域的用户, 安全系统按通常的域内访问控制方法对用户进行访问控制。对于来自其他域的用户 (对于跨域用户的身份鉴别不是本文的关注点, 在此不作讨论) , 应用系统中的授权实施模块通过一定的方式确定用户来自的授权域及身份标识 (ID) 信息;接下来, 授权实施模块调用跨域授权信息查询模块, 请求查询该跨域用户的权限信息;跨域授权信息查询模块向跨域授权中介系统提交查询请求, 请求中有该用户来自的授权域名、用户ID及本授权域名;跨域授权中介系统接收到查询请求后, 通过授权域权限与授权策略管理系统地址表获取服务地址与端口信息, 连接用户所在授权域中的权限与授权策略管理系统, 获取用户的权限信息 (组、角色或属性) , 然后依据相应的映射策略进行权限信息的映射和转换, 并将转换后的信息返回;授权实施模块获得了跨域用户映射后的本地组、角色或属性信息后, 请求授权实施模块依据这些本地的权限信息进行授权决策, 然后依决策结果对用户实施访问控制 (允许或阻断) 。

2.2 系统功能实现

先说明一下授权域的标识方法, 即授权域的命名。本系统中授权域的标识借用DNS域名的形式, 如whut.edu.cn, itrus.com.cn分别表示不同的授权域。这里域名仅作为一种授权域标识, 不与IP地址对应。但是, 一个机构、组织通常可以取其网络系统的域名作为其授权域的名称, 这样非常方便。

通过前面的描述可以看到, 权限与授权策略管理系统与非跨域的相应系统相比, 只需对外增加提供用户组、角色、属性信息查询的服务功能。在本跨域系统中该查询服务通过SAML/SOAP/HTTP实现。授权决策引擎与非跨域访问控制系统的对应模块实现完全一样, 无需考虑跨域问题。授权实施模块在通常的非跨域访问控制功能的基础上, 需额外增加如前所述的、与跨域访问控制有关的功能。在额外增加的、与跨域有关的功能中, 一个重要的功能是获取跨域用户来自的授权域信息, 这可以按如下方法实现:当身份域与授权域一致时, 通过身份鉴别信息即可获得用户来自的域, 如用户登录时需同时输入用户名和域名;当身份域与授权域不一致时, 可弹出一个界面让用户输入其来自的授权域。

跨域授权信息查询模块既可以是API, 如DLL、Java类等, 也可以是一个独立的服务。跨域授权中介系统是一个独立的服务系统, 可采用J2EE、.NET实现, 它通过SAML/SOAP/HTTP与跨域授权信息查询模块、权限与授权策略管理系统交互, 并通过相应的映射策略实现跨域的用户组、角色或属性映射。授权中介系统的映射策略配置表、映射策略文件及授权域权限与授权策略管理系统地址表的具体形式可以有多种, 如逗号分隔值 (Comma Separated Value, CSV) 的ASCII文件或自定义XML文件。

3 结束语

本文提出了一种基于授权中介和权限映射的跨域访问控制技术, 该技术有如下特点: (1) 原理简单, 能有效地解决跨域访问控制的问题; (2) 易于实现, 现有的、非跨域的访问控制系统只需做少量的改动即可支持跨域访问控制; (3) 不但能在采用相同访问机制的授权域间实现权限映射与转换, 如ACL到ACL、RBAC到RBAC、ABAC到ABAC, 而且能在采用不同访问控制机制的授权域间实现权限映射与转换, 如ACL到RBAC、RBAC到ACL、ABAC到RBAC等; (4) 考虑到ABAC的一般性, 该技术也可用于基于其他访问控制机制的跨域访问控制。

摘要:本文提出一种跨域访问控制技术, 它通过跨域授权中介在线将用户在某个域中的组、角色或属性映射到其要访问的另一个域中的组、角色或属性, 从而实现跨域的权限转换, 并据此实现跨域访问控制。

关键词:跨域访问控制,权限映射,授权中介

参考文献

[1]张光辉, 韩进, 谢俊元.基于角色映射和PBNM的多域安全访问控制模型.计算机应用研究.2008.

注:本文为网友上传,旨在传播知识,不代表本站观点,与本站立场无关。若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:66553826@qq.com

上一篇:东江中学2014年上安全工作方案 下一篇:国家电网公司百日安全动员讲话稿