一种对数据库管理员权限进行控制的方法技术

技术编号:7286731 阅读:459 留言:0更新日期:2012-04-21 08:04
本发明专利技术公开了一种对数据库管理员权限进行控制的方法,包括如下步骤:步骤1:通过权限控制接口,对数据库管理员是否为受限状态进行设置;步骤2:设置数据库管理员运行状态;步骤3:将数据库管理员的运行状态保存成为一个布尔值,如果该值为真,则表示数据库管理员运行于不能访问私有对象的受限模式;如果该值为假,则表示数据库管理员运行于权限开放模式。本发明专利技术对数据库管理员的权限进行了重新界定,使数据库管理员不再必然拥有自主访问控制权限和对普通用户的私有对象进行访问和操作的权限,从而有效减少了安全隐患的发生,进一步改善了数据库系统的安全性能。

【技术实现步骤摘要】

本专利技术涉及一种数据库管理员权限控制方法,尤其涉及一种通过转移自主访问控制归属和受限管理员权限模式实现的数据库管理员权限控制方法,属于数据库安全

技术介绍
在通常的数据库系统中,管理员拥有以下权限>启动或停止非安全相关的系统功能>实现对系统中基本资源的管理,例如表空间、数据库管理等>管理自主存取控制的权限 普通用户的创建和管理 角色的创建和管理· GRANT (授权)和REVOKE (撤销授权)语句>具有普通用户创建各种对象的能力而数据库安全员拥有以下权限>启动和停止强制存取控制功能>创建、删除、应用或移除策略>创建、删除标签>授予和回收强制存取控制的特权>管理默认安全员的用户属性,例如密码>创建和管理其它安全员对于数据库管理员而言,其拥有的操作特权越多,受到的访问限制越少。一旦出现账号泄露的情况,造成的损失也越大。因此,通过合理限制数据库管理员的权限,能够有效减少数据库管理中的不安全因素。在申请号为200610019230.8的中国专利技术专利申请中,公开了一种应用于数据库安全管理的三权分立安全方法,其特点是把数据库管理员分为数据库管理员、数据库审计员和数据库安全员三类,其中数据库管理员完成自主存取控制、系统维护及管理,数据库审计员完成系统的审计,而数据库安全员完成系统的安全(标记)管理。该方法实现了数据库系统权限的三权分立,对应这三个权限的系统管理员之间分工明确,各司其责,既相互制约又相互配合,共同实现数据库的安全管理功能。这种体系结构不仅解决了国内外数据库产品中存在的系统权限过于集中的问题,同时也实现了国家标准中所要求的强制访问控制功能,进一步提高了系统的安全性。在没有采用三权分立的数据库系统中,数据库管理员拥有极大的权限,从另一个角度说也带来了无尽的隐患。一旦账号泄密,则数据库所有的安全保障都不复存在。因此对于数据库系统的安全管理来说,对数据库管理员进行一定程度的权限控制是非常必要的。 另一方面,数据库管理员对数据库中各种对象的无限制访问,通常也会带来安全隐患。通过3限制数据库管理员对私有对象的访问,从而减少安全隐患的发生也是非常有必要的。
技术实现思路
本专利技术所要解决的技术问题在于提供。 利用该方法可以使数据库管理员不再对普通用户的私有对象具有访问和操作的权限。为实现上述的专利技术目的,本专利技术采用下述的技术方案,其特征在于包括如下步骤步骤1 通过权限控制接口,对数据库管理员是否为受限状态进行设置;步骤2 设置数据库管理员运行状态;步骤3 将数据库管理员的运行状态保存成为一个布尔值,如果该值为真,则表示数据库管理员运行于不能访问私有对象的受限模式;如果该值为假,则表示数据库管理员运行于权限开放模式。其中较优地,所述步骤2中,通过增加SQL语句设置数据库管理员运行状态。其中较优地,在所述步骤3中,通过对所述SQL语句进行解析和执行,将数据库管理员的运行状态保存成为布尔值。其中较优地,在对数据库管理员的权限操作中,通过固定的API去查询数据库管理员的权限状态。其中较优地,将所述API的返回值与反映数据库管理员运行状态的所述布尔值进行与操作,判断出所述数据库管理员当前是否有权限执行相关的操作。其中较优地,进行自主访问控制权限查询时,如果是数据库安全员则继续执行;如果是数据库管理员则结束执行。其中较优地,所述自主访问控制通过SQL语句的方式进行设置。本专利技术对数据库管理员的权限进行了重新界定,使数据库管理员不再必然拥有自主访问控制权限和对普通用户的私有对象进行访问和操作的权限,从而有效减少了安全隐患的发生,进一步改善了数据库系统的安全性能。附图说明下面结合附图和具体实施方式对本专利技术作进一步的详细说明。图1为本专利技术中设置自主访问控制权限的示意图;图2为本专利技术中设置数据库管理员访问私有对象权限的示意图;图3为本专利技术中,数据库管理员访问私有对象的操作流程图。具体实施例方式在本专利技术中,通过将自主访问控制权限转移给安全员以及限制数据库管理员访问私有对象权限的方式,实现对数据库管理员的权限控制。下面对此展开具体的说明。自主访问控制(Discretionary Access Control, DAC)通过设置数据库中各种关系的访问权限来实现对数据库用户的约束。在现有的数据库技术中,特别是采用三权分立权限分配机制的数据库系统中,通常自主访问控制的权限属于数据库管理员,而强制防伪控制的权限属于数据库安全员。这种权限分配方式将自主访问控制作为一种常规的数据库功能来对待,实际上是忽略了自主访问控制的本质。本专利技术人认为自主访问控制是对用户操作SQL对象进行授权管理。它与强制访问控制一样,都具有限制用户对对象访问权限的特点,都是维护数据库安全的重要手段,因此将自主访问控制的设置权限归属到数据库安全员的名下是实至名归的。与强制访问控制相比较,自主访问控制具有实施简单、粒度较粗等特点,但是自主访问控制作为权限控制的一种方式,对维护数据库的安全也具有重要的作用。其对数据库安全性的重要影响决定了其操作权更适合交给数据库安全员。为此如图1所示,本专利技术将自主访问控制的设置权限从数据库管理员中划分出去(数据库管理员的其它权限不变), 将其归属于数据库安全员,即数据库安全员具有对数据库进行自主访问控制的权限,而数据库管理员将不能对数据库进行自主访问控制。这样,数据库安全员同时具有自主访问控制和强制访问控制的权限,不但能够有效地限制数据库管理员的超级特权,同时也能够将这两种访问控制手段有机地结合起来阻止对数据库的非法访问。自主访问控制是通过SQL语句的方式进行设置的。在经过词法和语法解析后,数据库管理系统会进行权限查询,查看当前用户是不是数据库管理员,如果是数据库管理员则正常执行。因此,我们可以将权限查询修改为如果是数据库安全员则继续执行,从而将自主访问控制权限转移到数据库安全员。数据库安全员能够对数据库表应用各种自主访问控制的权限,同时也能够取消自主访问控制的权限。如图2所示,本专利技术进一步限制了数据库管理员对访问私有对象的权限,即在数据库系统由权限受限的数据库管理员开启的情况下,数据库管理员不再对普通用户的私有对象具有访问和操作的权限。在默认情况下,除非数据表的属主用户自主授权,否则数据库管理员无法查询、修改和删除用户自有的数据表。这种对数据库管理员限制私有对象访问权限的操作可以通过由数据库安全员设置受限模式的方式来进行,具体说明如下在数据库系统中,各种访问权限大致可以分为>系统权限是执行特定操作的权限。这些权限包括CREATE DATABASE、CREATE USER,CREATE ROLE 的权限,具体分为 SUPERUSER、SSO、SAO、CREATEDB 和 CREATER0LE 五个系统权限。>对象权限是对给定的用户授予在给定对象(例如表)上执行的操作集。这些操作可以指明为INSERT、SELECT等,具体参见表1 对象权限TABLESELECT I INSERT | UPDATE | DELETE | REFERENCES | TRIGGERVIEWSELECT I INSERT | UPDATE | DELETE |权利要求1.,其特征在于步骤本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:杨经正孙旭刘革非王建华
申请(专利权)人:北京人大金仓信息技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术