CN106778341A - 数据权限管理系统及方法 - Google Patents
数据权限管理系统及方法 Download PDFInfo
- Publication number
- CN106778341A CN106778341A CN201611095006.7A CN201611095006A CN106778341A CN 106778341 A CN106778341 A CN 106778341A CN 201611095006 A CN201611095006 A CN 201611095006A CN 106778341 A CN106778341 A CN 106778341A
- Authority
- CN
- China
- Prior art keywords
- data
- rule
- data access
- management
- authority management
- 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 description 20
- 239000000284 extract Substances 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 54
- 238000010586 diagram Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000007429 general method Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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
- G06F21/6227—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 where protection concerns the structure of data, e.g. records, types, queries
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
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种数据权限管理系统及方法。
背景技术
软件开发中的权限包含操作权限和数据权限两类。操作权限限制了用户能干什么,比如能使用哪些菜单、能点击哪些按钮,这是权限管理的第一把钥匙。数据权限限制用户能读取哪些数据,这是权限管理的第二把钥匙,数据权限是更进一步的权限管理。数据权限管理与功能权限管理是软件开发中需要解决的两个基础问题。对于数据权限管理,一般的方法是依靠应用程序硬编码的形式来解决,因此无法实现通用、动态配置、热插拔的数据权限管理方式。
因此,亟需提出一种通用、动态配置、热插拔的数据权限管理系统及方法解决上述问题。
发明内容
有鉴于此,本发明提供了一种通用、动态配置、热插拔且简单有效的数据权限管理方法,适用于有数据权限管理需求的业务系统。
本发明一方面提供一种数据权限管理系统,包括:数据元管理器、配置器及解释器;其中,数据元管理器用于标记业务系统中需要进行权限管理的数据;配置器用于针对数据元管理器标记的数据配置数据访问规则;解释器用于拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。
优选地,所述系统用于数据库的数据权限管理;以及所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。
优选地,所述配置器包括:规则创建模块,用于基于数据元管理器标记的表、表中的字段、字段的数据类型创建数据访问规则;任一条数据访问规则对应于数据库中的一个表;规则库,用于存储规则创建模块创建的数据访问规则;规则管理模块,用于启动、或关闭、或修改、或删除规则库中的数据访问规则。
优选地,规则库中存储的数据访问规则为JSON格式。
优选地,所述拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束具体为:解释器拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中。
优选地,所述根据所述数据访问规则返回数据具体为:将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。
本发明另一方面提供一种数据权限管理方法,包括步骤:
S1.标记业务系统中需要进行权限管理的数据;
S2.针对标记的数据配置数据访问规则;
S3.拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。
优选地,所述方法用于数据库的数据权限管理;以及所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。
优选地,所述数据访问规则存储于规则库中;以及步骤S3具体为:拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中;若是,将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。
优选地,步骤S3还包括:若所述表名不在规则库中,以所述查询语句进行查询,向用户返回查询结果。
由以上技术方案可知,本发明通过对需要保护的数据配置数据访问规则,并利用数据访问规则管理用户的访问,从而实现有效的数据权限管理。本发明具有通用、可动态配置、可热插拔的优点。
附图说明
图1是本发明的数据权限管理系统组成示意图。
图2是本发明的数据权限管理方法示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举出优选实施例,对本发明进一步详细说明。然而,需要说明的是,说明书中列出的许多细节仅仅是为了使读者对本发明的一个或多个方面有一个透彻的理解,即便没有这些特定的细节也可以实现本发明的这些方面。
本发明的发明人考虑到,现有的数据权限管理方法多依赖于应用程序硬编码的方式,无法实现通用、动态配置、热插拔的数据权限管理。于是首先为需保护的数据配置数据访问规则,之后将对应的数据访问规则组合到用户查询语句中进行查询,实现了简单有效、通用可靠的数据权限管理。以下详细介绍本发明的技术方案。
图1示出了本发明的数据权限管理系统组成,如图1所示,数据权限管理系统包括:数据元管理器1、配置器2及解释器3。
具体而言,数据元管理器1用于标记业务系统中需要进行权限管理的数据,为数据权限管理系统提供元数据支持。一般来说,本发明的数据权限管理系统具有良好的通用性,可用于各类业务系统的数据权限管理,下面以数据库为例进行说明。较佳地,上述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、上述表中需要进行权限管理的字段、上述字段的数据类型。表与字段是用户最终访问的数据资源,是数据访问规则设置的基础数据来源。将数据类型纳入维护是为了在配置数据访问规则时进行有效性验证。
配置器2用于针对数据元管理器1标记的数据配置数据访问规则,当用户访问时提供给解释器进行解析。数据访问规则规定什么样的用户可以访问什么样的数据。实际应用中,数据访问规则设置为JSON(JavaScr i pt对象表示法)格式。一般地,数据访问规则符合以下原则:
a)一条数据访问规则对应数据库中的一个表。
b)可以针对一个表建立多条数据访问规则。
c)每一条规则可以手动启动或者关闭。
d)可以按需创建、修改或者删除规则而不用重启应用软件。
e)数据访问规则总是:{字段条件允许值}。其中,字段是在数据元管理中维护的对应的表的属性。条件与标准sql中的条件相同,取值可以是and、or、like、between、>=、<=等。允许值是针对不同的条件所需要设置的一个参数。
f)数据权限规则可以合并。
举例来说,一条JSON格式的数据访问规则如下:
{
"rules":
[
{"field":"OrderDate","op":"less","value":"2012-01-01"},
{"field":"roleName","op":"equal","value":"saleManager"}
],
"op":"and"
}
翻译结果为:查找用户角色为“saleManager”的所有订单时间小于2012-01-01的单据。
在本发明优选实施例中,配置器2包括:规则创建模块21、规则库22、规则管理模块23。具体地,规则创建模块21用于基于数据元管理器1标记的表、表中的字段、字段的数据类型创建数据访问规则。规则库22用于存储规则创建模块创建的数据访问规则。规则管理模块23用于启动、或关闭、或修改、或删除规则库中的数据访问规则。特别地,规则管理模块23可启动、或关闭、或修改、或删除规则库中的数据访问规则而不需重启应用软件,由此实现了数据权限管理系统的动态配置。
实际应用中,规则库22的格式为:表名、数据访问规则、是否可用。实例如下:
表1
表1示出了序号为1、表名为t-order的表的数据访问规则,此规则可用。数据访问规则具体为:规则1或规则2。规则1为:查找当前用户ID在2、6之间的整型数据。规则2为:查找当前用户ID为7、数据类型为整型,并且,职工ID为“currentEmployeeid”、数据类型为数字的数据。
解释器3用于拦截用户访问业务系统时产生的数据,判断该数据是否被数据访问规则所约束。如果是,则根据数据访问规则返回数据。
在本发明优选实施例中,解释器3拦截用户访问数据库时产生的SQL查询语句,提取查询语句中的表名,判断上述表名是否在规则库22中。如果是,将表名对应的数据访问规则作为WHERE条件,组合到SQL查询语句中进行查询,将查询结果向用户返回。
可以理解的是,若上述表名不在规则库22中,则不改变原查询语句,向用户返回原查询结果。
这样,通过判断用户访问的数据表是否在规则库中,将相应的数据访问规则提取并添加在原始查询语句中,本发明可按照预定规则对数据权限进行管理。具体应用中,在业务系统中嵌入本发明的应用软件即可对数据权限进行管理。不需要时,将其与业务系统分离即可。在上述过程中,数据权限管理系统的介入不影响业务系统的正常运行。
通过以上设置,本发明实现了通用、动态配置、热插拔的数据权限管理,适用于各类有数据权限管理需求的业务系统。
图2示出了本发明的数据权限管理方法,参见图2,上述方法具体如下执行:
步骤S1,标记业务系统中需要进行权限管理的数据。
在本发明优选实施例中,上述方法用于数据库的数据权限管理,上述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、表中需要进行权限管理的字段、字段的数据类型。
步骤S2,针对标记的数据配置数据访问规则,将数据访问规则存储于规则库中。
步骤S3,拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束。若是,根据所述数据访问规则返回数据。
较佳地,上述步骤具体为:拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中;若是,将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。若所述表名不在规则库中,以所述查询语句进行查询,向用户返回查询结果。
本发明提供的数据权限管理系统及方法,可通用地、动态配置地、热插拔地对数据权限进行管理,能够解决软件研发过程中的数据权限管理问题。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,如:ROM/RAM、磁碟、光盘等。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种数据权限管理系统,其特征在于,包括:数据元管理器、配置器及解释器;其中,
数据元管理器用于标记业务系统中需要进行权限管理的数据;
配置器用于针对数据元管理器标记的数据配置数据访问规则;
解释器用于拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。
2.如权利要求1所述的系统,用于数据库的数据权限管理;以及
所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。
3.如权利要求2所述的系统,所述配置器包括:
规则创建模块,用于基于数据元管理器标记的表、表中的字段、字段的数据类型创建数据访问规则;任一条数据访问规则对应于数据库中的一个表;
规则库,用于存储规则创建模块创建的数据访问规则;
规则管理模块,用于启动、或关闭、或修改、或删除规则库中的数据访问规则。
4.如权利要求3所述的系统,规则库中存储的数据访问规则为JSON格式。
5.如权利要求4所述的系统,所述拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束具体为:
解释器拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中。
6.如权利要求5所述的系统,所述根据所述数据访问规则返回数据具体为:将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。
7.一种数据权限管理方法,其特征在于,包括步骤:
S1.标记业务系统中需要进行权限管理的数据;
S2.针对标记的数据配置数据访问规则;
S3.拦截用户访问所述业务系统时产生的数据,判断该数据是否被所述数据访问规则所约束;若是,根据所述数据访问规则返回数据。
8.如权利要求7所述的方法,用于数据库的数据权限管理;以及
所述需要进行权限管理的数据具体为:数据库中需要进行权限管理的表、所述表中需要进行权限管理的字段、所述字段的数据类型。
9.如权利要求8所述的方法,所述数据访问规则存储于规则库中;以及
步骤S3具体为:拦截用户访问数据库时产生的查询语句,提取所述查询语句中的表名,判断所述表名是否在规则库中;若是,将所述表名对应的数据访问规则组合到所述查询语句中进行查询,将查询结果向用户返回。
10.如权利要求9所述的方法,步骤S3还包括:若所述表名不在规则库中,以所述查询语句进行查询,向用户返回查询结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611095006.7A CN106778341A (zh) | 2016-12-02 | 2016-12-02 | 数据权限管理系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611095006.7A CN106778341A (zh) | 2016-12-02 | 2016-12-02 | 数据权限管理系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106778341A true CN106778341A (zh) | 2017-05-31 |
Family
ID=58882800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611095006.7A Pending CN106778341A (zh) | 2016-12-02 | 2016-12-02 | 数据权限管理系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106778341A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298189A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN112269971A (zh) * | 2020-11-10 | 2021-01-26 | 电子科技大学 | 一种用于大型软件的权限组织结构及权限管理方法 |
CN112818391A (zh) * | 2021-01-26 | 2021-05-18 | 四川天翼网络服务有限公司 | 一种基于切面编程的权限控制方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976316A (zh) * | 2010-10-27 | 2011-02-16 | 杭州新中大软件股份有限公司 | 一种信息访问权限控制方法 |
CN103490886A (zh) * | 2012-06-12 | 2014-01-01 | 阿里巴巴集团控股有限公司 | 权限数据的验证方法、装置及系统 |
US20140123242A1 (en) * | 2012-10-29 | 2014-05-01 | General Instrument Corporation | BUSINESS METHOD INCLUDING HANDSHAKE PROTOCOL TO CONTROL ACTORS AND FUNCTIONS TO PROPAGATE ACCEPTANCE OF AN IP LICENSE TO SECURELY AUTHENTICATE SOFTWARE APPLICATION PROGRAM INTERFACES (APIs) |
CN104077284A (zh) * | 2013-03-26 | 2014-10-01 | 中国移动通信集团湖北有限公司 | 一种数据安全访问方法及系统 |
CN104679792A (zh) * | 2013-12-03 | 2015-06-03 | 航天信息软件技术有限公司 | 一种数据权限的实现方法 |
CN105426770A (zh) * | 2015-11-13 | 2016-03-23 | 广东网金控股股份有限公司 | 面向多维数据的权限管理机制的配置方法及装置 |
CN105912949A (zh) * | 2016-04-13 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
-
2016
- 2016-12-02 CN CN201611095006.7A patent/CN106778341A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976316A (zh) * | 2010-10-27 | 2011-02-16 | 杭州新中大软件股份有限公司 | 一种信息访问权限控制方法 |
CN103490886A (zh) * | 2012-06-12 | 2014-01-01 | 阿里巴巴集团控股有限公司 | 权限数据的验证方法、装置及系统 |
US20140123242A1 (en) * | 2012-10-29 | 2014-05-01 | General Instrument Corporation | BUSINESS METHOD INCLUDING HANDSHAKE PROTOCOL TO CONTROL ACTORS AND FUNCTIONS TO PROPAGATE ACCEPTANCE OF AN IP LICENSE TO SECURELY AUTHENTICATE SOFTWARE APPLICATION PROGRAM INTERFACES (APIs) |
CN104077284A (zh) * | 2013-03-26 | 2014-10-01 | 中国移动通信集团湖北有限公司 | 一种数据安全访问方法及系统 |
CN104679792A (zh) * | 2013-12-03 | 2015-06-03 | 航天信息软件技术有限公司 | 一种数据权限的实现方法 |
CN105426770A (zh) * | 2015-11-13 | 2016-03-23 | 广东网金控股股份有限公司 | 面向多维数据的权限管理机制的配置方法及装置 |
CN105912949A (zh) * | 2016-04-13 | 2016-08-31 | 北京京东尚科信息技术有限公司 | 数据权限管理方法、数据权限管理系统以及业务管理系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298189A (zh) * | 2018-03-23 | 2019-10-01 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN110298189B (zh) * | 2018-03-23 | 2021-06-22 | 华为技术有限公司 | 数据库权限管理方法及设备 |
CN112269971A (zh) * | 2020-11-10 | 2021-01-26 | 电子科技大学 | 一种用于大型软件的权限组织结构及权限管理方法 |
CN112818391A (zh) * | 2021-01-26 | 2021-05-18 | 四川天翼网络服务有限公司 | 一种基于切面编程的权限控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7865521B2 (en) | Access control for elements in a database object | |
US20190155794A1 (en) | Access control for nested data fields | |
EP3245569B1 (en) | Record level data security | |
EP2405607B1 (en) | Privilege management system and method based on object | |
US10127401B2 (en) | Redacting restricted content in files | |
CN117195307A (zh) | 针对隐私敏感用户内容的可配置注释 | |
EP2521066A1 (en) | Fine-grained relational database access-control policy enforcement using reverse queries | |
US20060230044A1 (en) | Records management federation | |
US20240119048A1 (en) | Real-time analytical queries of a document store | |
CN113254470B (zh) | 一种数据更改方法、装置、计算机设备及存储介质 | |
CN106778341A (zh) | 数据权限管理系统及方法 | |
US10491635B2 (en) | Access policies based on HDFS extended attributes | |
CN106020923A (zh) | SELinux策略的编译方法及系统 | |
CN107172102A (zh) | 数据访问方法、系统以及存储介质 | |
EP3458979B1 (en) | Reconciling foreign key references and table security policies | |
CN113704285B (zh) | 基于权限的检索方法及装置、设备 | |
Bowers et al. | Superimposed schematics: Introducing ER structure for in-situ information selections | |
CN115827589A (zh) | 一种权限验证方法、装置、电子设备及存储介质 | |
CN113032745A (zh) | 权限管理设备及其权限管理方法和介质 | |
CN113806366B (zh) | 一种基于Atlas实现多维元数据联合查询的方法 | |
US10708253B2 (en) | Identity information including a schemaless portion | |
US20220114275A1 (en) | Data record search with field level user access control | |
RU2772300C2 (ru) | Обфускация пользовательского контента в структурированных файлах пользовательских данных | |
CN117195171A (zh) | 访问权限处理方法、装置、计算机设备以及存储介质 | |
CN118862042A (zh) | 全文搜索系统数据访问权限控制方法、系统及介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170531 |