CN111914295A - 数据库的访问控制方法、装置及电子设备 - Google Patents
数据库的访问控制方法、装置及电子设备 Download PDFInfo
- Publication number
- CN111914295A CN111914295A CN202010775514.XA CN202010775514A CN111914295A CN 111914295 A CN111914295 A CN 111914295A CN 202010775514 A CN202010775514 A CN 202010775514A CN 111914295 A CN111914295 A CN 111914295A
- Authority
- CN
- China
- Prior art keywords
- access
- user
- information
- database
- auditor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000012550 audit Methods 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种数据库的访问控制方法、装置及电子设备,涉及数据处理技术领域,该方法包括接收用户发送的访问请求;该访问请求携带有该用户的账户信息;根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;根据确定的用户类型,确定该用户的访问权限和访问规则;根据确定出的访问权限和访问规则响应该访问请求。本发明实施例通过在数据库系统中设置管理员、安全员和审计员三类管理用户,分别独立管理各自的用户信息,三类管理用户的权限相互制约,可以降低用户信息数据被更改和泄露的风险,提高了数据库的安全性以及数据库服务的健壮性。
Description
技术领域
本发明涉及数据处理技术领域,尤其是涉及一种数据库的访问控制方法、装置及电子设备。
背景技术
在传统数据库中,管理员、安全员、审计员、普通用户等所有用户的用户数据都存于同一个表中,当超级用户拥有最高权限时,他可以随意修改数据库中的数据,也即可以删除或复制任何数据资源,例如,对管理员、安全员和审计员的数据进行更改或复制,而且不会留下操作的痕迹,从而导致数据更改和信息泄漏的风险,降低数据库的安全性。
为了缓解上述问题,提出了三权分立的数据库权限管理方式,其中,数据库系统的用户汇集为一张总表,由管理员进行维护。对于云数据库而言,其对服务的稳定性要求较高,而如果在现有三权分立的框架下进行数据库的访问控制,用户数据被更改和泄露的风险依然较高。
发明内容
有鉴于此,本发明的目的在于提供一种数据库的访问控制方法、装置及电子设备,可以降低数据库中用户数据被更改和泄露的风险,有效监督用户对数据的操作,提升数据库的安全性和数据库服务的稳定性。
第一方面,本发明实施例提供了一种数据库的访问控制方法,应用于数据库系统,该方法包括:接收用户发送的访问请求;该访问请求携带有该用户的账户信息;根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理数据库系统的用户的访问权限和管理员信息,该安全员用于管理数据库系统的用户的访问规则和安全员信息,该审计员用于监督数据库系统的用户的访问操作,以及管理审计员信息;根据确定的用户类型,确定该用户的访问权限和访问规则;根据确定出的访问权限和访问规则响应该访问请求。
在本发明较佳的实施例中,上述数据库系统中设置有管理员信息表、安全员信息表、审计员信息表、访问控制表和安全审计表;其中,该管理员信息表用于存储该管理员信息;该安全员信息表用于存储该安全员信息;该审计员信息表用于存储该审计员信息;该访问控制表用于存储该数据库系统的用户的访问规则;该安全审计表用于存储用户对该数据库系统的访问日志,且该安全审计表由该审计员管理。
在本发明较佳的实施例中,上述访问规则通过下述方式制定:获取针对目标数据的访问要求;根据该访问要求,按照预设的限制维度,生成该目标数据的访问规则。
在本发明较佳的实施例中,上述限制维度包括机器信息、用户信息、库、表、字段和操作类型中的至少一种。
在本发明较佳的实施例中,上述限制维度还包括访问开始时间和访问结束时间。
在本发明较佳的实施例中,上述根据确定出的访问权限和访问规则响应该访问请求的步骤,包括:根据确定出的该访问权限,判断该用户是否有权访问请求的目标数据;如果有权访问该目标数据,判断该访问请求是否符合确定出的该访问规则;如果是,按照该访问请求访问该目标数据。
在本发明较佳的实施例中,上述方法还包括:如果该用户无权访问该目标数据,或者,如果该用户有权访问该目标数据,但该访问请求不符合确定出的该访问规则,拒绝该访问请求。
在本发明较佳的实施例中,在上述根据确定出的该访问权限和该访问规则响应该访问请求的步骤之后,该方法还包括:记录该用户的访问操作,生成访问日志;将该访问日志保存到预设的审计表和/或指定的数据文件。
在本发明较佳的实施例中,上述审计员包括第一审计员和第二审计员,该第一审计员用于对数据操纵语言的访问操作进行监督,该第二审计员用于对数据库模式定义语言的访问操作进行监督。
第二方面,本发明实施例还提供了一种数据库的访问控制装置,应用于数据库系统,该装置包括:访问请求接收模块,用于接收用户发送的访问请求;该访问请求携带有该用户的账户信息;用户类型确定模块,用于根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理该数据库系统的用户的访问权限和管理员信息,该安全员用于管理该数据库系统的用户的访问规则和安全员信息,该审计员用于监督该数据库系统的用户的访问操作,以及管理审计员信息;访问权限及访问规则确定模块,用于根据确定的该用户类型,确定该用户的访问权限和访问规则;访问请求响应模块,用于根据确定出的访问权限和访问规则响应该访问请求。
第三方面,本发明实施例还提供了一种电子设备,该电子设备包括处理器和存储器,该存储器存储有能够被该处理器执行的计算机可执行指令,该处理器执行该计算机可执行指令以实现上述数据库的访问控制方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述数据库的访问控制方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种数据库的访问控制方法、装置及电子设备,接收用户发送的访问请求;该访问请求携带有该用户的账户信息;根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理数据库系统的用户的访问权限和管理员信息,该安全员用于管理数据库系统的用户的访问规则和安全员信息,该审计员用于监督数据库系统的用户的访问操作,以及管理审计员信息;根据确定的用户类型,确定该用户的访问权限和访问规则;根据确定出的访问权限和访问规则响应该访问请求。该方式中,通过在数据库系统中设置管理员、安全员和审计员三类管理用户,分别独立管理各自的用户信息,三类管理用户的权限相互制约,可以降低用户信息数据被更改和泄露的风险;并且,通过存储用户访问日志,由审计员进行管理,可以有效监督用户对数据库的操作,并可根据访问日志追溯用户访问操作,提高了数据库的安全性,进而提升数据库服务的稳定性。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种传统数据库系统的访问控制示意图;
图2为本发明实施例提供的一种数据库的访问控制方法的流程示意图;
图3为本发明实施例提供的一种基于三权分立实现的数据库系统的访问控制示意图;
图4为本发明实施例提供的一种三权分立权限管理框架下的管理员、安全员和审计员的关系示意图;
图5为本发明实施例提供的一种数据库的访问控制装置的结构示意图;
图6为本发明实施例提供的一种电子设备的结构示意图。
图标:51-访问请求接收模块;52-用户类型确定模块;53-访问权限及访问规则确定模块;54-访问请求响应模块;61-处理器;62-存储器;63-总线;64-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,所示为一种传统数据库系统的访问控制示意图,在图1示出的方式中,如果用户具有极高的权限,例如超级用户,则可以随意修改数据库中的数据,也即,这意味着超级用户可以删除或复制数据库中的任何数据资源,而且不会留下操作的痕迹。显然,这样的用户权限会给数据库带来相当大的安全问题。为了缓解该问题,提出了三权分立的数据库权限管理方式,但是,该方式中对管理员、安全员和审计员的用户信息是由管理员统一进行管理,仍然存在被更改的风险。
考虑到云数据库对服务的稳定性要求较高,而现有三权分立权限管理框架下数据库的访问控制,用户数据被更改和泄露的风险依然较高的问题,本发明实施例提供的一种数据库的访问控制方法、装置及电子设备,该技术可以应用于各类数据库的访问控制场景中。为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据库的访问控制方法进行详细介绍。
参见图2,所示为一种数据库的访问控制方法的流程示意图,其中,该方法应用于数据库系统,由图2可见,该方法包括以下步骤:
步骤S202:接收用户发送的访问请求;该访问请求携带有该用户的账户信息。
这里,数据库系统是指由数据库及其管理软件组成的系统,其中,该数据库可以是传统数据库,例如MySQL、SQL Server等,也可以是云数据库。其中,云数据库是把传统的数据库虚拟化的新型数据库类型,云数据库可以按需求拓展,且具有高可用性和优质的存储整合性。
当数据库系统接收到用户的访问请求时,也获取到访问请求里该用户的账户信息,其中,该账户信息通常包括用户名或者账户号。
步骤S204:根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理数据库系统的用户的访问权限和管理员信息,该安全员用于管理数据库系统的用户的访问规则和安全员信息,该审计员用于监督数据库系统的用户的访问操作,以及管理审计员信息。
其中,管理员、安全员和审计员这三类用户属于数据库系统的系统角色,共同分担了数据库系统的管理权限。并且,对于管理员、安全员或审计员,每种系统角色均可以设置一个或多个。
在本实施例中,管理员用于管理数据库系统的用户的访问权限,也即,由管理员对数据库系统中的各类用户进行权限分配和权限回收。另外,管理员信息只有管理员可以增加、删除或修改,例如,仅可以由管理员创建新的管理员用户,并且,管理员也只能创建管理员用户,不能创建其他类型的用户。
另外,上述安全员用于管理数据库系统的用户的访问规则,其中,用户的访问规则由安全员统一制定,安全员通过设定访问规则限制用户的操作,例如,在其中一种应用场景中,可以设置如下规则:当普通用户访问数据文件A时,对数据文件A中的敏感数据进行加密,这里,该敏感数据可以是身份证号、手机号等,这样,可以通过该访问规则限定了普通用户对数据文件A中敏感数据的查询操作,从而对敏感数据进行保护。
此外,数据库系统中的安全员信息仅可由安全员进行增删改查,例如,仅可通过安全员创建新的安全员用户,并且,安全员只能创建安全员用户,而不能创建其他类型的用户,例如管理员、审计员等。
再者,对于上述审计员,其负责监督数据库系统的用户的访问操作,对于任一类型的用户,其在该数据库系统中进行的增删改查等访问操作,都受到监督。在其中一种可能的实施方式中,可以通过存储用户的访问日志的形式,在访问日志中记录用户对数据库系统的访问操作,从而审计员可以调取用户对应的访问日志,以对用户的访问操作进行监督核查。
并且,对于上述审计员信息,仅可由审计员这一类型的用户对其进行修改,例如,仅可由审计员进行审计员用户的创建或删除。并且,审计员仅可创建审计员用户,而不能创建其他类型的用户。
如图3所示,其为一种基于三权分立实现的数据库系统的访问控制示意图,在图3示出的实施方式中,该数据库系统的管理层包括管理员、安全员和审计员三类系统角色,实现了对系统管理权限的分散,且各个系统角色之间彼此牵制制约。进一步地,参见图4,其为一种三权分立权限管理框架下的管理员、安全员和审计员的关系示意图,该图中示出了上述三种系统角色各自的权限范围,以及每种角色和其他角色之间的相互关系。
相比于传统数据库系统,传统数据库系统由超级用户负责所有配置管理工作,而本申请通过设置管理员、安全员和审计员这三类不同的系统角色,分别拥有不用的权利,各司其职,相互限制,使得数据库系统的管理权限分散,从而提升数据库系统的安全性。另外,相比于现有三权分立的数据库权限管理方式,现有三权分立模式中,管理员、安全员和审计员的用户信息仍然存于一个表中,由管理员统一管理,而本申请通过将管理员、安全员和审计员这三类系统角色的用户信息,分别配置给对应的用户类型进行管理,不同系统角色不能管理其他系统角色的用户信息,从而进一步分解了管理员的权限,缓解了管理员对上述系统角色的用户信息进行修改或泄露的风险。
步骤S206:根据确定的用户类型,确定该用户的访问权限和访问规则。
对于每一类的用户,均设置了相应的访问权限,例如,对于管理员用户,其不能访问安全员信息和审计员信息,而审计员也不能访问安全员信息。
又比如,在另一种应用场景中,假设某用户A请求访问用户B在系统数据库的操作记录,系统数据库检测发现该用户A并不是审计员,则拒绝该访问请求。
在用户满足访问权限的前提下,当用户实际访问目标数据时,依据用户的类型还预先设置了访问规则,访问规则不但是对用户实际访问操作的规范化约束,也是进一步限定了用户实际访问中的权限。例如,同为管理员用户,在企业中可以为管理部门的多个人配置管理员用户的账号,但是,各人在访问数据库时,对同一个数据文件的访问可以有不同的访问规则。比如,为某一科室主任、科员均分配了管理员账户,但是,当访问普通用户信息数据时,可以设置普通用户的身份证信息在科室主任的管理员账号访问时可见,而在科员的管理员账号访问时是加密的。
步骤S208:根据确定出的访问权限和访问规则响应该访问请求。
在至少一种可能的实施方式中,可以根据下述步骤11-13响应用户的访问请求:
(11)根据确定出的该访问权限,判断该用户是否有权访问请求的目标数据。
(12)如果有权访问该目标数据,判断该访问请求是否符合确定出的该访问规则。
(13)如果是,按照该访问请求访问该目标数据。
这里,如果该用户无权访问该目标数据,或者,如果该用户有权访问该目标数据,但该访问请求不符合确定出的该访问规则,拒绝该访问请求。
例如,普通用户A请求修改自己对数据库系统中某数据文件X的访问规则,数据库系统权限管理功能检测到该用户A的用户类型是普通用户,不是安全员用户,不具有修改用户访问规则的权限,则拒绝用户A的访问请求。
又比如,假设安全员用户B请求修改普通用户A对数据库系统中某数据文件X的访问规则,具体请求的修改为:将原来允许用户A对数据文件X进行修改的访问规则,修改为,只允许用户A对数据文件X进行查询,而不能修改。在实际操作中,数据库系统权限管理功能检测到该用户B的用户类型是安全员用户,且预先设置了安全员用户B的访问规则,包括允许用户B对应的账户对普通用户的访问规则进行修改。这样,用户B的访问请求符合其对应的访问规则,进而响应用户B的请求,对用户A的访问规则进行相应的修改。
本发明实施例提供的一种数据库的访问控制方法,接收用户发送的访问请求;该访问请求携带有该用户的账户信息;根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理数据库系统的用户的访问权限和管理员信息,该安全员用于管理数据库系统的用户的访问规则和安全员信息,该审计员用于监督数据库系统的用户的访问操作,以及管理审计员信息;根据确定的用户类型,确定该用户的访问权限和访问规则;根据确定出的访问权限和访问规则响应该访问请求。该方式中,通过在数据库系统中设置管理员、安全员和审计员三类管理用户,分别独立管理各自的用户信息,三类管理用户的权限相互制约,可以降低用户信息数据被更改和泄露的风险;并且,通过存储用户访问日志,由审计员进行管理,可以有效监督用户对数据库的操作,并可根据访问日志追溯用户访问操作,提高了数据库的安全性,进而提升数据库服务的稳定性。
在图1所示数据库的访问控制方法的基础上,本实施例还对该数据库系统中的管理员、安全员和审计员这三类用户的功能权限,以及它们彼此之间的配合进行了重点阐述。
在本实施例中,该数据库系统中还设置有管理员信息表、安全员信息表、审计员信息表、访问控制表和安全审计表;其中,该管理员信息表用于存储该管理员信息;该安全员信息表用于存储该安全员信息;该审计员信息表用于存储该审计员信息;该访问控制表用于存储该数据库系统的用户的访问规则;该安全审计表用于存储用户对该数据库系统的访问日志,且该安全审计表由该审计员管理。
在实际操作中,对于数据库系统中设置的上述管理员信息表、安全员信息表、审计员信息表、访问控制表和安全审计表,任何人都不能通过SQL命令将这些表删除,或者将表结构修改。比如,安全员可以查看安全员信息表,也可以对安全员信息表中的安全员用户进行新增或删除操作,但不能删除这个安全员信息表,也不能修改该安全员信息表的表结构。
相比于传统的三权分立权限管理方式,本实施例中的数据库系统还将管理员用户的权限进一步进行了拆解,并且对新增的安全员和审计员的权限做了相应设定。其中,管理员用户负责运维数据库,以及用户权限的分配回收,且只能创建新的管理员用户;安全员用户只能对访问控制表中的数据进行增删改查,且只能创建新的安全员用户;审计员用户只能查询或删除审计数据,且只能创建新的审计员用户。
目前,传统基于三权分立权限管理模式下的数据库系统,在进行访问控制时,对访问的控制级别一般是用户、库、表和列,而不能对指定的某个时间段级别进行控制,例如,假设客户C要求在某个时间段(如每天上午9点到10点)对用户A开放读test表的权利,则现有的控制级别无法实现。
为了克服上述问题,本实施例提供的数据库的访问控制方法中,安全员还通过设定访问规则限制相应用户的操作,并将新设定的访问规则存入系统预设的访问控制表中。在其中一种可能的实施方式中,安全员在制定访问规则时,通过下述步骤21-22实现:
(21)获取针对目标数据的访问要求。
这里,假设目标数据为某表格A,其属于客户X的数据资产,则客户X可以设置如下访问要求:当普通用户访问表格A时,只显示表格A中的前三列,而其他列的数据设置为加密。在该实施例中,数据库系统可以从客户X的客户端获取上述访问要求。
(22)根据该访问要求,按照预设的限制维度,生成该目标数据的访问规则。
例如,该限制维度可以包括机器信息、用户信息、库、表、字段和操作类型中的至少一种。在其他可能的实施方式中,该限制维度还可以包括语句类型、具体语句、访问开始时间和访问结束时间。
在实际操作时,假设对数据库db1中的表tb1有如下访问要求:限制普通用户A在2020-5-19 12:00:00~18:00:00这个时间段内不能访问该表tb1;则可按下述步骤31-32实现上述访问要求:
(31)安全员针对访问要求设定相应规则语句,并将生成的访问规则存入预设的访问控制表中;
(32)管理员对该访问规则进行审核,通过后让其生效。
这样,如果在上述访问规则中未设置时间维度,则默认为所有时间段内,普通用户A均可访问该表tb1。而通过安全员的上述设置,增加了访问时段的限制,使得普通用户A只能在访问规则中限定的时间段内对表tb1进行访问。
又比如,普通用户A自己创建的数据库db2中表tb2,用户A想将表tb2中的手机号码字段设置为只能自己有权查看。则可按下述步骤41-42实现该访问要求:
(41)普通用户A将上述访问要求反馈给安全员,由安全员设定相应的访问规则;
(42)管理员对该访问规则进行审核,通过后让其生效。
此外,在本实施例中,当数据库系统根据确定出的访问权限和访问规则响应用户的访问请求之后,还记录该用户的访问操作,生成相应的访问日志;并且,将该访问日志保存到预设的审计表和/或指定的数据文件。其中,如果将访问日志保存到系统预设的审计表,则更便于查询;如果将访问日志保存到指定数据文件,则更方便做数据报表。
这样,由于访问日志记录了普通用户、管理员、安全员和审计员等各类用户对数据库的操作,因而审计员可以从上述审计表或者指定的数据文件中,调用用户的访问日志,以对用户的访问操作进行审计。
在其中一种可能的实施方式中,还可以对审计员的角色进行细分,例如,可以设置第一审计员和第二审计员,其中,第一审计员用于对数据操纵语言(Data ManipulationLanguage,DML)的访问操作进行监督,而第二审计员用于对数据库模式定义语言(DataDefinition Language,DDL)的访问操作进行监督。这里,在实际操作中,当为审计员用户设置访问规则时,对应的限制维度还包括数据库操作语句类型,其中,该数据库操作语句类型包括数据操纵语言或数据库模式定义语言。例如,假设审计员用户A的访问规则中限制了数据库操作语句类型为数据操纵语言,则当审计员用户A向数据库系统请求读取访问日志时,将从访问日志中筛选出与数据操纵语言相关的访问日志,而将其他类型的日志(如数据库模式定义语言相关的日志)过滤掉,从而限制了审计员用户A的访问权限。这样,可以根据实际需求,对于具体的审计员用户进行访问规则的设置,以限定其访问权限。
本实施例提供的数据库的访问控制方法,在三权分立的权限管理模式下,通过将现有数据库系统中的用户总表拆分成多个表,并由不同的角色进行管理,其中,管理员对应管理员信息表,安全员对应安全员信息表和访问控制表,审计员对应审计员信息表和审计日志表,普通用户使用的则是数据库中原有的表,并且,通过访问日志的形式,将用户的访问操作保存到设计日志表,即使在发生数据泄露的情况下也可以进行原因追溯,可以更好监督用户对数据库的操作,降低了用户信息数据被更改和泄露的风险,也相应提高了数据库的安全性,提升了数据库服务的稳定性。
对应于图1中所示的种数据库的访问控制方法,本发明实施例还提供了一种数据库的访问控制装置,该装置应用于数据库系统,参见图5,所示为一种数据库的访问控制装置的结构示意图,由图5可见,该装置包括依次连接的访问请求接收模块51、用户类型确定模块52、访问权限及访问规则确定模块53和访问请求响应模块54,其中,各个模块的功能如下:
访问请求接收模块51,用于接收用户发送的访问请求;该访问请求携带有该用户的账户信息;
用户类型确定模块52,用于根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理该数据库系统的用户的访问权限和管理员信息,该安全员用于管理该数据库系统的用户的访问规则和安全员信息,该审计员用于监督该数据库系统的用户的访问操作,以及管理审计员信息;
访问权限及访问规则确定模块53,用于根据确定的该用户类型,确定该用户的访问权限和访问规则;
访问请求响应模块54,用于根据确定出的访问权限和访问规则响应该访问请求。
本发明实施例提供的一种数据库的访问控制装置,接收用户发送的访问请求;该访问请求携带有该用户的账户信息;根据该账户信息,确定该用户的用户类型;其中,该用户类型包括普通用户、管理员、安全员或审计员;该管理员用于管理数据库系统的用户的访问权限和管理员信息,该安全员用于管理数据库系统的用户的访问规则和安全员信息,该审计员用于监督数据库系统的用户的访问操作,以及管理审计员信息;根据确定的用户类型,确定该用户的访问权限和访问规则;根据确定出的访问权限和访问规则响应该访问请求。该装置中,通过在数据库系统中设置管理员、安全员和审计员三类管理用户,分别独立管理各自的用户信息,三类管理用户的权限相互制约,可以降低用户信息数据被更改和泄露的风险;并且,通过存储用户访问日志,由审计员进行管理,可以有效监督用户对数据库的操作,并可根据访问日志追溯用户访问操作,提高了数据库的安全性,进而提升数据库服务的稳定性。
在其中一种可能的实施方式中,上述数据库系统中设置有管理员信息表、安全员信息表、审计员信息表、访问控制表和安全审计表;其中,该管理员信息表用于存储该管理员信息;该安全员信息表用于存储该安全员信息;该审计员信息表用于存储该审计员信息;该访问控制表用于存储该数据库系统的用户的访问规则;该安全审计表用于存储用户对该数据库系统的访问日志,且该安全审计表由该审计员管理。
在另一种可能的实施方式中,上述访问规则通过下述方式制定:获取针对目标数据的访问要求;根据该访问要求,按照预设的限制维度,生成该目标数据的访问规则。
在另一种可能的实施方式中,上述限制维度包括机器信息、用户信息、库、表、字段和操作类型中的至少一种。
在另一种可能的实施方式中,上述限制维度还包括访问开始时间和访问结束时间。
在另一种可能的实施方式中,上述访问请求响应模块54还用于:根据确定出的该访问权限,判断该用户是否有权访问请求的目标数据;如果有权访问该目标数据,判断该访问请求是否符合确定出的该访问规则;如果是,按照该访问请求访问该目标数据。
在另一种可能的实施方式中,上述访问请求响应模块54还用于:如果该用户无权访问该目标数据,或者,如果该用户有权访问该目标数据,但该访问请求不符合确定出的该访问规则,拒绝该访问请求。
在另一种可能的实施方式中,上述装置还包括访问日志模块,用于记录该用户的访问操作,生成访问日志;将该访问日志保存到预设的审计表和/或指定的数据文件。
在另一种可能的实施方式中,上述审计员包括第一审计员和第二审计员,该第一审计员用于对数据操纵语言的访问操作进行监督,该第二审计员用于对数据库模式定义语言的访问操作进行监督。
本发明实施例提供的数据库的访问控制装置,其实现原理及产生的技术效果和前述数据库的访问控制方法实施例相同,为简要描述,数据库的访问控制装置的实施例部分未提及之处,可参考前述数据库的访问控制方法实施例中相应内容。
本发明实施例还提供了一种电子设备,如图6所示,为该电子设备的结构示意图,其中,该电子设备包括处理器61和存储器62,该存储器62存储有能够被该处理器61执行的机器可执行指令,该处理器61执行该机器可执行指令以实现上述数据库的访问控制方法。
在图6示出的实施方式中,该电子设备还包括总线63和通信接口64,其中,处理器61、通信接口64和存储器62通过总线连接。
其中,存储器62可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口64(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器61可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器61中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器61可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器61读取存储器62中的信息,结合其硬件完成前述实施例的数据库的访问控制方法的步骤。
本发明实施例还提供了一种机器可读存储介质,该机器可读存储介质存储有机器可执行指令,该机器可执行指令在被处理器调用和执行时,该机器可执行指令促使处理器实现上述数据库的访问控制方法,具体实现可参见前述方法实施例,在此不再赘述。
本发明实施例所提供的数据库的访问控制方法、数据库的访问控制装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的数据库的访问控制方法,具体实现可参见方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (11)
1.一种数据库的访问控制方法,其特征在于,应用于数据库系统,所述方法包括:
接收用户发送的访问请求;所述访问请求携带有所述用户的账户信息;
根据所述账户信息,确定所述用户的用户类型;其中,所述用户类型包括普通用户、管理员、安全员或审计员;所述管理员用于管理所述数据库系统的用户的访问权限和管理员信息,所述安全员用于管理所述数据库系统的用户的访问规则和安全员信息,所述审计员用于监督所述数据库系统的用户的访问操作,以及管理审计员信息;
根据确定的所述用户类型,确定所述用户的访问权限和访问规则;
根据确定出的所述访问权限和所述访问规则响应所述访问请求。
2.根据权利要求1所述的数据库的访问控制方法,其特征在于,所述数据库系统中设置有管理员信息表、安全员信息表、审计员信息表、访问控制表和安全审计表;
其中,所述管理员信息表用于存储所述管理员信息;所述安全员信息表用于存储所述安全员信息;所述审计员信息表用于存储所述审计员信息;
所述访问控制表用于存储所述数据库系统的用户的访问规则;
所述安全审计表用于存储用户对所述数据库系统的访问日志,且所述安全审计表由所述审计员管理。
3.根据权利要求1所述的数据库的访问控制方法,其特征在于,所述访问规则通过下述方式制定:
获取针对目标数据的访问要求;
根据所述访问要求,按照预设的限制维度,生成所述目标数据的访问规则。
4.根据权利要求3所述的数据库的访问控制方法,其特征在于,所述限制维度包括机器信息、用户信息、库、表、字段和操作类型中的至少一种。
5.根据权利要求4所述的数据库的访问控制方法,其特征在于,所述限制维度还包括访问开始时间和访问结束时间。
6.根据权利要求1所述的数据库的访问控制方法,其特征在于,所述根据确定出的所述访问权限和所述访问规则响应所述访问请求的步骤,包括:
根据确定出的所述访问权限,判断所述用户是否有权访问请求的目标数据;
如果有权访问所述目标数据,判断所述访问请求是否符合确定出的所述访问规则;
如果是,按照所述访问请求访问所述目标数据。
7.根据权利要求6所述的数据库的访问控制方法,其特征在于,所述方法还包括:
如果所述用户无权访问所述目标数据,或者,如果所述用户有权访问所述目标数据,但所述访问请求不符合确定出的所述访问规则,拒绝所述访问请求。
8.根据权利要求1所述的数据库的访问控制方法,其特征在于,在所述根据确定出的所述访问权限和所述访问规则响应所述访问请求的步骤之后,所述方法还包括:
记录所述用户的访问操作,生成访问日志;
将所述访问日志保存到预设的审计表和/或指定的数据文件。
9.一种数据库的访问控制装置,其特征在于,应用于数据库系统,所述装置包括:
访问请求接收模块,用于接收用户发送的访问请求;所述访问请求携带有所述用户的账户信息;
用户类型确定模块,用于根据所述账户信息,确定所述用户的用户类型;其中,所述用户类型包括普通用户、管理员、安全员或审计员;所述管理员用于管理所述数据库系统的用户的访问权限和管理员信息,所述安全员用于管理所述数据库系统的用户的访问规则和安全员信息,所述审计员用于监督所述数据库系统的用户的访问操作,以及管理审计员信息;
访问权限及访问规则确定模块,用于根据确定的所述用户类型,确定所述用户的访问权限和访问规则;
访问请求响应模块,用于根据确定出的所述访问权限和所述访问规则响应所述访问请求。
10.一种电子设备,其特征在于,所述电子设备包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至8任一项所述的数据库的访问控制方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至8任一项所述的数据库的访问控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010775514.XA CN111914295A (zh) | 2020-08-04 | 2020-08-04 | 数据库的访问控制方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010775514.XA CN111914295A (zh) | 2020-08-04 | 2020-08-04 | 数据库的访问控制方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111914295A true CN111914295A (zh) | 2020-11-10 |
Family
ID=73287168
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010775514.XA Pending CN111914295A (zh) | 2020-08-04 | 2020-08-04 | 数据库的访问控制方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111914295A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380239A (zh) * | 2020-11-17 | 2021-02-19 | 平安普惠企业管理有限公司 | 脚本生成方法、装置、设备及存储介质 |
CN112380236A (zh) * | 2020-11-11 | 2021-02-19 | 浪潮商用机器有限公司 | 一种db2/400数据库访问方法、装置、设备 |
CN112487478A (zh) * | 2020-12-02 | 2021-03-12 | 星环信息科技(上海)股份有限公司 | 数据访问控制方法、设备、存储介质和数据库系统 |
CN112906048A (zh) * | 2021-02-09 | 2021-06-04 | 上海凯馨信息科技有限公司 | 一种针对db2数据的密态数据访问防护方法 |
CN114254384A (zh) * | 2021-12-10 | 2022-03-29 | 卫宁健康科技集团股份有限公司 | 医疗数据调取方法、装置和计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858740A (zh) * | 2006-05-31 | 2006-11-08 | 武汉华工达梦数据库有限公司 | 应用于数据库安全管理的三权分立安全方法 |
CN103188105A (zh) * | 2011-12-31 | 2013-07-03 | 中国航天科工集团第二研究院七〇六所 | Nas 设备的安全增强系统及其方法 |
CN109711147A (zh) * | 2019-01-02 | 2019-05-03 | 浪潮商用机器有限公司 | 操作系统的三权分立管理方法、装置、系统及存储介质 |
CN110135146A (zh) * | 2019-04-29 | 2019-08-16 | 武汉中锐源信息技术开发有限公司 | 一种数据库权限管理方法及系统 |
CN110912929A (zh) * | 2019-12-12 | 2020-03-24 | 和宇健康科技股份有限公司 | 一种基于区域医疗的安全管控中台系统 |
-
2020
- 2020-08-04 CN CN202010775514.XA patent/CN111914295A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1858740A (zh) * | 2006-05-31 | 2006-11-08 | 武汉华工达梦数据库有限公司 | 应用于数据库安全管理的三权分立安全方法 |
CN103188105A (zh) * | 2011-12-31 | 2013-07-03 | 中国航天科工集团第二研究院七〇六所 | Nas 设备的安全增强系统及其方法 |
CN109711147A (zh) * | 2019-01-02 | 2019-05-03 | 浪潮商用机器有限公司 | 操作系统的三权分立管理方法、装置、系统及存储介质 |
CN110135146A (zh) * | 2019-04-29 | 2019-08-16 | 武汉中锐源信息技术开发有限公司 | 一种数据库权限管理方法及系统 |
CN110912929A (zh) * | 2019-12-12 | 2020-03-24 | 和宇健康科技股份有限公司 | 一种基于区域医疗的安全管控中台系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380236A (zh) * | 2020-11-11 | 2021-02-19 | 浪潮商用机器有限公司 | 一种db2/400数据库访问方法、装置、设备 |
CN112380239A (zh) * | 2020-11-17 | 2021-02-19 | 平安普惠企业管理有限公司 | 脚本生成方法、装置、设备及存储介质 |
CN112487478A (zh) * | 2020-12-02 | 2021-03-12 | 星环信息科技(上海)股份有限公司 | 数据访问控制方法、设备、存储介质和数据库系统 |
CN112487478B (zh) * | 2020-12-02 | 2021-10-08 | 星环信息科技(上海)股份有限公司 | 数据访问控制方法、设备、存储介质和数据库系统 |
CN112906048A (zh) * | 2021-02-09 | 2021-06-04 | 上海凯馨信息科技有限公司 | 一种针对db2数据的密态数据访问防护方法 |
CN112906048B (zh) * | 2021-02-09 | 2023-01-03 | 上海凯馨信息科技有限公司 | 一种针对db2数据的密态数据访问防护方法 |
CN114254384A (zh) * | 2021-12-10 | 2022-03-29 | 卫宁健康科技集团股份有限公司 | 医疗数据调取方法、装置和计算机设备 |
CN114254384B (zh) * | 2021-12-10 | 2023-10-20 | 卫宁健康科技集团股份有限公司 | 医疗数据调取方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11599668B2 (en) | Securing access to confidential data using a blockchain ledger | |
CN111914295A (zh) | 数据库的访问控制方法、装置及电子设备 | |
US7565685B2 (en) | Operating system independent data management | |
US20230090190A1 (en) | Data management and governance systems and methods | |
US20120185510A1 (en) | Domain based isolation of objects | |
Sicari et al. | Security&privacy issues and challenges in NoSQL databases | |
US20230195877A1 (en) | Project-based permission system | |
JP2023534263A (ja) | データアクセス方法、装置、記憶媒体及び電子装置 | |
CN105827645B (zh) | 一种用于访问控制的方法、设备与系统 | |
US11146560B1 (en) | Distributed governance of computing resources | |
CN107566375B (zh) | 访问控制方法和装置 | |
US20190005260A1 (en) | Method and system for isolating application data access | |
CN114422197A (zh) | 一种基于策略管理的权限访问控制方法及系统 | |
CN114168930A (zh) | 一种Hive权限控制方法、装置、设备及可读存储介质 | |
CN115017526A (zh) | 数据库访问方法、装置、电子设备及存储介质 | |
US20220374532A1 (en) | Managed metastorage | |
CN117494154A (zh) | 一种基于零信任的电力大数据安全管理方法及系统 | |
US10454939B1 (en) | Method, apparatus and computer program product for identifying excessive access rights granted to users | |
Singh | Security analysis of mongodb | |
CN112149112A (zh) | 一种基于职权分离的企业信息安全管理方法 | |
CN115422526A (zh) | 角色权限管理方法、设备及存储介质 | |
Srivastava et al. | Verity: Blockchains to detect insider attacks in DBMS | |
Jaidi et al. | The problem of integrity in RBAC-based policies within relational databases: synthesis and problem study | |
Kadebu et al. | A security requirements perspective towards a secured nosql database environment | |
KR100657353B1 (ko) | 다양한 접근 통제 정책을 수용할 수 있는 보안 시스템,보안방법, 및 그 기록매체 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |