本发明公开一种方法和装置,涉及数据库,具体地说是一种权限分立访问控制方法和装置。
背景技术:
1、访问控制,是数据库管理系统对用户访问数据资源的权限进行管理,主要是用来甄别用户是否具有访问数据资源的权限,这里的访问包括读和写。如果访问控制系统判断用户具有相应数据资源的访问权限,则允许用户访问数据资源;否则,拒绝该用户的访问。通过访问控制,可以有效提高系统中数据资源的安全性。
2、但是,在一些数据库管理系统中权限设置较为单一,安全隐患大,无法再进行调整,访问控制策略不够灵活,不能够实现更细粒度的权限分立访问控制,无法满足更高级别、更符合客户的访问控制需求。
技术实现思路
1、本发明针对现有技术的问题,提供一种权限分立访问控制方法和装置,解决数据库权限分立管理和职责分离访问控制管理不灵活、易出错、场景扩展难的问题。
2、本发明提出的具体方案是:
3、本发明提供一种权限分立访问控制方法,包括:
4、步骤1:在数据库管理系统中创建基本元素,所述基本元素包括数据库主体、数据库客体和数据库标签,
5、步骤2:分别对数据库主体、数据库客体和数据库操作权限使用数据库标签进行标记分类,
6、步骤3:基于使用标签标记分类的数据库主体、数据库客体和数据库操作权限创建访问控制策略并存储,每一条访问控制策略定义具有相应标签的数据库主体、在具有对应标签的数据库客体上,允许进行具有对应标签的操作行为,
7、步骤4:当数据库管理系统接收数据库主体的sql命令,根据sql命令获取数据库主体、数据库客体和数据库操作权限,与数据库管理系统内访问控制策略进行匹配,若匹配成功则允许继续执行sql命令,否则禁止继续执行sql命令。
8、进一步,所述的一种权限分立访问控制方法中步骤1中数据库主体指数据库管理系统所管理的用户及其集合,以及代表用户的各个进程,数据库客体指受数据库主体操作的数据库对象,
9、步骤2中使用数据库标签将具有相同或相似的属性、数据库操作权限和操作行为的用户标记为相同标签,
10、使用数据库标签将具有相同或相似的数据敏感度的数据对象标记为相同标签,
11、使用数据库标签将具有对客体相同或相似的数据处理方式的数据库操作权限标记为相同标签。
12、进一步,所述的一种权限分立访问控制方法中步骤2中对数据库主体使用数据库标签进行标记分类,当数据库主体为数据库管理员时,限定数据库管理员的数据库标签的数量,根据数据库操作权限配置进行数据库管理员的多权分立。
13、进一步,所述的一种权限分立访问控制方法中步骤2中基本元素可以使用多个数据库标签进行标记,每一个数据库标签可以对多个基本元素进行标记,
14、步骤3中通过数据库访问控制策略可以对数据库标签所代表的基本元素进行批量设置。
15、进一步,所述的一种权限分立访问控制方法中步骤4中,具体步骤包括:
16、步骤41:通过数据库管理系统接收数据库主体的sql命令,
17、步骤42:通过语法分析语义解析sql命令,获取数据库主体、数据库客体和数据库操作权限,
18、步骤43:将sql命令的数据库主体、数据库客体和数据库操作权限与数据库管理系统内访问控制策略进行匹配,若匹配到某条使用数据库标签创建的访问控制策略,则匹配成功,允许继续执行sql命令,否则禁止继续执行sql命令。
19、本发明还提供一种权限分立访问控制装置,包括元素管理模块、标记模块、访问控制策略管理模块和访问控制模块,
20、元素管理模块在数据库管理系统中创建基本元素,所述基本元素包括数据库主体、数据库客体和数据库标签,
21、标记模块分别对数据库主体、数据库客体和数据库操作权限使用数据库标签进行标记分类,
22、访问控制策略管理模块基于使用标签标记分类的数据库主体、数据库客体和数据库操作权限创建访问控制策略并存储,每一条访问控制策略定义具有相应标签的数据库主体、在具有对应标签的数据库客体上,允许进行具有对应标签的操作行为,
23、访问控制模块当数据库管理系统接收数据库主体的sql命令,根据sql命令获取数据库主体、数据库客体和数据库操作权限,与数据库管理系统内访问控制策略进行匹配,若匹配成功则允许继续执行sql命令,否则禁止继续执行sql命令。
24、进一步,所述的一种权限分立访问控制装置的元素管理模块管理的数据库主体指数据库管理系统所管理的用户及其集合,以及代表用户的各个进程,数据库客体指受数据库主体操作的数据库对象,
25、标记模块使用数据库标签将具有相同或相似的属性、数据库操作权限和操作行为的用户标记为相同标签,
26、使用数据库标签将具有相同或相似的数据敏感度的数据对象标记为相同标签,
27、使用数据库标签将具有对客体相同或相似的数据处理方式的数据库操作权限标记为相同标签。
28、进一步,所述的一种权限分立访问控制装置的标记模块对数据库主体使用数据库标签进行标记分类,当数据库主体为数据库管理员时,限定数据库管理员的数据库标签的数量,根据数据库操作权限配置进行数据库管理员的多权分立。
29、进一步,所述的一种权限分立访问控制装置的标记模块对基本元素可以使用多个数据库标签进行标记,使每一个数据库标签可以对多个基本元素进行标记,
30、访问控制策略管理模块通过数据库访问控制策略可以对数据库标签所代表的基本元素进行批量设置。
31、进一步,所述的一种权限分立访问控制装置的访问控制模块通过数据库管理系统接收数据库主体的sql命令,
32、通过语法分析语义解析sql命令,获取数据库主体、数据库客体和数据库操作权限,
33、将sql命令的数据库主体、数据库客体和数据库操作权限与数据库管理系统内访问控制策略进行匹配,若匹配到某条使用数据库标签创建的访问控制策略,则匹配成功,允许继续执行sql命令,否则禁止继续执行sql命令。
34、本发明的有益之处是:
35、本发明方法,通过对数据库访问控制各参与要素进行标签分类,然后基于标签进行访问控制策略管理,并基于访问控制策略进行访问控制,既可以实现根据需要设置管理员的种类,也可以实现自主灵活为每类管理员分配权限,从而实现权限分立和职责分离,提高安全性、灵活性和管理效率。
1.一种权限分立访问控制方法,其特征是包括:
2.根据权利要求1所述的一种权限分立访问控制方法,其特征是步骤1中数据库主体指数据库管理系统所管理的用户及其集合,以及代表用户的各个进程,数据库客体指受数据库主体操作的数据库对象,
3.根据权利要求1所述的一种权限分立访问控制方法,其特征是步骤2中对数据库主体使用数据库标签进行标记分类,当数据库主体为数据库管理员时,限定数据库管理员的数据库标签的数量,根据数据库操作权限配置进行数据库管理员的多权分立。
4.根据权利要求1所述的一种权限分立访问控制方法,其特征是步骤2中基本元素可以使用多个数据库标签进行标记,每一个数据库标签可以对多个基本元素进行标记,
5.根据权利要求1所述的一种权限分立访问控制方法,其特征是步骤4中,具体步骤包括:
6.一种权限分立访问控制装置,其特征是包括元素管理模块、标记模块、访问控制策略管理模块和访问控制模块,
7.根据权利要求6所述的一种权限分立访问控制装置,其特征是元素管理模块管理的数据库主体指数据库管理系统所管理的用户及其集合,以及代表用户的各个进程,数据库客体指受数据库主体操作的数据库对象,
8.根据权利要求6所述的一种权限分立访问控制装置,其特征是标记模块对数据库主体使用数据库标签进行标记分类,当数据库主体为数据库管理员时,限定数据库管理员的数据库标签的数量,根据数据库操作权限配置进行数据库管理员的多权分立。
9.根据权利要求6所述的一种权限分立访问控制装置,其特征是标记模块对基本元素可以使用多个数据库标签进行标记,使每一个数据库标签可以对多个基本元素进行标记,
10.根据权利要求6所述的一种权限分立访问控制装置,其特征是访问控制模块通过数据库管理系统接收数据库主体的sql命令,
