CN115758459A - 数据权限管理方法及装置 - Google Patents
数据权限管理方法及装置 Download PDFInfo
- Publication number
- CN115758459A CN115758459A CN202211480796.6A CN202211480796A CN115758459A CN 115758459 A CN115758459 A CN 115758459A CN 202211480796 A CN202211480796 A CN 202211480796A CN 115758459 A CN115758459 A CN 115758459A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- data table
- user
- authority
- 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
Images
Landscapes
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据权限管理方法及装置,可用于金融领域或其他技术领域。所述方法包括:获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;对所述查询语句进行解析,获取请求查询的数据表的信息;根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;发送所述改写后的查询语句。所述装置用于执行上述方法。本发明实施例提供的数据权限管理方法及装置,实现了数据权限的动态配置以及实时生效,支持同平台各业务系统的数据访问开放共享。
Description
技术领域
本发明涉及金融或其他技术领域,具体涉及一种数据权限管理方法及装置。
背景技术
随着大数据平台的飞速发展,数据使用场景从有限用数的阶段发展到了规模化用数的阶段,为充分发挥数据价值,又避免数据隐私、数据泄密、数据滥用、数据损失等方面带来的安全问题,在安全合规下更高效地释放数据要素价值。目前,大多数企业都是采用基于数据库用户和视图脱敏的方式来实现对数据访问的管控,即分配数据库账号在对指定的数据表或视图进行增、删、改、查等操作。
对于金融领域来说,随着数据分析深入推广到支行、网点,数据用户的开立呈几何倍数增长,开通数据库用户需要通过应用版本发布,实施周期长,需要耗费大量人力资源。且数据库用户数可能会突破系统支持上限;创建视图实现数据表级、特定范围访问控制和敏感信息屏蔽,维护成本高,无法实现在线权限调整、用户临时授权等功能。且前数据权限管理分散在各业务系统,没有统一的管理。
发明内容
针对现有技术中的问题,本发明实施例提供一种数据权限管理方法及装置,能够至少部分地解决现有技术中存在的问题。
一方面,本发明提出一种数据权限管理方法,包括:
获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;
对所述查询语句进行解析,获取请求查询的数据表的信息;
根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;
根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;
将所述改写后的查询语句发送给数据库服务器。
另一方面,本发明提出一种数据权限管理装置,包括:
第一获取模块,用于获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;
解析模块,用于对所述查询语句进行解析,得到请求查询的数据表的信息;
第二获取模块,用于根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;
改写模块,用于根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;
发送模块,用于发送所述改写后的查询语句。
本发明实施例还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一实施例所述的数据权限管理方法的步骤。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一实施例所述的数据权限管理方法的步骤。
本发明实施例提供的数据权限管理方法及装置,将数据权限信息通过配置的方式预先进行存储,在根据数据查询请求执行查询语句之前,根据数据库中预先配置的数据权限信息,对所述查询语句进行改写,使得改写后的查询语句满足发起所述数据查询请求的用户的查询权限的要求,然后返回改写后的查询语句,以使数据库服务器按照所述改写后的查询语句执行查询操作。这样,实现了数据权限的动态配置以及实时生效,支持同平台各业务系统的数据访问开放共享。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明一实施例提供的一种数据权限管理方法的流程示意图。
图2是本发明一实施例提供的一种数据权限管理方法的部分流程示意图。
图3是本发明一实施例提供的一种数据权限管理方法的部分流程示意图。
图4是本发明一实施例提供的一种数据权限管理方法的部分流程示意图。
图5是本发明一实施例提供的一种数据权限管理方法的部分流程示意图。
图6是本发明一实施例提供的一种数据权限管理方法的部分流程示意图。
图7是本发明一实施例提供的一种数据权限管理方法的流程示意图。
图8是本发明一实施例提供的一种数据权限管理装置的结构示意图。
图9是本发明一实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意排序。
关于本文中所使用的“第一”、“第二”、……等,并非特别指称次序或顺位的意思,亦非用以限定本发明,其仅为了区别以相同技术用语描述的元件或操作。
关于本文中所使用的“包含”、“包括”、“具有”、“含有”等等,均为开放性的用语,即意指包含但不限于。
关于本文中所使用的“及/或”,包括所述事物的任一或全部排序。
本发明实施例提供的数据权限管理方法的执行主体包括但不限于计算机。
图1是本发明实施例提供的一种数据权限管理方法的流程示意图,如图1所示,本发明实施例提供的一种数据权限管理方法,包括:
S101、获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;
步骤S101中,所述数据查询请求可以是用户通过数据应用软件发起的,数据应用软件在根据数据查询请求执行查询语句(SQL语句)之前,可以通过客户端或服务端调用数据权限管理装置判断是否允许SQL语句执行;或者,数据权限管理装置可以主动截获数据应用软件发起的数据查询请求。所述请求查询数据的用户的信息可以包括该用户的唯一标识。
S102、对所述查询语句进行解析,获取请求查询的数据表的信息;
步骤S102中,数据权限管理装置在获取数据查询请求之后,对所述数据查询请求中的查询语句进行解析,得到请求查询的数据表的信息。其中,所述请求查询的数据表的信息可以包括该数据表的表名、该数据表所属的数据库集群以及该数据表所属的数据库名等。
S103、根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;
步骤S103中,数据权限信息可以通过配置的方式存储在数据库中,支持数据权限动态配置,实时生效,可配置哪些用户能看到哪些表、哪些用户能看到哪些数据(记录)、分别能看到什么样的数据(敏感数据脱敏),可以提供统一的库、表、字段、行级的数据访问控制能力。根据数据库中预先配置的数据权限信息,获取发起当前数据查询请求的用户的查询权限。
S104、根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;
步骤S104中,数据权限管理装置根据所述查询权限验证是否允许所述查询语句执行,若不允许所述查询语句执行,则直接返回报错信息给调用方即可;若允许所述查询语句执行,则对所述查询语句进行改写,改写后的查询语句为原始查询语句的子查询,使得改写后的查询语句满足所述查询权限的要求。
S105、发送所述改写后的查询语句。
步骤S105中,数据权限管理装置将所述改写后的查询语句按照预定格式封装后传回调用方(例如上述数据应用软件)或者发送给数据库服务器,调用方或者数据库服务器根据该改写后的查询语句执行数据查询。
本发明实施例提供的一种数据权限管理方法,将数据权限信息通过配置的方式预先进行存储,在根据数据查询请求执行查询语句之前,根据数据库中预先配置的数据权限信息,对所述查询语句进行改写,使得改写后的查询语句满足发起所述数据查询请求的用户的查询权限的要求,然后返回改写后的查询语句,以使数据库服务器按照所述改写后的查询语句执行查询操作。这样,实现了数据权限的动态配置以及实时生效,支持同平台各业务系统的数据访问开放共享。
在一些实施例中,将数据权限信息通过配置的方式存储在数据库中,数据应用软件在执行SQL语句之前,通过客户端或服务端调用数据权限管理装置根据数据权限信息判断是否允许SQL语句执行,若不允许所述查询语句执行,则直接返回报错信息给调用方即可;若允许所述查询语句执行,则对所述查询语句进行改写,将改写后的SQL语句发送至数据库服务器执行。
在一些实施例中,所述查询请求中还包括租户信息。其中,所述查询请求中的用户(user)是指一个有身份验证信息的消费实体,一个用户可以属于多个租户(项目/组织);租户(tenant)其实是各个服务中的一些可以访问的资源集合,这些资源集合可供多个用户使用,用户默认的总是绑定到某些租户上,用户通过租户访问计算管理资源,也就是说必须指定一个相应的租户才可以申请数据访问服务;各租户相互独立,在当前租户下无法查看其他租户信息;很多时候,我们需要有租户的概念,使用租户来分开用户的业务数据。譬如工商银行整体资源数据库就是一个多租户系统,每个业务系统对于该整体资源数据库都是一个租户。
如图2所示,在所述查询请求中还包括租户信息的前提下,所述对所述查询语句进行解析,获取请求查询的数据表的信息包括:
S1021、对所述查询语句进行解析,得到所述查询语句的语句类型以及请求查询的数据表所属的数据库;
步骤S1021中,解析查询语句类型,例如CREATE、DROP、INSERT、DELETE、SELECT、GRANT等类型;并获取查询语句中所记录的请求查询的数据表所属的数据库。
S1022、若所述租户对该数据库具有该语句类型的查询语句的执行权限,则获取所述查询语句中请求查询的数据表的信息。
步骤S1022中,判断相应租户是否对数据表所属的数据库有执行该语句类型的查询语句的权限,例如只允许SELECT操作,其他类型不允许执行,结束处理流程。若所述租户对数据表所属的数据库具有该语句类型的查询语句的执行权限,则获取所述查询语句中请求查询的数据表的信息。
由此可见,本实施例中解析查询语句类型,判断是否允许相应查询语句类型执行,是针对租户是否具有对特定的物理库进行INSERT、SELECT、UPDATE或者DELETE权限的判断步骤,目的是为了实现数据域的隔离,防止不同租户之间数据的篡改或越权访问,可适配hive、postgres、oracle、mysql等多种数据库语法。本实施例可支持多套业务系统(租户)独立配置不同的数据权限,从而实现数据域的隔离。
在一些实施例中,所述请求查询的数据表的信息包括所述数据表的表名、所述数据表所属的数据库集群以及所述数据表所属的数据库名;所述根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限包括:若所述租户有权限查询所述数据库集群下所述数据库中的所述数据表,则根据预先配置的数据权限信息,获取所述用户对所述数据表中各字段的查询权限。
具体而言,解析数据表的信息,包括集群、库名、表名等;判断用户是否有相应数据表操作权限,如果没有则结束处理流程。若有,则根据预先配置的数据权限信息,获取所述用户对所述数据表中各字段的查询权限。
如图3所示,在一些实施例中,所述根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限包括:
S1031、在预先配置的数据权限信息中,查询所述用户所属的用户组与所述数据表所属的数据表组之间的权限关系;
步骤S1031中,在所述预先配置的数据权限信息中,将用户划分成不同的用户组,数据表划分成不同的表组,且建立了用户组和表组之间的权限关系,也即每个用户组可以访问哪些表组,实现表级的数据访问控制。
S1032、若所述用户所属的用户组有权限访问所述数据表所属的数据表组,则在所述预先配置的数据权限信息中查询所述数据表的隔离类型以及所述用户在该隔离类型下所属的隔离组;
步骤S1032中,在所述预先配置的数据权限信息中,还将数据表中的行按照不同的规则划分成不同的隔离类型,将用户在每一隔离类型下划分成不同的隔离组。针对所述数据查询请求中请求查询的数据表,判断该数据表是否涉及数据隔离以及该数据表的隔离类型,例如按地区隔离、按业务类型隔离等;针对发起该数据查询请求的用户,获取该用户在该隔离类型下所属的隔离组信息,例如用户属于按地区隔离类型下北京隔离组。
S1033、根据所述数据表的隔离类型以及所述用户在该隔离类型下所属的隔离组,确定所述用户对所述数据表中各数据行的查询权限。
步骤S1033中,通过建立数据表的隔离类型和用户所属的隔离组之间的关系,实现行级的数据访问控制。例如在该数据表的隔离类型为按地区隔离,该用户属于按地区隔离类型下北京隔离组时,则确定该用户对该数据表中北京地区的数据具有查询权限。
如图4所示,在一些实施例中,在确定所述用户所属的用户组有权限访问所述数据表所属的数据表组之后,所述方法还包括:
S1034、在所述预先配置的数据权限信息中查询所述数据表中的敏感字段以及所述用户所属的敏感组;
步骤S1034中,在所述预先配置的数据权限信息中,将数据表中的列(字段)按照不同规则分成不同的敏感类型,将用户划分成不同的敏感组,通过建立用户和敏感组之间的关系,实现列级的数据访问控制。步骤S1034中,获取数据表中的敏感字段;获取用户所属的敏感组信息,例如是否能看敏感信息、敏感信息的查阅等级等。
S1035、根据所述数据表中各敏感字段的敏感类型以及所述用户所属的敏感组,确定所述用户对所述数据表中各字段的查阅等级。
步骤S1035中,对于不同敏感类型的字段,其加密方式可以不同,例如有的字段采用哈希加密,有的字段则采用加*转换的方式加密;此外,针对不同敏感组的用户,能够看到的敏感信息展现形式不一样,比如查阅等级为二级的可以看到身份证前6位+***+后6位,查阅等级为一级的用户看到的身份证则全为***,也即敏感信息的加密等级不同。
如图5所示,在一些实施例中,所述根据所述数据表中各字段的敏感类型以及所述用户所属的敏感组,确定所述用户对所述数据表中各字段的查询权限包括:
S10351、根据所述数据表中的敏感字段以及所述用户所属的敏感组,确定所述用户对所述数据表中每个敏感字段的敏感等级;
步骤S10351中,根据用户所属的敏感组信息,确定所述用户对所述数据表中每个敏感字段的敏感等级;例如敏感一级、敏感二级等,用户对各敏感字段的敏感等级具体是指用户的敏感信息查阅等级。
S10352、根据所述数据表中各敏感字段的敏感类型以及所述用户对每个敏感字段的敏感等级,确定所述用户对所述数据表中每个字段的查阅等级。
步骤S10352中,根据用户所属的敏感组,也即根据用户的敏感信息查阅等级,对敏感信息进行不同等级的加敏处理,不同的敏感信息查阅等级看到的敏感信息展现形式不一样,比如查阅等级二级的可以看到身份证前6位+***+后6位,查阅等级一级的用户看到的身份证则全为***。
如图6所示,在一些实施例中,所述根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句包括:
S1041、根据所述用户对所述数据表中各数据行的查询权限,生成所述查询语句的子查询语句;
步骤S1041中,根据所述用户对所述数据表中各数据行的查询权限,限制用户访问数据表指定行的数据,具体通过修改原始查询语句,生成原始查询语句的子查询语句来实现。
S1042、根据所述用户对所述数据表中每个字段的查阅等级,在所述子查询语句中针对每个敏感字段添加对应的脱敏函数,得到改写后的查询语句。
步骤S1042中,根据所述数据表中每个字段的敏感类型为每个字段添加脱敏函数,例如HASH值转换或加*转换;进一步的,根据用户对所述数据表中每个敏感字段的查阅等级,为每个字段添加不同等级的脱敏函数,例如字段1、字段2分别被替换成HashFunc1(字段1)、HashFunc2(字段2),最终得到改写后的查询语句。
在一些实施例中,所述预先配置的数据权限信息包括如下表1所示的用户权限管理表以及如下表2所示的表权限管理表:
表1:用户权限管理表
序号 | 用户 | 用户组 | 隔离组 | 敏感组 |
1 | 用户1 | 用户组1 | 隔离组1 | 敏感组1 |
2 | 用户2 | 用户组2 | 隔离组2 | 敏感组2 |
3 | 用户3 | 用户组3 | 隔离组3 | 敏感组3 |
表2:表权限管理表
如表1所示,用户权限管理表配置了每个用户所属的用户组、隔离组、敏感组等。如表2所示,表权限管理表配置了每个数据表所属的表类型、隔离类型、敏感类型等。此外,表权限管理表中还可以配置有每个数据表的隔离控制表,隔离控制表中配置有隔离类型与隔离组之间的关系,例如隔离类型为地区隔离时,隔离类型下的隔离组包括北京地区、上海地区、杭州地区等,此时,若用户所属的隔离组为北京地区,则意味着该用户只能访问该数据表中属于北京地区的行数据。
在限制用户访问数据表指定行的数据时,将查询语句中的表名替换为与隔离控制表关联的子查询。例如数据表1被替换成子查询(SELECT*FROM数据表1t LEFT JOIN隔离控制表1ti1 ON ti1.字段1=t.字段1AND ti1.字段2=隔离组1)。针对不同敏感组的用户对敏感字段进行不同等级的脱敏处理,例如字段1、字段2分别被替换成HashFunc1(字段1)、HashFunc2(字段2)。基于上述表1和表2,本发明提供一种如图7所示的数据权限管理方法。
由此可见,本实施例是通过一个数据权限矩阵的方式,各种条件组合动态拼接查询条件,实现了更复杂更细致更灵活的行级、列级的数据权限控制,此外还至少具有如下有益效果:
(1)数据权限的配置和管理支持动态配置,实时生效。
(2)没有数据库类型的限制,方便对所有系统数据权限进行统一管理。
(3)支持同平台各业务系统的数据访问开放共享。
(4)数据权限管理可以细化到具体的自然人(用户),实现千人千面的权限管理。
图8是本发明一实施例提供的一种数据权限管理装置的结构示意图,如图8所示,本发明实施例提出的一种数据权限管理装置,包括:
第一获取模块21,用于获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;
解析模块22,用于对所述查询语句进行解析,得到请求查询的数据表的信息;
第二获取模块23,用于根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;
改写模块24,用于根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;
发送模块25,用于发送所述改写后的查询语句。
本发明实施例提供的一种数据权限管理装置,将数据权限信息通过配置的方式预先进行存储,在根据数据查询请求执行查询语句之前,根据数据库中预先配置的数据权限信息,对所述查询语句进行改写,使得改写后的查询语句满足发起所述数据查询请求的用户的查询权限的要求,然后返回改写后的查询语句,以使数据库服务器按照所述改写后的查询语句执行查询操作。这样,实现了数据权限的动态配置以及实时生效,支持同平台各业务系统的数据访问开放共享。
在一些实施例中,所述查询请求中还包括租户信息;所述解析模块具体用于:
对所述查询语句进行解析,得到所述查询语句的语句类型以及请求查询的数据表所属的数据库;
若所述租户对该数据库具有该语句类型的查询语句的执行权限,则获取所述查询语句中请求查询的数据表的信息。
在一些实施例中,所述请求查询的数据表的信息包括所述数据表的表名、所述数据表所属的数据库集群以及所述数据表所属的数据库名;所述第二获取模块具体用于:若所述租户有权限查询所述数据库集群下所述数据库中的所述数据表,则根据预先配置的数据权限信息,获取所述用户对所述数据表中各字段的查询权限。
在一些实施例中,所述第二获取模块具体用于:
在预先配置的数据权限信息中,查询所述用户所属的用户组与所述数据表所属的数据表组之间的权限关系;
若所述用户所属的用户组有权限访问所述数据表所属的数据表组,则在所述预先配置的数据权限信息中查询所述数据表的隔离类型以及所述用户在该隔离类型下所属的隔离组;
根据所述数据表的隔离类型以及所述用户在该隔离类型下所属的隔离组,确定所述用户对所述数据表中各数据行的查询权限。
在一些实施例中,在确定所述用户所属的用户组有权限访问所述数据表所属的数据表组之后,所述第二获取模块还用于:
在所述预先配置的数据权限信息中查询所述数据表中的敏感字段以及所述用户所属的敏感组;
根据所述数据表中各敏感字段的敏感类型以及所述用户所属的敏感组,确定所述用户对所述数据表中各字段的查阅等级。
在一些实施例中,所述第二获取模块根据所述数据表中各敏感字段的敏感类型以及所述用户所属的敏感组,确定所述用户对所述数据表中各字段的查阅等级包括:
根据所述数据表中的敏感字段以及所述用户所属的敏感组,确定所述用户对所述数据表中每个敏感字段的敏感等级;
根据所述数据表中各敏感字段的敏感类型以及所述用户对每个敏感字段的敏感等级,确定所述用户对所述数据表中每个字段的查阅等级。
在一些实施例中,所述改写模块具体用于:
根据所述用户对所述数据表中各数据行的查询权限,生成所述查询语句的子查询语句;
根据所述用户对所述数据表中每个字段的查阅等级,在所述子查询语句中针对每个敏感字段添加对应的脱敏函数,得到改写后的查询语句。
本发明实施例提供的装置的实施例具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
需要说明的是,本发明实施例提供的数据权限管理方法及装置可用于金融领域,也可用于除金融领域之外的任意技术领域,本发明实施例对数据权限管理方法及装置的应用领域不做限定。
图9为本发明一实施例提供的电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行上述任一实施例所述的方法。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法。
本实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序使所述计算机执行上述各方法实施例所提供的方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本说明书的描述中,参考术语“一个实施例”、“一个具体实施例”、“一些实施例”、“例如”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据权限管理方法,其特征在于,包括:
获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;
对所述查询语句进行解析,获取请求查询的数据表的信息;
根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;
根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;
发送所述改写后的查询语句。
2.根据权利要求1所述的方法,其特征在于,所述查询请求中还包括租户信息;所述对所述查询语句进行解析,获取请求查询的数据表的信息包括:
对所述查询语句进行解析,得到所述查询语句的语句类型以及请求查询的数据表所属的数据库;
若所述租户对该数据库具有该语句类型的查询语句的执行权限,则获取所述查询语句中请求查询的数据表的信息。
3.根据权利要求2所述的方法,其特征在于,所述请求查询的数据表的信息包括所述数据表的表名、所述数据表所属的数据库集群以及所述数据表所属的数据库名;
所述根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限包括:
若所述租户有权限查询所述数据库集群下所述数据库中的所述数据表,则根据预先配置的数据权限信息,获取所述用户对所述数据表中各字段的查询权限。
4.根据权利要求3所述的方法,其特征在于,所述根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限包括:
在预先配置的数据权限信息中,查询所述用户所属的用户组与所述数据表所属的数据表组之间的权限关系;
若所述用户所属的用户组有权限访问所述数据表所属的数据表组,则在所述预先配置的数据权限信息中查询所述数据表的隔离类型以及所述用户在该隔离类型下所属的隔离组;
根据所述数据表的隔离类型以及所述用户在该隔离类型下所属的隔离组,确定所述用户对所述数据表中各数据行的查询权限。
5.根据权利要求4所述的方法,其特征在于,在确定所述用户所属的用户组有权限访问所述数据表所属的数据表组之后,所述方法还包括:
在所述预先配置的数据权限信息中查询所述数据表中的敏感字段以及所述用户所属的敏感组;
根据所述数据表中各敏感字段的敏感类型以及所述用户所属的敏感组,确定所述用户对所述数据表中各字段的查阅等级。
6.根据权利要求5所述的方法,其特征在于,所述根据所述数据表中各敏感字段的敏感类型以及所述用户所属的敏感组,确定所述用户对所述数据表中各字段的查阅等级包括:
根据所述数据表中的敏感字段以及所述用户所属的敏感组,确定所述用户对所述数据表中每个敏感字段的敏感等级;
根据所述数据表中各敏感字段的敏感类型以及所述用户对每个敏感字段的敏感等级,确定所述用户对所述数据表中每个字段的查阅等级。
7.根据权利要求6所述的方法,其特征在于,所述根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句包括:
根据所述用户对所述数据表中各数据行的查询权限,生成所述查询语句的子查询语句;
根据所述用户对所述数据表中每个字段的查阅等级,在所述子查询语句中针对每个敏感字段添加对应的脱敏函数,得到改写后的查询语句。
8.一种数据权限管理装置,其特征在于,包括:
第一获取模块,用于获取数据查询请求,其中,所述数据查询请求中包括请求查询数据的用户的信息以及查询语句;
解析模块,用于对所述查询语句进行解析,得到请求查询的数据表的信息;
第二获取模块,用于根据预先配置的数据权限信息,获取所述用户对所述数据表的查询权限;
改写模块,用于根据所述查询权限对所述查询语句进行改写,得到改写后的查询语句;
发送模块,用于发送所述改写后的查询语句。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480796.6A CN115758459A (zh) | 2022-11-24 | 2022-11-24 | 数据权限管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211480796.6A CN115758459A (zh) | 2022-11-24 | 2022-11-24 | 数据权限管理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115758459A true CN115758459A (zh) | 2023-03-07 |
Family
ID=85336884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211480796.6A Pending CN115758459A (zh) | 2022-11-24 | 2022-11-24 | 数据权限管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115758459A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401692A (zh) * | 2023-06-07 | 2023-07-07 | 天津金城银行股份有限公司 | 运营数据权限管理方法、系统、计算机设备及存储介质 |
CN116502273A (zh) * | 2023-06-25 | 2023-07-28 | 中科金瑞(北京)大数据科技有限公司 | 基于数据血缘的动态数据脱敏方法、装置和设备 |
-
2022
- 2022-11-24 CN CN202211480796.6A patent/CN115758459A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116401692A (zh) * | 2023-06-07 | 2023-07-07 | 天津金城银行股份有限公司 | 运营数据权限管理方法、系统、计算机设备及存储介质 |
CN116502273A (zh) * | 2023-06-25 | 2023-07-28 | 中科金瑞(北京)大数据科技有限公司 | 基于数据血缘的动态数据脱敏方法、装置和设备 |
CN116502273B (zh) * | 2023-06-25 | 2023-09-05 | 中科金瑞(北京)大数据科技有限公司 | 基于数据血缘的动态数据脱敏方法、装置和设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11972006B2 (en) | System of decentralized zero-trust services for creating, using and analyzing securely commingled self-governing data sets | |
US10972506B2 (en) | Policy enforcement for compute nodes | |
EP3356964B1 (en) | Policy enforcement system | |
US10367824B2 (en) | Policy management, enforcement, and audit for data security | |
US8782762B2 (en) | Building data security in a networked computing environment | |
CN115758459A (zh) | 数据权限管理方法及装置 | |
CN113678117A (zh) | 提供协作智能和约束计算的数据隐私管道 | |
CN111767095A (zh) | 微服务生成方法、装置、终端设备及存储介质 | |
CN107315950B (zh) | 一种云计算平台管理员权限最小化的自动化划分方法及访问控制方法 | |
US20200336489A1 (en) | Cloud least identity privilege and data access framework | |
Sicari et al. | Security&privacy issues and challenges in NoSQL databases | |
CN111177252A (zh) | 一种业务数据的处理方法及装置 | |
CN113392415A (zh) | 数据仓库的访问控制方法、系统和电子设备 | |
CN111062028A (zh) | 权限管理方法及装置、存储介质、电子设备 | |
CN114647825A (zh) | 访问权限控制方法、装置、电子设备和计算机存储介质 | |
CN114422197A (zh) | 一种基于策略管理的权限访问控制方法及系统 | |
CN113342775A (zh) | 基于云的计算环境中的集中式多租户即服务 | |
CN115865502A (zh) | 权限管控方法、装置、设备及存储介质 | |
CN112905978A (zh) | 权限管理方法和装置 | |
CN115017240A (zh) | 数据的提供方法及装置、处理器和电子设备 | |
CN114298749A (zh) | 一种成本数据源的接入方法、设备及介质 | |
WO2023236637A1 (zh) | 数据管理方法及装置 | |
CN111191251A (zh) | 一种数据权限控制方法、装置及存储介质 | |
CN117009327B (zh) | 一种数据处理方法、装置及计算机设备、介质 | |
CN115857938A (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 |