跨多源异构存储系统的统一鉴授权方法、设备和存储介质与流程

allin2023-03-20  65



1.本技术的实施例涉及数据处理领域,尤其涉及基于全局映射的跨多源异构数据存储系统的统一授权方法、设备和计算机可读存储介质。


背景技术:

2.在现代企业it信息系统建设中,由于大量不同历史时期、不同业务领域、不同软件供应商和不同的软件技术体系等客观因素的存在,导致企业业务系统随着业务发展需要变得越发庞杂,并存在多套异构应用系统同时使用的情况,这些系统往往有着不同数据存储系统,比如常见的关系型数据库,早期使用较多的国外的成熟商业产品,如oracle、db2、sqlserver等,随着开源社区和大数据技术的蓬勃发展,企业中又陆陆续续的启用了开源数据库体系(如mysql、postgresql等)和开源大数据存储体系(如hdfs、hbase、mongodb等多种不同类型的数据存储系统)。
3.传统的技术中对数据存储系统的数据保护方法都是单一的用户体系,仅针对本类型的数据存储系统生效,如关系型数据库中的用户体系。
4.现有的数据库技术体系不存在一种能够在跨多源异构数据存储系统之上的用户体系和数据保护方法,并且该方法还必须要在完全不修改原有已存在的数据存储系统的情况下实现,不能对现有的业务系统造成影响。
5.因此亟需一种能够跨多源异构数据存储系统的数据保护方法,需要实现对多源异构数据存储系统的统一用户管理、统一授权体系、无需修改物理数据存储系统的数据内容就能够实现对数据的保护。


技术实现要素:

6.根据本技术的实施例,提供了一种基于全局映射的跨多源异构数据存储系统的统一授权方案。
7.在本技术的第一方面,提供了一种基于全局映射的跨多源异构数据存储系统的统一授权方法。该方法包括:
8.基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表;
9.基于所述逻辑表和业务关联关系,生成逻辑图;
10.基于所述逻辑表和逻辑图,构建用户权限表,基于所述用户权限表对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权。
11.进一步地,所述基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表包括:
12.其中,所述预设的映射规则为单表对单表、字段对字段;
13.基于预设的映射规则,对不同类型的数据存储系统进行映射,分别得到与每个类型的数据存储系统中的表对应的逻辑表;所述数据存储系统包括不支持表级、字段级以及行级权限的物理存储系统。
14.进一步地,所述基于所述逻辑表和逻辑图,构建用户权限表包括:
15.基于所述逻辑表和逻辑图,分别对每一个注册用户进行表级、字段级以及行级授权,构建用户权限表。
16.进一步地,所述分别对每一个注册用户进行表级、字段级以及行级授权,构建用户权限表包括:
17.设置每个用户对所述数据存储系统表以及所述表中的行和字段的增、删、改、查的权限;
18.基于所述增、删、改、查的权限,构建用户权限表。
19.进一步地,所述分别对每一个注册用户进行表级、字段级以及行级授权,构建用户权限表还包括:
20.针对不同的注册用户,通过不同的预设加密算法,对同一数据存储系统表中的相同字段进行加密的加密算法权限;
21.通过sql的where子句对数据存储系统表中的行进行授权。
22.进一步地,所述基于所述逻辑表和逻辑图,对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权还包括:
23.基于业务的关联关系,对不同逻辑表中的相同字段进行统一授权。
24.在本技术的第二方面,提供了一种基于全局映射的跨多源异构数据存储系统的鉴权方法。该方法包括:
25.获取sql查询语句,同时获取访问用户对应的用户权限表;并从所述权限表中调取所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限;
26.根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,完成对访问用户的鉴权。
27.进一步地,所述根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,完成对访问用户的鉴权包括:
28.根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,确定访问用户是否拥有访问权限,若有,则基于所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限修改所述sql查询,通过修改后的sql语句完成对数据存储系统的访问。
29.在本技术的第三方面,提供了一种电子设备。该电子设备包括:存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如以上所述的方法。
30.在本技术的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如根据本技术的第一方面的方法。
31.本技术实施例提供的基于全局映射的跨多源异构数据存储系统的统一授权方法,通过基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表;基于所述逻辑表和业务关联关系,生成逻辑图;基于所述逻辑表和逻辑图,对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权,实现了对多源异构的统一授权。
32.应当理解,发明内容部分中所描述的内容并非旨在限定本技术的实施例的关键或重要特征,亦非用于限制本技术的范围。本技术的其它特征将通过以下的描述变得容易理解。
附图说明
33.结合附图并参考以下详细说明,本技术各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
34.图1示出了根据本技术的实施例的基于全局映射的跨多源异构数据存储系统的统一授权方法的流程图;
35.图2示出了根据本技术的实施例的逻辑映射图;
36.图3示出了根据本技术的实施例的统一授权示意图;
37.图4示出了根据本技术的实施例的字段级授权示意图;
38.图5示出了根据本技术的实施例的字段级加密算法授权示意图;
39.图6示出了根据本技术的实施例的行级授权示意图;
40.图7示出了根据本技术的实施例的基于全局映射的跨多源异构数据存储系统的统一鉴权方法的流程图
41.图8示出了适于用来实现本技术实施例的终端设备或服务器的结构示意图。
具体实施方式
42.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的全部其他实施例,都属于本公开保护的范围。
43.另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
44.名词解析:
45.结构化查询语言(structured query language)简称sql,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
46.结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。不需要用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,具有极大的灵活性和强大的功能。
47.图1示出了根据本公开实施例的基于全局映射的跨多源异构数据存储系统的统一授权方法的流程图。所述方法包括:
48.s110,基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表。
49.其中,所述预设的映射规则包括单表对单表、字段对字段。
50.不同类型的数据存储系统包括不支持表级、字段级以及行级权限的物理存储系统;例如,oracle、db2、sqlserver等关系型数据库;mysql、postgresql等开源数据库;hdfs、hbase、mongodb等开源大数据库。
51.参考图2,以mysql、oracle、hdfs三种数据源为例;
52.其中,在mysql中存有一张user用户表,包含4个字段,id用户唯一标识、name姓名、
dept_id部门唯一标识、id_card身份证号码;
53.oracle中存有一张dept部门表,包含2个字段,id部门唯一标识和name部门名称;
54.hdfs文件系统中存有一个员工考勤日志文件,第一个字段为用户唯一标识,第二个字段为打卡时间,第三个字段对应上下班的进门、出门。
55.在一些实施例中,通过预设的映射规则,对上述三个数据源中的数据进行映射:
56.通过全局逻辑数据库将原始mysql中的user表映射为逻辑数据库中的logic_mysql_user逻辑表;
57.通过全局逻辑数据库将原始oracle中的dept表映射为逻辑数据库的logic_oracle_dept逻辑表;
58.通过全局逻辑数据库将原始hdfs中的log日志文件映射为逻辑数据库中的logic_hdfs_log逻辑表;
59.其中,所述全局逻辑数据库,用于存储映射得到的逻辑表,以及后续步骤中基于所述逻辑表构建的逻辑图,参考图2中的logic_view_user。
60.s120,基于所述逻辑表和业务关联关系,生成逻辑图。
61.在一些实施例中,基于步骤s110得到的逻辑表和表间的业务关联关系,生成逻辑图。参考图2,将对三种数据源进行映射得到的表,根据业务关联关系,生成一个跨库的逻辑视图logic_view_user。
62.其中,所述业务关联关系可根据应用场景预先设置,包括各物理存储系统间的关联关系。
63.s130,基于所述逻辑表和逻辑图,构建用户权限表,基于所述用户权限表对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权。
64.在一些实施例中,基于步骤s120得到的逻辑表和逻辑图,分别对每一个注册用户进行表级授权,构建用户权限表。
65.具体地,参考图3,创建一个用户(dba,数据库管理员),对得到的逻辑表进行统一授权,例如,对logic_mysql_user逻辑表、logic_oracle_dept逻辑表和logic_hdfs_log逻辑表进行统一授权;在本公开中,创建授权时,无需了解物理数据库的授权体系,仅需遵循统一的数据库标准授权方式(增删改查权限体系)。
66.在一些实施例中,为了进一步增加数据存储系统的数据防护能力,可在对注册用户进行表级授权的基础上,增加字段级以及行级授权。
67.其中,所述字段级授权用于,针对不同的用户,通过对同一张逻辑表的字段级授权,实现对原不支持字段级操作权限的物理存储系统的数据保护能力的提升。
68.具体地,参考图4,可将字段操作设置为权限,对不同用户进行字段操作授权;如select、update、insert、delete;针对同一张表,在不同用户使用时,可设置不同的字段权限。
69.例如,针对访用户a,进行logic_mysql_user表的id和name进行select授权;
70.当用户a,执行select id.name,dept_id from logic_mysql_user语句时,会提示错误,无法访问,因为dept_id未授权;
71.针对用户b,进行logic_mysql_user表的id、name和dept_id分别进行select、update操作授权。
72.当用户b执行update logic_mysql_user set name语句时,会返回成功。
73.原始的多源异构数据库如(mysql、oracle、hdfs等)不支持字段级权限,通过本方法实现了权限提升,支持了字段级权限,从而实现数据防护。
74.进一步地,基于所述逻辑图提供的关联关系,可以同时对不同逻辑表的相同字段(数据内容相同)进行授权,以保证同一用户在不同类型的数据存储系统中相同的字段权限一致。例如,参考图3,针对用户a,基于logic_view_user图,得到每个逻辑表间的关联关系,对logic_mysql_user表中的id进行授权时,同时可得到对logic_oracle_dept表和logic_hdfs_log中id字段的授权。
75.进一步地,参考图5,将字段级加密算法设置为权限,根据不同用户进行字段级加密算法授权;所述加密算法包括md5和/或用户自定义函数(udf、预设的字符替换规则等)等;不同的用户,通过配置不同的字段级加密权限即可看到不同的数据内容,从而实现对数据的防护;
76.例如,对于不同的用户a和用户b,同时对id_card字段进行加密算法授权,将用户a对id_card字段授权为md5,用户b对id_card字段授权为udf。当用户a和用户b都执行同一条sql语句(select id_card from logic_view_user)时,用户a返回的id_card是使用了md5(id_card)计算之后的结果,而用户b返回的id_card是使用了udf(id_card)计算之后的结果。
77.具体地,
78.针对用户a:
79.选择id_card字段,设置id_card字段可查询(select)权限,同时设置id_card的加密算法授权为函数md5;
80.当用户a输入sql语句“select id_card from logic_mysql_user”进行数据库访问时,将sql语句替换为“select md5(id_card)from logic_mysql_user”。
81.针对用户b:
82.选择id_card字段,设置id_card字段可查询(select)权限,同时设置id_card的加密算法授权为函数udf;
83.当用户b输入sql语句(和用户a相同的语句)“select id_card from logic_mysql_user”进行数据库访问时,将sql语句替换为“select udf(id_card)from logic_mysql_user”;
84.即,整个数据字段加密授权和sql访问过程仅需要对sql语句进行操作,不需要对数据库的原始数据进行处理,针对不同的用户a和用户b,通过配置不同的字段级加密权限即可看到不同的数据内容,从而实现对数据的防护。
85.进一步地,参考图6,将查询sql的where子句作为权限,根据不同用户进行行级数据授权;
86.例如,分别对用户a和用户b针对行级数据进行授权,将用户a的行级授权设置为“where dept_id=’d1
’”
;将用户b的行级授权设置为“where dept_id=’d2
’”
。当用户a和用户b执行同一条sql(select*from logic_mysql_user),用户a查看的数据为d1的数据,用户b查看的数据为d2的数据。
87.具体地,针对用户a:
88.设置行级权限dept_id=’d1’;
89.当用户a输入sql语句“select*from logic_mysql_user”进行数据库访问时,将sql语句替换为“select*from logic_mysql_user where dept_id=’d1
’”

90.针对用户b:
91.设置行级权限dept_id=’d2’;
92.当用户a输入sql语句“select*from logic_mysql_user”进行数据库访问时,将sql语句替换为“select*from logic_mysql_user where dept_id=’d2
’”

93.即,行级授权和sql访问过程仅需要对sql语句进行操作,不需要对数据库的原始数据进行处理,针对不同的用户a和用户b,通过配置不同的行级授权即可看到的数据不一样,从而实现对数据的防护。
94.综上,本公开的方法,可实现对不同数据存储系统的统一授权,授权范围包括整库(整体的存储系统)、存储系统中的表、行和/或字段。
95.同时,通过上述无侵入的方式在不改变用户原有的使用模式、不修改原有物理存储系统的数据基础上,成功实现了数据内容的加密防护,大大减少了开发和维护成本。
96.在一些实施例中,参考3,基于数据库表logic_mysql_user,对用户a的权限进行授权,构建用户权限表,所述用户权限表中包括:
97.logic_mysql_user表的操作权限为查询(select);
98.字段id的操作权限为查询(select);
99.字段name的操作权限为查询(select);
100.字段dept_id的操作权限为查询(select);
101.字段id_card的操作权限为查询(select);
102.字段id_card的加密算法权限为md5;
103.行级数据权限dept_id=’d1’。
104.图7示出了与本技术实施例基于全局映射的跨多源异构数据存储系统的统一授权方法,对应的基于全局映射的跨多源异构数据存储系统的鉴权方法的流程图,如图7所示,包括:
105.s710,获取sql查询语句,同时获取访问用户对应的用户权限表;并从所述权限表中调取所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限。
106.在一些实施例中,接收访问数据存储系统的sql语句,并对所述sql语句进行解析,提取所述sql语句中的表、行和/或字段信息。
107.同时获取访问用户对应的用户权限表,并从所述权限表中调取所述访问用户对数据存储系统中的表以及所述表中的字段和/或行的操作权限。
108.s720,根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,完成对访问用户的鉴权。
109.在一些实施例中,以sql语句为select id,name,dept_id,id_card from logic_mysql_user为例,即访问logic_mysql_user表以及表中的行、字段。
110.基于所述sql语句的表名(如logic_mysql_user)和对应的操作类型(如select),以及访问用户对数据库中的表的操作权限,验证所述访问用户的表级操作权限;
111.若验证通过,如,具备logic_mysql_user的select权限,则通过所述sql语句中的
字段信息(字段名和操作类型)和访问用户对数据存储系统表中的字段操作权限,验证访问用户的字段级操作权限;
112.若验证通过,如具备访问id,name,dept_id,id_card的权限、操作类型为select,则调取用户权限表中,所述访问用户对每个字段内容进行处理的加密算法,将所述加密算法替换sql语句中的字段;以用户a为例,验证用户a的数据字段加密权限,具备id_card的md5加密权限,则将sql语句中的id_card字段替换为md5(id_card);
113.判断所述sql语句中是否包含where子句,若不包括,即无行级冲突,则读取所述用户权限表中所述访问用户的行级数据权限,并将所述行级数据权限添加到已进行字段替换的sql语句中;以用户a为例,读取用户a的行级数据权限,将dept_id=’d1’增加到查询语句中;若包括,则不进行增加;
114.综上可得生成权限调整后的sql语句select id,name,dept_id,md5(id_card)from logic_mysql_user where dept_id=d1;
115.进一步地,通过修改后的sql语句对所述数据库进行访问,得到与所述访问用户的权限对应的数据内容(1、张三、d1、134567)。
116.根据本公开的实施例,实现了以下技术效果:
117.通过本公开的统一授权方法,可实现一个用户同时访问多个物理存储系统,简化了权限分配的工作,还可为不支持权限系统的数据存储系统增加权限体系(如,hdfs),即,增强不支持权限的数据存储系统的数据防护能力。
118.同时,不需修改任何物理存储系统的配置、不用增加任何新的设备,即可完成对数据存储系统的权限管理提升,即对不支持字段、行级权限的物理存储系统增加字段和行级的管理权限。
119.通过本公开的授权机制,不同的用户在查询同一张表的同一个字段时,可根据不同的字段级加密权限返回不同的数据内容,从而实现了数据保护的目的。
120.节省了数据库管理工作人员大量的管理成本,还极大的降低了多源异构数据存储系统的使用难度。通过可扩展的字段级加密权限保护机制,满足了实际业务对于数据保护多变的实时加密需求。
121.需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本技术并不受所描述的动作顺序的限制,因为依据本技术,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本技术所必须的。
122.图8示出了适于用来实现本技术实施例的终端设备或服务器的结构示意图。
123.如图8所示,终端设备或服务器800包括中央处理单元(cpu)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储部分808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。cpu 801、rom802以及ram 803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。
124.以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因
特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
125.特别地,根据本技术的实施例,上文方法流程步骤可以被实现为计算机软件程序。例如,本技术的实施例包括一种计算机程序产品,其包括承载在机器可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本技术的系统中限定的上述功能。
126.需要说明的是,本技术所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本技术中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本技术中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
127.附图中的流程图和框图,图示了按照本技术各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,前述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
128.描述于本技术实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中。其中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
129.作为另一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中的。上述计算机可读存储介质存储有一个或者多个程序,当上述前述程序被一个或者一个以上的处理器用来执行描述于本技术的方法。
130.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本技术中所涉及的申请范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离前述申请构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中申请的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

技术特征:
1.一种基于全局映射的跨多源异构数据存储系统的统一授权方法,其特征在于,包括:基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表;基于所述逻辑表和业务关联关系,生成逻辑图;基于所述逻辑表和逻辑图,构建用户权限表,基于所述用户权限表对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权。2.根据权利要求1所述的方法,其特征在于,所述基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表包括:其中,所述预设的映射规则为单表对单表、字段对字段;基于预设的映射规则,对不同类型的数据存储系统进行映射,分别得到与每个类型的数据存储系统中的表对应的逻辑表;所述数据存储系统包括不支持表级、字段级以及行级权限的物理存储系统。3.根据权利要求1所述的方法,其特征在于,所述基于所述逻辑表和逻辑图,构建用户权限表包括:基于所述逻辑表和逻辑图,分别对每一个注册用户进行表级、字段级以及行级授权,构建用户权限表。4.根据权利要求3所述的方法,其特征在于,所述分别对每一个注册用户进行表级、字段级以及行级授权,构建用户权限表包括:设置每个用户对所述数据存储系统表以及所述表中的行和字段的增、删、改、查的权限;基于所述增、删、改、查的权限,构建用户权限表。5.根据权利要求4所述的方法,其特征在于,所述分别对每一个注册用户进行表级、字段级以及行级授权,构建用户权限表还包括:针对不同的注册用户,通过不同的预设加密算法,对同一数据存储系统表中的相同字段进行加密的加密算法权限;通过sql的where子句对数据存储系统表中的行进行授权。6.根据权利要求1所述的方法,其特征在于,所述基于所述逻辑表和逻辑图,对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权还包括:基于业务的关联关系,对不同逻辑表中的相同字段进行统一授权。7.一种基于全局映射的跨多源异构数据存储系统的鉴权方法,其特征在于,包括:获取sql查询语句,同时获取访问用户对应的用户权限表;并从所述权限表中调取所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限;根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,完成对访问用户的鉴权。8.根据权利要求7所述的方法,其特征在于,所述根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,完成对访问用户的鉴权包括:根据所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限以及所述sql查询语句,确定访问用户是否拥有访问权限,若有,则基于所述访问用户对数据存储系统中的表以及所述表中的字段和行的操作权限修改所述sql查询,通过修改后的sql语
句完成对数据存储系统的访问。9.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1~8中任一项所述的方法。10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1~8中任一项所述的方法。

技术总结
本申请的实施例提供了基于全局映射的跨多源异构数据存储系统的统一授权方法、设备和计算机可读存储介质。所述方法包括基于预设的映射规则,对不同类型的数据存储系统进行映射,生成逻辑表;基于所述逻辑表和业务关联关系,生成逻辑图;基于所述逻辑表和逻辑图,构建用户权限表,基于所述用户权限表对注册用户进行统一访问授权,实现对不同数据存储系统的统一授权。以此方式,实现了对跨多源异构数据存储系统的统一授权。储系统的统一授权。储系统的统一授权。


技术研发人员:姚宏宇 朱朝强 王刚
受保护的技术使用者:北京友友天宇系统技术有限公司
技术研发日:2022.04.22
技术公布日:2022/7/5
转载请注明原文地址: https://www.8miu.com/read-6924.html

最新回复(0)