WO2021098873A1 - 数据库的权限控制方法、计算机设备及存储介质 - Google Patents
数据库的权限控制方法、计算机设备及存储介质 Download PDFInfo
- Publication number
- WO2021098873A1 WO2021098873A1 PCT/CN2020/130732 CN2020130732W WO2021098873A1 WO 2021098873 A1 WO2021098873 A1 WO 2021098873A1 CN 2020130732 W CN2020130732 W CN 2020130732W WO 2021098873 A1 WO2021098873 A1 WO 2021098873A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- access
- policy
- attribute
- target user
- access policy
- Prior art date
Links
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
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
一种数据库的权限控制方法、计算机设备及存储介质,其中,方法包括:获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息(步骤110);确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型(步骤120);根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库(步骤130)。
Description
本申请要求在2019年11月22日提交中国专利局、申请号为201911155602.3的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
本申请实施例涉及数据库技术领域,例如涉及一种数据库的权限控制方法、计算机设备及存储介质。
在大型数据库应用系统中往往都建有大量的表和视图,这使得对数据库资源的管理和授权变得十分复杂。为大型数据库应用系统设计一种简单、高效、安全的权限管理方案已经成为系统和系统用户的普遍需求。
在传统的数据库应用系统中,对用户的访问权限采用的控制方式为通过防火墙限制用户的访问。如果用户需要访问数据库,需要为该用户单独创建一个时刻跟主数据库同步的从数据库,并将该从数据库放在不同的节点或者端口上。然后把该用户加入从数据库防火墙的白名单中,此时该用户才能够访问到数据库。如果需要在时间方面对用户的访问权限进行控制,则需要人工手动在特定的时间段将用户加入防火墙白名单或者从白名单中移除等来实现。
相关技术存在如下缺陷:主数据库与从数据库的同步过程会存在时差,同步过程受网络环境影响较大,并且从数据库的建立会影响数据库应用系统的整体性能。手动控制用户访问权限不仅会增加人工成本,同时扩展性差,难以兼容数据库应用系统的新增属性。综上,数据库的权限控制方案的性能较差。
发明内容
本申请实施例提供一种数据库的权限控制方法、计算机设备及存储介质,实现自动化、智能化地控制数据库的访问权限,以提高数据库权限控制的整体性能。
本申请实施例提供了一种数据库的权限控制方法,包括:
获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;
确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策 略类型包括第一策略类型以及第二策略类型;
根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
本申请实施例还提供了一种数据库的权限控制装置,包括:
数据库访问请求获取模块,设置为获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;
关联访问策略确定模块,设置为确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型;
访问控制模块,设置为根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
本申请实施例还提供了一种计算机设备,包括处理器和存储器,存储器设置为存储指令,当指令执行时使得处理器执行以下操作:
获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;
确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型;
根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
本申请实施例还提供了一种存储介质,存储介质设置为存储指令,指令用于执行:
获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;
确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型;
根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
图1是本申请实施例提供的一种应用于数据库的基于属性的访问策略模型 示意图;
图2是本申请实施例提供的一种定义基于属性的访问策略交互页面的主页面示意图;
图3是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图;
图4是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图;
图5是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图;
图6是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图;
图7是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图;
图8是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图;
图9是本申请实施例一提供的一种数据库的权限控制方法的流程图;
图10是本申请实施例二提供的一种数据库的权限控制方法的流程图;
图11是本申请实施例三提供的一种数据库的权限控制方法的流程图;
图12是本申请实施例四提供的一种数据库的权限控制装置的示意图;
图13为本申请实施例五提供的一种计算机设备的结构示意图。
下面结合附图和实施例对本申请进行说明。此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。
为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将多项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,多项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“目标用户”即为需要访问目标数据库的用户。
本文使用的术语“目标数据库资源”可以是目标数据库的数据库资源,如数据库或表等。
本文使用的术语“数据库访问请求”可以是目标用户访问目标数据库时,向目标数据库发送的访问请求。
本文使用的术语“访问属性信息”可以用于标识目标用户。
本文使用的术语“关联访问策略”可以是包括基于属性的访问策略和/或基于角色的访问策略。
本文使用的术语“第一策略类型”和“第二策略类型”可以是基于属性的访问策略的两种不同的策略类型。
本文使用的术语“访问策略结果”可以是判断目标用户的访问属性信息与基于属性的访问策略中策略内容是否相符产生的结果。
本文使用的术语“第一访问策略结果”、“第二访问策略结果”及“第三访问策略结果”可以是三种不同类型的基于属性的访问策略的访问策略结果。
在本申请实施例中,针对数据库的权限控制存在的性能较差的问题,发明人创造性地提出:获取目标用户针对目标数据库资源的,包括目标用户的访问属性信息的数据库访问请求,确定目标数据库资源的关联访问策略,以根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库。
本申请实施例为了实现自动化、智能化地控制数据库的权限,设计了适用于数据库的基于属性的访问策略模型。图1是本申请实施例提供的一种应用于数据库的基于属性的访问策略模型示意图。如图1所示,一个基于属性的访问策略(也即基于属性的访问控制(Attribute Based Access Control,ABAC)策略)可以由策略类型(effect)、数据库资源(resources)、访问条件(condition)、动作(actions)、角色(roles)、组(groups)及用户(users)七个参数组成。effect参数可以包括允许(ALLOW)和拒绝(DENY)两个可选参数,这两个可选参数定义了基于属性的访问策略的基调。例如,ALLOW参数可以设置允许用户访问的请求条件,DENY参数可以设置拒绝用户访问的请求条件。resources参数可以包括数据库(database)和表(table)两种可选类型,是基于属性的访问策略的主体。condition参数可以定义基于属性的访问策略的访问条件,也即定义基于属性的访问策略的策略内容,可以由访问条件主体(conditionKey)、限定条件(qualifier)、操作符(operator)和值(values)等参数构成。conditionKey参数表示访问条件的主体,可选互联协议(Internet Protocol,IP)地址(SourceIp)、访问时间(CurrentTime)、resources、用户组(GroupName)、用户角色(RoleName)及用户名(UserName)等类型。qualifier参数可以表示访问条件的限定词,可选一个都不包括(Contain_Any_Value)和所有都包括(Contain_All_Value)等类型。Operator参数与访问条件绑定。例如SourceIp访问条件可以使用IP地址(IpAddress)和非IP地址(NotIpAddress)两个操作符,IpAddress表示上下文的IP地址必须是IpAddress值中的IP,NotIpAddress表示上下文的IP地址不能是NotIpAddress值中的IP地址。Resource可以表示访问的数据库资源的名字, 其对应的操作符可以包括以下几种:字符串相等(StringEquals)字符串不相等(、StringNotEquals)、忽略大小写字符串相等(StringEqualsIgnoreCase)、忽略大小写字符串不相等(StringNotEqualsIgnoreCase)、字符串正则表达式匹配(StringLike)及字符串正则表达式不匹配(StringNotLike)。values参数可以表示IP的具体的值,可以同时添加多个值。actions参数可以定义对数据库的可执行操作,包括但不限于选择(select)、插入(insert)、更新(update)、删除(delete)及管理(admin)等操作类型。其余的roles、groups及users参数是常规的参数,可以兼容基于角色的访问策略(也即基于角色的权限访问控制(Role-Based Access Control,RBAC)策略)策略模型的保留参数。
下面结合具体示例说明通过制定数据库访问策略实现数据库的权限控制。
图2是本申请实施例提供的一种定义基于属性的访问策略交互页面的主页面示意图。在一个例子中,如图2所示,定义了一条对测试(test)数据库中表aaa、表bbb和表ccc对IP为172.26.5.93/24的用户在执行select操作的DENY策略。
图3是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图。在一个例子中,如图3所示,定义了一个SourceIp的请求条件,如果SourceIp来自10.12.0.1/24、10.32.0.1/24及10.42.0.1/24中任意一个地址,则请求条件成立。
图4是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图。在一个例子中,如图4所示,定义了一个Resource的请求条件,如果资源名满足正则表达式.+\.secret_.*,即表示以secret_开头的所有的表(例如default.secret_tbl,discover.secret_zone等),则请求条件成立。
图5是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图。在一个例子中,如图5所示,定义了一个CurrentTime的请求条件,如果用户的访问时间在15-10-2015 10:20:56以后,则请求条件成立。
图6是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图。在一个例子中,如图6所示,定义了一个GroupName的请求条件,如果用户对应的用户组不在sercet_group和test_group内,则请求条件成立。
图7是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图。在一个例子中,如图7所示,定义了一个RoleName的请求条件,如果用户对应的用户角色中有secret_role或test_role(可以不分大小写),则请求条件成立。
图8是本申请实施例提供的一种基于属性的访问策略的请求条件的示意图。在一个例子中,如图8所示,定义了一个UserName的请求条件,如果用户的用 户名不是aaa、bbb及ccc(可以不分大小写)中的任意一个,则请求条件成立。
实施例一
图9是本申请实施例一提供的一种数据库的权限控制方法的流程图,本实施例可适用于根据基于属性的访问策略和/或基于角色的访问策略对数据库的访问权限进行控制情况,该方法可以由数据库的权限控制装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在计算机设备中。如图9所示,该方法包括如下操作:
步骤110、获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息。
目标用户即为需要访问目标数据库的用户。目标数据库资源可以是目标数据库的数据库资源,如数据库或表等。数据库访问请求可以是目标用户访问目标数据库时,向目标数据库发送的访问请求。数据库访问请求可以包括目标用户的访问属性信息,访问属性信息可以用于标识目标用户。示例性的,可以将用户的IP地址或用户角色等作为访问属性信息。
在本申请实施例中,目标用户访问目标数据库时,即向目标数据库发送了数据库访问请求。如当目标用户对目标数据库的表1的数据执行删除操作时,目标用户即向目标数据库发送了数据库访问请求,数据库访问请求具体是请求访问目标数据库资源表1,请求访问的动作是删除操作。目标数据库可以获取目标用户针对目标数据库资源的数据库访问请求。
可以将目标用户访问的数据库资源作为目标数据库资源,也可以将数据库的全局资源作为目标数据库资源,本申请实施例对此并不进行限制。
步骤120、确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型。
关联访问策略可以包括基于属性的访问策略和/或基于角色的访问策略,基于属性的访问策略的数量可以是一条,也可以是多条。第一策略类型和第二策略类型可以是基于属性的访问策略的两种不同的策略类型。可选的,第一策略类型可以是ALLOW,即允许用户访问;第二策略类型可以是DENY,即拒绝用户访问。可选的,基于属性的访问策略的策略内容可以根据目标用户的访问属性信息和目标数据库的数据库资源制定。基于属性的访问策略的策略内容也即请求条件内容(condition参数内容)。基于角色的访问策略的策略内容可以根据角色信息设定。
在本申请实施例中,目标数据库在应用之前可以首先根据实际需求预先定义一系列基于属性的访问策略和基于角色的访问策略。图2所示的示意图即定义了一条基于属性的访问策略。可以将基于属性的访问策略存储在策略存储数据库中,策略存储数据库可以是与目标数据库相独立的数据库。还可以将策略存储数据库中存储的基于属性的访问策略读取到缓存中。对目标数据库的权限进行判断时,可以访问缓存中存储的基于属性的访问策略确定目标数据库资源的关联访问策略,以减少对策略存储数据库的访问次数,从而降低策略存储数据库的响应时间。缓存可以按照设定周期定时更新,以保障缓存数据与策略存储数据库数据的一致性。缓存的容量也可以根据实际需求设定,以存储策略存储数据库中全部的基于属性的访问策略。可以由目标数据库本身执行权限判断功能,也可以由独立的权限判断系统执行权限判断功能,本申请实施例对此并不进行限制。
步骤130、根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
在确定目标数据库资源的关联访问策略以后,即可根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库,即允许或拒绝目标用户访问目标数据库。
如果确定存在基于属性的访问策略,则可以根据基于属性的访问策略或者根据基于属性的访问策略和基于角色的访问策略来控制目标用户访问目标数据库。如果确定不存在基于属性的访问策略,则可以根据基于角色的访问策略来控制目标用户访问目标数据库。
在本申请的一个可选实施例中,所述确定所述目标数据库资源的关联访问策略,可以包括:根据所述数据库访问请求包括的请求服务标识确定所述数据库访问请求的访问策略集;其中,所述访问策略集包括全局访问策略集和目标数据库资源关联的访问策略集;如果所述访问策略集不为空,则将所述基于角色的访问策略和/或所述访问策略集包括的基于属性的访问策略作为所述关联访问策略;如果所述访问策略集为空,将所述基于角色的访问策略作为所述关联访问策略。
请求服务标识可以是数据库访问请求中包括的服务标识,如服务ID等。访问策略集可以用于存储与目标数据库资源相关联的基于属性的访问策略。全局访问策略集中包括的访问策略可以是全局资源的基于属性的访问策略;目标数据库资源关联的访问策略集中包括的访问策略可以是与目标数据库资源相关联的基于属性的访问策略。
数据库访问请求中包括带有访问的服务和目标数据库资源的信息。在本申 请实施例中,当获取到目标用户针对目标数据库资源的数据库访问请求后,可以根据数据库访问请求中包括的请求服务标识确定该数据库访问请求的访问策略集。可以根据请求服务标识从缓存中提取该请求服务标识对应的基于属性的访问策略,并根据基于属性的访问策略对应资源的属性将相应的基于属性的访问策略存储在全局访问策略集或目标数据库资源关联的访问策略集中。例如,如果基于属性的访问策略对应资源的属性为全局资源,则将该基于属性的访问策略存储在全局访问策略集中;如果基于属性的访问策略对应资源的属性不为全局资源,则将该基于属性的访问策略存储在目标数据库资源关联的访问策略集中。在确定访问策略集后,如果访问策略集不为空,表示存在与目标数据库资源匹配的基于属性的访问策略,则将基于角色的访问策略和/或访问策略集包括的基于属性的访问策略作为关联访问策略;如果访问策略集为空,则表明不存在与目标数据库资源匹配的基于属性的访问策略,则将基于角色的访问策略作为关联访问策略。
在本申请的一个可选实施例中,所述根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:如果所述关联访问策略包括所述基于属性的访问策略,则根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库;如果所述关联访问策略不包括所述基于属性的访问策略,根据所述基于角色的访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
在本申请实施例中,根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库时,可以首先判断关联访问策略是否包括基于属性的访问策略,如果确定关联访问策略包括基于属性的访问策略,则根据基于属性的访问策略和/或基于角色的访问策略,以及目标用户的访问属性信息控制目标用户访问目标数据库;如果确定关联访问策略不包括基于属性的访问策略,根据基于角色的访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库。
在本申请的一个可选实施例中,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;所述根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,可以包括:如果所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则允许所述目标用户访问目标数据库;如果所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,则拒绝所述目标用户访问目标数据库。
在本申请的一个可选实施例中,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;所述根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,可以包括:如果所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则拒绝所述目标用户访问目标数据库。
在本申请的一个可选实施例中,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为一条;所述根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,可以包括:如果所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,则判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,若目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符,允许所述目标用户访问目标数据库;若目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符,则拒绝所述目标用户访问目标数据库。
在本申请的一个可选实施例中,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为至少两条;所述根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,可以包括:根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,并将所述至少两个访问策略结果加入策略结果集合中;其中,每个访问策略结果包括第一访问策略结果、第二访问策略结果或第三访问策略结果;根据所述策略结果集合控制所述目标用户访问目标数据库。
在本申请的一个可选实施例中,所述根据所述策略结果集合控制所述目标用户访问目标数据库,可以包括:如果所述策略结果集合包括所述第二访问策略结果,则拒绝所述目标用户访问目标数据库;如果所述策略结果集合不包括所述第二访问策略结果且包括所述第一访问策略结果,则允许所述目标用户访问目标数据库;如果所述策略结果集合不包括所述第二访问策略结果和所述第一访问策略结果,且包括所述第三访问策略结果,则判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符,则允许所述目标用户访问目标数据库;若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符,则拒绝所述目标用户访问目标数据库。
在本申请的一个可选实施例中,所述根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,可以包括:如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容全部相符,则确定一个访问策略结果为所述第一访问策略结果或所述第二访问策略结果;如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第一策略类型,则确定所述访问策略结果为所述第二访问策略结果;如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第二策略类型,则确定所述访问策略结果为所述第三访问策略结果。
在本申请的一个可选实施例中,所述关联访问策略可以包括所述基于角色的访问策略,根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:根据所述基于角色的访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
在本申请实施例中,如果关联访问策略不包括基于属性的访问策略,仅包括基于角色的访问策略,此时可直接根据基于角色的访问策略以及目标用户的访问属性信息控制所述目标用户访问目标数据库。
在本申请的一个可选实施例中,所述目标用户的访问属性信息包括但不限于目标用户的IP地址、访问时间、用户名、用户组和用户角色。
综上所述,本申请实施例所提供的数据库的权限控制不需要增加额外的从数据库,且权限控制无需人工参与,实现了自动化、智能化地控制数据库的访问权限,从而提高数据库权限控制的整体性能。
本申请实施例通过获取目标用户针对目标数据库资源的,包括目标用户的访问属性信息的数据库访问请求,确定目标数据库资源的关联访问策略,以根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库,解决数据库权限控制方案性能较差的问题,实现自动化、智能化地控制数据库的访问权限,以提高数据库权限控制的整体性能。
实施例二
图10是本申请实施例二提供的一种数据库的权限控制方法的流程图,本实施例以上述实施例为基础进行说明,在本实施例中,给出了基于属性的访问策略的数量为一条的情况下,根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库的实现方式。如图10所示,本实施例 的方法可以包括:
步骤210、获取目标用户针对目标数据库资源的数据库访问请求。
步骤220、确定所述目标数据库资源的关联访问策略。
步骤230、根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
所述关联访问策略包括所述基于属性的访问策略,或,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,或,所述关联访问策略包括所述基于角色的访问策略。当所述关联访问策略包括所述基于属性的访问策略,或,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略时,基于属性的关联访问策略的数量可以是一条。
步骤230可以包括以下操作:
步骤231、判断基于属性的访问策略的策略类型是否为第一策略类型,若基于属性的访问策略的策略类型为第一策略类型,则执行步骤233,若基于属性的访问策略的策略类型不为第一策略类型,则执行步骤232。
在本申请实施例中,可以首先判断基于属性的访问策略的策略类型是否为第一策略类型,若基于属性的访问策略的策略类型为第一策略类型,则进一步判断目标用户的访问属性信息与所述基于属性的访问策略的策略内容是否相符,若基于属性的访问策略的策略类型不为第一策略类型,确定基于属性的访问策略的策略类型为第二策略类型。
步骤232、基于属性的访问策略的策略类型为第二策略类型,执行步骤234。
如果基于属性的访问策略的策略类型为第二策略类型,可以进一步判断目标用户的访问属性信息与所述基于属性的访问策略的策略内容是否相符。
步骤233、判断目标用户的访问属性信息与所述基于属性的访问策略的策略内容是否全部相符,若目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则执行步骤236,若目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,执行步骤237。
在本申请实施例中,如果基于属性的访问策略的策略类型为第一策略类型,且目标用户的访问属性信息与基于属性的访问策略的策略内容相符,则允许目标用户访问目标数据库。
步骤234、判断目标用户的访问属性信息与所述基于属性的访问策略的策略内容是否全部相符,若目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则执行步骤237,若目标用户的访问属性信息与所述基于属 性的访问策略的策略内容部分或全部不相符,执行步骤235。
在本申请实施例中,如果基于属性的访问策略的策略类型为第二策略类型,则可以判断目标用户的访问属性信息与基于属性的访问策略的策略内容是否全部相符。只要目标用户的访问属性信息与基于属性的访问策略的策略内容全部相符,即可拒绝目标用户访问目标数据库。如果目标用户的访问属性信息与基于属性的访问策略的策略内容部分或全部不相符,则可以进一步判断目标用户的访问属性信息与基于角色的访问策略的策略内容是否相符。
步骤235、判断所述目标用户的访问属性信息与基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与基于角色的访问策略的策略内容相符,则执行步骤236,所述目标用户的访问属性信息与基于角色的访问策略的策略内容不相符,则执行步骤237。
如果基于属性的访问策略的策略类型为第二策略类型,且目标用户的访问属性信息与基于属性的访问策略的策略内容部分或全部不相符,且目标用户的访问属性信息与基于角色的访问策略的策略内容相符,则允许目标用户访问目标数据库。如果基于属性的访问策略的策略类型为第二策略类型,且目标用户的访问属性信息与基于属性的访问策略的策略内容部分或全部不相符,且目标用户的访问属性信息与基于角色的访问策略的策略内容不相符,则拒绝目标用户访问目标数据库。
示例性的,判断目标用户的访问属性信息与基于角色的访问策略的策略内容是否相符,可以判断目标用户的用户名、用户组或用户角色等是否为允许访问目标数据库的用户名、用户组或用户角色。
步骤236、允许所述目标用户访问目标数据库。
步骤237、拒绝所述目标用户访问目标数据库。
本申请实施例通过获取目标用户针对目标数据库资源的,包括目标用户的访问属性信息的数据库访问请求,确定目标数据库资源的关联访问策略,以根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库,解决数据库权限控制方案性能较差的问题,实现自动化、智能化地对数据库进行细粒度的权限控制,以提高数据库权限控制的整体性能。
实施例三
图11是本申请实施例三提供的一种数据库的权限控制方法的流程图,本实施例以上述实施例为基础进行说明,在本实施例中,给出了基于属性的访问策略的数量为至少两条的情况下,根据所述关联访问策略以及所述目标用户的访 问属性信息控制所述目标用户访问目标数据库的实现方式。如图11所示,本实施例的方法可以包括:
步骤310、获取目标用户针对目标数据库资源的数据库访问请求。
步骤320、确定所述目标数据库资源的关联访问策略。
步骤330、根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为至少两条。
步骤330可以包括以下操作:
步骤331、根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,并将所述至少两个访问策略结果加入策略结果集合中。
访问策略结果可以是判断目标用户的访问属性信息与基于属性的访问策略中策略内容是否相符产生的结果。访问策略结果可以包括第一访问策略结果、第二访问策略结果或第三访问策略结果。
在本申请的一个可选实施例中,根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,可以包括:如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容全部相符,则确定一个访问策略结果为所述第一访问策略结果或所述第二访问策略结果;如果所述目标用户的访问属性信息与一个基于属性的访问策略的策略内容部分或全部不相符,且所述一个基于属性的访问策略的策略类型为所述第一策略类型,则确定一个访问策略结果为所述第二访问策略结果;如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第二策略类型,则确定一个访问策略结果为所述第三访问策略结果。
在本申请实施例中,如果基于属性的访问策略的数量为至少两条,可以首先根据至少两条基于属性的访问策略以及目标用户的访问属性信息确定访问策略结果,并将确定的访问策略结果加入策略结果集合中。
步骤332、判断所述策略结果集合是否包括所述第二访问策略结果,若策略结果集合包括所述第二访问策略结果,执行步骤336,若策略结果集合不包括所述第二访问策略结果,则执行步骤333。
在本申请实施例中,可以首先判断策略结果集合是否包括第二访问策略结 果,若是,则拒绝目标用户访问目标数据库。若策略结果集合不包括所述第二访问策略结果,进一步判断策略结果集合是否包括所述第一访问策略结果。
步骤333、判断所述策略结果集合是否包括所述第一访问策略结果,若所述策略结果集合包括所述第一访问策略结果,执行步骤337,若所述策略结果集合不包括所述第一访问策略结果,则执行步骤334。
如果所述策略结果集合不包括所述第二访问策略结果且包括所述第一访问策略结果,则允许所述目标用户访问目标数据库。
步骤334、判断所述策略结果集合是否包括所述第三访问策略结果,若所述策略结果集合包括所述第三访问策略结果,执行步骤335,若所述策略结果集合不包括所述第三访问策略结果,则执行步骤336。
如果策略结果集合不包括第二访问策略结果和第一访问策略结果,且包括第三访问策略结果,则进一步判断目标用户的访问属性信息与RBAC策略的策略内容是否相符。
步骤335、判断所述目标用户的访问属性信息与基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与基于角色的访问策略的策略内容相符,则执行步骤237,若所述目标用户的访问属性信息与基于角色的访问策略的策略内容不相符,则执行步骤236。
如果目标用户的访问属性信息与基于角色的访问策略的策略内容相符,则允许所述目标用户访问目标数据库;,拒绝所述目标用户访问目标数据库。
步骤336、拒绝所述目标用户访问目标数据库。
步骤337、允许所述目标用户访问目标数据库。
在一个例子中,假设ALLOW1为第一访问策略结果,DENY1为第二访问策略结果,不适用(NOT_APPLY)1为第三访问策略结果。对于资源的一条基于属性的访问策略,假定基于属性的访问策略中定义了IP网段的策略内容,在判断IP网段时,从缓存中读取到目标数据库资源(如用户访问的数据库资源或全局资源)的所有基于属性的访问策略,并从基于属性的访问策略的策略内容中读取IP网段字符串。依次检查目标用户的IP地址是否满足多个基于属性的访问策略关于IP网段字符串的策略内容。如果全部符合,则根据基于属性的访问策略的策略类型确定访问策略结果为ALLOW1或DENY1,如果目标用户的访问属性信息与基于属性的访问策略的策略内容部分或全部不相符,且基于属性的访问策略的策略类型为第一策略类型,则确定访问策略结果为所述第二访问策略结果DENY1;如果目标用户的访问属性信息与基于属性的访问策略的策略内容部分或全部不相符,且基于属性的访问策略的策略类型为第二策略类型, 则确定访问策略结果为第三访问策略结果NOT_APPLY1。然后将每条访问策略结果放在策略结果集合中。拿到策略结果集合后,首先判断策略结果集合中有没有DENY1,如果有则直接拒绝目标用户访问目标数据库;如果策略结果集合中没有DENY1,判断策略结果集合有没有ALLOW1,如果有则允许目标用户访问目标数据库;如果策略集合中没有ALLOW1,判断策略结果集合有没有NOT_APPLY1,如果有,则根据RBAC策略再次判断,如果策略集合中没有NOT_APPLY1,说明策略结果集合为空,则可以默认拒绝目标用户访问目标数据库。
综上所述,本申请实施例所提供的数据库的权限控制方法能够根据IP地址、访问时间、用户组、用户名及用户角色等不同属性信息去区分识别目标用户,通过基于属性的访问策略以及基于角色的访问策略的自由组合,可以实现对数据库细粒度的权限控制。
本申请实施例通过获取目标用户针对目标数据库资源的,包括目标用户的访问属性信息的数据库访问请求,确定目标数据库资源的关联访问策略,以根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库,解决数据库权限控制方案性能较差的问题,自动化、智能化地对数据库进行细粒度的权限控制,以提高数据库权限控制的整体性能。
实施例四
图12是本申请实施例四提供的一种数据库的权限控制装置的示意图,如图12所示,所述装置包括:数据库访问请求获取模块410、关联访问策略确定模块420以及访问控制模块430,其中:数据库访问请求获取模块410,设置为获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;关联访问策略确定模块420,设置为确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型;访问控制模块430,设置为根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
本申请实施例通过获取目标用户针对目标数据库资源的,包括目标用户的访问属性信息的数据库访问请求,确定目标数据库资源的关联访问策略,以根据关联访问策略以及目标用户的访问属性信息控制目标用户访问目标数据库,解决数据库权限控制方案性能较差的问题,实现自动化、智能化地控制数据库的访问权限,以提高数据库权限控制的整体性能。
可选的,关联访问策略确定模块420,是设置为根据所述数据库访问请求包括的请求服务标识确定所述数据库访问请求的访问策略集;其中,所述访问策略集包括全局访问策略集和目标数据库资源关联的访问策略集;如果所述访问策略集不为空,则将所述基于角色的访问策略和/或所述访问策略集包括的基于属性的访问策略作为所述关联访问策略;如果所述访问策略集为空,将所述基于角色的访问策略作为所述关联访问策略。
可选的,访问控制模块430,是设置为如果所述关联访问策略包括所述基于属性的访问策略,则根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库;如果所述关联访问策略不包括所述基于属性的访问策略,根据所述基于角色的访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
可选的,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;访问控制模块430,是设置为:如果所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则允许所述目标用户访问目标数据库;如果所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,则拒绝所述目标用户访问目标数据库。
可选的,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;访问控制模块430,是设置为:如果所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则拒绝所述目标用户访问目标数据库。
可选的,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为一条;访问控制模块430,是设置为:如果所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,则判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符,则允许所述目标用户访问目标数据库;若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符,拒绝所述目标用户访问目标数据库。
可选的,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为至少两条;访问控制模块430, 是设置为:根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,并将所述至少两个访问策略结果加入策略结果集合中;其中,每个访问策略结果包括第一访问策略结果、第二访问策略结果或第三访问策略结果;根据所述策略结果集合控制所述目标用户访问目标数据库。
可选的,访问控制模块430,是设置为通过如下方式根据所述策略结果集合控制所述目标用户访问目标数据库:如果所述策略结果集合包括所述第二访问策略结果,则拒绝所述目标用户访问目标数据库;如果所述策略结果集合不包括所述第二访问策略结果且包括所述第一访问策略结果,则允许所述目标用户访问目标数据库;如果所述策略结果集合不包括所述第二访问策略结果和所述第一访问策略结果,且包括所述第三访问策略结果,则判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符,则允许所述目标用户访问目标数据库;若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符,拒绝所述目标用户访问目标数据库;如果所述策略结果集合为空,则拒绝所述目标用户访问目标数据库。
可选的,访问控制模块430,是设置为:如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容全部相符,则确定一个访问策略结果为所述第一访问策略结果或所述第二访问策略结果;如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第一策略类型,则确定一个访问策略结果为所述第二访问策略结果;如果所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第二策略类型,则确定所述访问策略结果为所述第三访问策略结果。
可选的,所述目标用户的访问属性信息包括目标用户的IP地址、访问时间、用户名、用户组和用户角色。
可选的,所述基于属性的访问策略的策略内容根据所述目标用户的访问属性信息和目标数据库的数据库资源制定。
上述数据库的权限控制装置可执行本申请任意实施例所提供的数据库的权限控制方法,具备执行方法相应的功能模块。未在本实施例中描述的技术细节,可参见本申请任意实施例提供的数据库的权限控制方法。
实施例五
图13为本发明实施例五提供的一种计算机设备的结构示意图。如图13所示,本申请中的计算机设备可以包括:
一个或多个处理器51和存储装置52;该计算机设备的处理器51可以是一个或多个,图13中以一个处理器51为例;存储装置52设置为存储一个或多个程序;所述一个或多个程序被所述一个或多个处理器51执行。
计算机设备中的处理器51、存储装置52可以通过总线或其他方式连接,图13中以通过总线连接为例。
存储装置52作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序以及模块。存储装置52可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储装置52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置52可包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器51通过运行存储在存储装置52中的程序,从而执行多种功能应用以及数据处理,例如实现本申请上述实施例所提供的数据库的权限控制方法。
也即,所述处理单元执行所述程序时实现:获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型;根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
在上述实施例的基础上,处理器51是设置为通过以下方式确定所述目标数据库资源的关联访问策略:根据所述数据库访问请求包括的请求服务标识确定所述数据库访问请求的访问策略集;其中,所述访问策略集包括全局访问策略集和目标数据库资源关联的访问策略集;如果所述访问策略集不为空,则将所述访问策略集包括的基于属性的访问策略和/或基于角色的访问策略作为所述关联访问策略;如果所述访问策略集为空,将所述基于角色的访问策略作为所述关联访问策略。
在上述实施例的基础上,处理器51是设置为通过以下方式根据所述关联访 问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:如果所述关联访问策略包括所述基于属性的访问策略,则根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库;如果所述关联访问策略不包括所述基于属性的访问策略,根据所述基于角色的访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
在上述实施例的基础上,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;处理器51是设置为通过以下方式根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:如果所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则允许所述目标用户访问目标数据库;如果所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,则拒绝所述目标用户访问目标数据库。
在上述实施例的基础上,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;处理器51是设置为通过以下方式根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:如果所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符,则拒绝所述目标用户访问目标数据库。
在上述实施例的基础上,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为一条;处理器51是设置为通过以下方式根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:如果所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符,则判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符,则允许所述目标用户访问目标数据库;若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符,拒绝所述目标用户访问目标数据库。
在上述实施例的基础上,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为至少两条;处 理器51是设置为通过以下方式根据所述基于属性的访问策略和/或所述基于角色的访问策略,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,并将所述至少两个访问策略结果加入策略结果集合中;其中,每个访问策略结果包括第一访问策略结果、第二访问策略结果或第三访问策略结果;根据所述策略结果集合控制所述目标用户访问目标数据库。
在上述实施例的基础上,处理器51是设置为通过以下方式根据所述策略结果集合控制所述目标用户访问目标数据库:如果所述策略结果集合包括所述第二访问策略结果,则拒绝所述目标用户访问目标数据库;如果所述策略结果集合不包括所述第二访问策略结果且包括所述第一访问策略结果,则允许所述目标用户访问目标数据库;如果所述策略结果集合不包括所述第二访问策略结果和所述第一访问策略结果,且包括所述第三访问策略结果,则判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符,则允许所述目标用户访问目标数据库;若所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符,拒绝所述目标用户访问目标数据库。
在上述实施例的基础上,处理器51是设置为通过以下方式根据所述至少两个基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果:如果所述目标用户的访问属性信息与一个基于属性的访问策略的策略内容全部相符,则确定一个访问策略结果为所述第一访问策略结果或所述第二访问策略结果;如果所述目标用户的访问属性信息与一个基于属性的访问策略的策略内容部分或全部不相符,且所述一个基于属性的访问策略的策略类型为所述第一策略类型,则确定一个访问策略结果为所述第二访问策略结果;如果所述目标用户的访问属性信息与一个基于属性的访问策略的策略内容部分或全部不相符,且所述一个基于属性的访问策略的策略类型为所述第二策略类型,则确定一个访问策略结果为所述第三访问策略结果。
在上述实施例的基础上,所述目标用户的访问属性信息包括目标用户的IP地址、访问时间、用户名、用户组和用户角色。
在上述实施例的基础上,所述基于属性的访问策略的策略内容根据所述目标用户的访问属性信息和目标数据库的数据库资源制定。
实施例六
本申请实施例六还提供一种存储计算机程序的计算机存储介质,所述计算机程序在由计算机处理器执行时用于执行本申请上述实施例任一所述的数据库的权限控制方法:获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和/或基于角色的访问策略,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型;根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(Random Access Memory,RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言——诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计 算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(Local Area Network,LAN)或广域网(Wide Area Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
Claims (23)
- 一种数据库的权限控制方法,包括:获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和基于角色的访问策略中的至少之一,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型,所述第一策略类型为允许,第二策略类型为拒绝;根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
- 根据权利要求1所述的方法,其中,所述确定所述目标数据库资源的关联访问策略,包括:根据所述数据库访问请求包括的请求服务标识确定所述数据库访问请求的访问策略集;其中,所述访问策略集包括全局访问策略集和目标数据库资源关联的访问策略集;在所述访问策略集不为空的情况下,将所述基于角色的访问策略和所述访问策略集包括的基于属性的访问策略中的至少之一作为所述关联访问策略;在所述访问策略集为空的情况下,将所述基于角色的访问策略作为所述关联访问策略。
- 根据权利要求1所述的方法,其中,所述根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:在所述关联访问策略包括所述基于属性的访问策略的情况下,根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库;在所述关联访问策略不包括所述基于属性的访问策略的情况下,根据所述基于角色的访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
- 根据权利要求3所述的方法,其中,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;所述根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:在所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户 的访问属性信息与所述基于属性的访问策略的策略内容全部相符的情况下,允许所述目标用户访问目标数据库;在所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符的情况下,拒绝所述目标用户访问目标数据库。
- 根据权利要求3所述的方法,其中,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;所述根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:在所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符的情况下,拒绝所述目标用户访问目标数据库。
- 根据权利要求3所述的方法,其中,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为一条;所述根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:在所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符的情况下,判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符的判断结果,允许所述目标用户访问目标数据库;响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符的判断结果,拒绝所述目标用户访问目标数据库。
- 根据权利要求3所述的方法,其中,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为至少两条;所述根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库,包括:根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息 确定至少两个访问策略结果,并将所述至少两个访问策略结果加入策略结果集合中;其中,每个访问策略结果包括第一访问策略结果、第二访问策略结果或第三访问策略结果;其中,所述第一访问策略结果为允许,所述第二访问策略结果为拒绝,所述第三访问策略结果为不适用;根据所述策略结果集合控制所述目标用户访问目标数据库。
- 根据权利要求7所述的方法,其中,所述根据所述策略结果集合控制所述目标用户访问目标数据库,包括:在所述策略结果集合包括所述第二访问策略结果的情况下,拒绝所述目标用户访问目标数据库;在所述策略结果集合不包括所述第二访问策略结果且包括所述第一访问策略结果的情况下,允许所述目标用户访问目标数据库;在所述策略结果集合不包括所述第二访问策略结果和所述第一访问策略结果,且包括所述第三访问策略结果的情况下,判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符的判断结果,允许所述目标用户访问目标数据库;响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符的判断结果,拒绝所述目标用户访问目标数据库;在所述策略结果集合为空的情况下,拒绝所述目标用户访问目标数据库。
- 根据权利要求7或8所述的方法,其中,所述根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,包括:在所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容全部相符的情况下,确定一个访问策略结果为所述第一访问策略结果或所述第二访问策略结果;在所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第一策略类型的情况下,确定一个访问策略结果为所述第二访问策略结果;在所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第二策略类型的情况下,确定一个访问策略结果为所述第三访问策略结果。
- 根据权利要求1-9任一所述的方法,其中,所述目标用户的访问属性信 息包括目标用户的互联网协议IP地址、访问时间、用户名、用户组和用户角色。
- 根据权利要求1-9任一所述的方法,其中,所述基于属性的访问策略的策略内容根据所述目标用户的访问属性信息和目标数据库的数据库资源制定。
- 一种计算机设备,包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:获取目标用户针对目标数据库资源的数据库访问请求;所述数据库访问请求包括所述目标用户的访问属性信息;确定所述目标数据库资源的关联访问策略;其中,所述关联访问策略包括基于属性的访问策略和基于角色的访问策略中的至少之一,所述基于属性的访问策略的策略类型包括第一策略类型以及第二策略类型,所述第一策略类型为允许,第二策略类型为拒绝;根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
- 根据权利要求12所述的计算机设备,其中,所述处理器是设置为通过以下方式确定所述目标数据库资源的关联访问策略:根据所述数据库访问请求包括的请求服务标识确定所述数据库访问请求的访问策略集;其中,所述访问策略集包括全局访问策略集和目标数据库资源关联的访问策略集;在所述访问策略集不为空的情况下,将所述访问策略集包括的基于属性的访问策略和基于角色的访问策略作为所述关联访问策略中的至少之一;在所述访问策略集为空的情况下,将所述基于角色的访问策略作为所述关联访问策略。
- 根据权利要求12所述的计算机设备,其中,所述处理器是设置为通过以下方式根据所述关联访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:在所述关联访问策略包括所述基于属性的访问策略的情况下,根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库;在所述关联访问策略不包括所述基于属性的访问策略的情况下,根据所述基于角色的访问策略以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库。
- 根据权利要求14所述的计算机设备,其中,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;所述处理器是设置为通过以下方式根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:在所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符的情况下,允许所述目标用户访问目标数据库;在所述基于属性的访问策略的策略类型为第一策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符的情况下,拒绝所述目标用户访问目标数据库。
- 根据权利要求14所述的计算机设备,其中,所述关联访问策略包括所述基于属性的访问策略,所述基于属性的访问策略的数量为一条;所述处理器是设置为通过以下方式根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:在所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容全部相符的情况下,拒绝所述目标用户访问目标数据库。
- 根据权利要求14所述的计算机设备,其中,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为一条;所述处理器是设置为通过以下方式根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:在所述基于属性的访问策略的策略类型为第二策略类型,且所述目标用户的访问属性信息与所述基于属性的访问策略的策略内容部分或全部不相符的情况下,判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符的判断结果,允许所述目标用户访问目标数据库;响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符的判断结果,拒绝所述目标用户访问目标数据库。
- 根据权利要求14所述的计算机设备,其中,所述关联访问策略包括所述基于属性的访问策略和所述基于角色的访问策略,所述基于属性的访问策略的数量为至少两条;所述处理器是设置为通过以下方式根据所述基于属性的访问策略和所述基于角色的访问策略中的至少之一,以及所述目标用户的访问属性信息控制所述目标用户访问目标数据库:根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果,并将所述至少两个访问策略结果加入策略结果集合中;其中,每个访问策略结果包括第一访问策略结果、第二访问策略结果或第三访问策略结果;其中,所述第一访问策略结果为允许,所述第二访问策略结果为拒绝,所述第三访问策略结果为不适用;根据所述策略结果集合控制所述目标用户访问目标数据库。
- 根据权利要求18所述的计算机设备,其中,所述处理器是设置为通过以下方式根据所述策略结果集合控制所述目标用户访问目标数据库:在所述策略结果集合包括所述第二访问策略结果的情况下,拒绝所述目标用户访问目标数据库;在所述策略结果集合不包括所述第二访问策略结果且包括所述第一访问策略结果的情况下,允许所述目标用户访问目标数据库;在所述策略结果集合不包括所述第二访问策略结果和所述第一访问策略结果,且包括所述第三访问策略结果的情况下,判断所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容是否相符,响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容相符的判断结果,允许所述目标用户访问目标数据库;响应于所述目标用户的访问属性信息与所述基于角色的访问策略的策略内容不相符的判断结果,拒绝所述目标用户访问目标数据库。
- 根据权利要求18或19所述的计算机设备,其中,所述处理器是设置为通过以下方式根据所述至少两条基于属性的访问策略以及所述目标用户的访问属性信息确定至少两个访问策略结果:在所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容全部相符的情况下,则确定一个访问策略结果为所述第一访问策略结果或所述第二访问策略结果;在所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第一策略类型的情况下,确定一个访问策略结果为所述第二访问策略结果;在所述目标用户的访问属性信息与一条基于属性的访问策略的策略内容部分或全部不相符,且所述一条基于属性的访问策略的策略类型为所述第二策略 类型的情况下,确定一个访问策略结果为所述第三访问策略结果。
- 根据权利要求12-20任一所述的计算机设备,其中,所述目标用户的访问属性信息包括目标用户的互联网协议IP地址、访问时间、用户名、用户组和用户角色。
- 根据权利要求12-20任一所述的计算机设备,其中,所述基于属性的访问策略的策略内容根据所述目标用户的访问属性信息和目标数据库的数据库资源制定。
- 一种计算机存储介质,存储有计算机程序,该程序被处理器执行时实现如权利要求1-11中任一所述的数据库的权限控制方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911155602.3A CN110941853B (zh) | 2019-11-22 | 2019-11-22 | 一种数据库的权限控制方法、计算机设备及存储介质 |
CN201911155602.3 | 2019-11-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021098873A1 true WO2021098873A1 (zh) | 2021-05-27 |
Family
ID=69907889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/130732 WO2021098873A1 (zh) | 2019-11-22 | 2020-11-23 | 数据库的权限控制方法、计算机设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110941853B (zh) |
WO (1) | WO2021098873A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110941853B (zh) * | 2019-11-22 | 2020-11-10 | 星环信息科技(上海)有限公司 | 一种数据库的权限控制方法、计算机设备及存储介质 |
CN111917739A (zh) * | 2020-07-15 | 2020-11-10 | 傲普(上海)新能源有限公司 | 一种基于RESTful规范的ACBC的权限管理模型 |
CN112818309A (zh) * | 2021-03-04 | 2021-05-18 | 重庆度小满优扬科技有限公司 | 数据访问权限的控制方法、装置以及存储介质 |
CN114938288B (zh) * | 2022-04-08 | 2024-04-26 | 北京指掌易科技有限公司 | 一种数据访问方法、装置、设备以及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729403A (zh) * | 2009-12-10 | 2010-06-09 | 上海电机学院 | 基于属性和规则的访问控制方法 |
CN104217146A (zh) * | 2014-09-04 | 2014-12-17 | 浪潮通用软件有限公司 | 一种基于abac和rbac的权限控制方法 |
CN104243453A (zh) * | 2014-08-26 | 2014-12-24 | 中国科学院信息工程研究所 | 基于属性和角色的访问控制方法及系统 |
US20160248777A1 (en) * | 2014-10-20 | 2016-08-25 | International Business Machines Corporation | Policy access control lists attached to resources |
CN110941853A (zh) * | 2019-11-22 | 2020-03-31 | 星环信息科技(上海)有限公司 | 一种数据库的权限控制方法、计算机设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104735055B (zh) * | 2015-02-12 | 2018-09-21 | 河南理工大学 | 一种基于信任度的跨域安全访问控制方法 |
CN104683348B (zh) * | 2015-03-13 | 2019-03-12 | 河南理工大学 | 一种基于属性的访问控制策略合成方法 |
CN107506658A (zh) * | 2017-07-10 | 2017-12-22 | 上海最会保网络科技有限公司 | 一种用户权限管理系统及方法 |
-
2019
- 2019-11-22 CN CN201911155602.3A patent/CN110941853B/zh active Active
-
2020
- 2020-11-23 WO PCT/CN2020/130732 patent/WO2021098873A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101729403A (zh) * | 2009-12-10 | 2010-06-09 | 上海电机学院 | 基于属性和规则的访问控制方法 |
CN104243453A (zh) * | 2014-08-26 | 2014-12-24 | 中国科学院信息工程研究所 | 基于属性和角色的访问控制方法及系统 |
CN104217146A (zh) * | 2014-09-04 | 2014-12-17 | 浪潮通用软件有限公司 | 一种基于abac和rbac的权限控制方法 |
US20160248777A1 (en) * | 2014-10-20 | 2016-08-25 | International Business Machines Corporation | Policy access control lists attached to resources |
CN110941853A (zh) * | 2019-11-22 | 2020-03-31 | 星环信息科技(上海)有限公司 | 一种数据库的权限控制方法、计算机设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110941853B (zh) | 2020-11-10 |
CN110941853A (zh) | 2020-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021098873A1 (zh) | 数据库的权限控制方法、计算机设备及存储介质 | |
KR102145741B1 (ko) | 무선 통신 시스템에서 접근 제어를 위한 방법 및 장치 | |
US8595821B2 (en) | Domains based security for clusters | |
US8990900B2 (en) | Authorization control | |
JP2021525923A (ja) | インテリジェント機器を制御する方法及び機器 | |
WO2021115231A1 (zh) | 一种鉴权方法和相关设备 | |
US10834141B1 (en) | Service-level authorization policy management | |
US11841969B2 (en) | Container-centric access control on database objects | |
US20160072842A1 (en) | Maintaining rule coherency for applications | |
WO2016141783A1 (zh) | 访问控制、策略获取、属性获取方法及相关装置 | |
WO2016078260A1 (zh) | 一种从控制平面和数据平面访问交换机外存的方法 | |
US10616281B1 (en) | Service-level authorization policy management | |
CN106534249A (zh) | 一种基于文件直通技术的文件传输系统 | |
US8856342B2 (en) | Efficiently relating adjacent management applications managing a shared infrastructure | |
WO2023231681A1 (zh) | 账号创建方法、物联网多租户系统、设备、程序和介质 | |
Zhou et al. | SDN northbound REST API with efficient caches | |
CN116566656A (zh) | 资源访问方法、装置、设备及计算机存储介质 | |
WO2016201734A1 (zh) | 应用程序的运行控制方法、系统和终端 | |
WO2017177648A1 (zh) | Ipran系统中兼容super vlan与vlanif的方法 | |
WO2020258099A1 (zh) | 配置物联网设备的方法和物联网设备 | |
TWI607337B (zh) | Firewall command rule optimization system and method | |
US20160057213A1 (en) | Coupling application data with network connectivity | |
WO2017181775A1 (zh) | 分布式授权管理方法及装置 | |
JP2006040025A (ja) | ストレージ接続変更方法、ストレージ管理システム及びプログラム | |
CA2845197A1 (en) | Processing a link on a device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20889611 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20889611 Country of ref document: EP Kind code of ref document: A1 |