本技术涉及大数据处理,尤其涉及一种基于hive数仓的租户授权方法及设备。
背景技术:
1、在多租户环境下的大数据平台管理中,数据权限管控是非常重要的一环。
2、在现有技术中,进行授权的方法为:数据管理者首先需登录hive数仓验证系统确定需要授权的hive元数据表是否存在于hive数仓中;若存在,则在ranger系统的hive策略配置页面,根据租户需要被授权的hive元数据库表需求创建hive库表授权策略;进一步,数据管理者在hive数仓通过查询指令找出hive库表的数据路径,然后,数据管理者登录路径挂载系统,根据数据路径找出数据路径的对应hdfs存储集群;在ranger系统的hdfs组件中找到对应的hdfs存储集群服务,并创建hdfs路径策略,授权动作结束后,数据管理者还需要登录租户管理中心下载租户票据来验证需求的hive库表能否正确访问,全部流程结束后,数据管理者还需要记录数据权限授权台账。
3、可以看出,整个授权动作需要登录多个系统,过程非常繁琐,授权效率低。
技术实现思路
1、本技术提供一种基于hive数仓的租户授权方法及设备,用以简化对租户的授权流程,提高授权效率。
2、第一方面,本技术提供一种基于hive数仓的租户授权方法,包括:
3、响应于数据管理员通过web页面输入的授权请求信息,从所述授权请求信息中获取待授权的租户标识、hive库表信息和权限信息;其中,所述hive库表信息包括需要授权的hive元数据库名和hive元数据表名,所述权限信息用于指示需要授予租户的权限;
4、根据所述租户标识、hive库表信息、权限信息和预先设定的hive策略创建规则创建所述hive库表信息的第一授权策略和所述第一授权策略的名称,所述hive策略创建规则包括hive策略规则和第一授权策略的第一命名规则;其中,所述hive策略规则用于创建将租户所需库表授权给所述租户的第一授权策略;
5、根据程序数据库中预先存储的hive元数据映射表获取所述hive库表信息对应的目标数据路径,所述目标数据路径用于指示需要授权的目标集群的存储位置,其中,所述hive元数据映射表中存储有元数据库名、元数据表名和数据路径的映射关系;
6、根据所述目标数据路径和所述程序数据库中预先存储的hdfs元数据映射表获取需要授权的目标集群名称,所述hdfs元数据映射表中存储有数据路径和集群名称的映射关系;根据所述租户标识、目标集群名称、权限信息和预先设定的集群策略创建规则创建所述目标集群的第二授权策略和所述第二授权策略的名称,所述集群策略创建规则包括集群策略规则和第二授权策略的第二命名规则,其中,所述集群策略规则用于创建授权给所述租户的库表在集群中的存储路径的第二授权策略;
7、通过所述web页面,向所述数据管理员反馈授权响应信息,所述授权响应信息用于指示授权完成,所述授权响应信息包括所述第一授权策略和所述第二授权策略。
8、在一种可能的设计中,所述根据所述租户标识、hive库表信息、权限信息和预先设定的hive策略创建规则创建所述hive库表信息的第一授权策略和所述第一授权策略的名称,包括:
9、根据所述权限信息中的读写权限类型,在所述hive策略创建规则中获取与所述读写权限类型匹配的读写策略规则;其中,所述读写权限类型包括读权限和/或写权限;
10、根据所述租户标识、hive库表信息、读写策略规则,获取所述hive库表信息的第一授权策略;
11、根据所述第一命名规则,获取所述第一授权策略的名称。
12、在一种可能的设计中,所述根据所述租户标识、hive库表信息、读写策略规则,获取所述hive库表信息的第一授权策略之后,所述方法还包括:
13、判断所述权限信息中是否存在目标权限类型,其中,所述目标权限类型包括地域限制和/或加密限制;
14、若存在,在所述hive策略创建规则中获取所述目标权限类型对应的目标策略规则;
15、根据所述目标策略规则生成第三授权策略,并将所述第三授权策略添加至所述第一授权策略中。
16、在一种可能的设计中,所述根据所述租户标识、hive库表信息、读写策略规则,获取所述hive库表信息的第一授权策略之后,所述方法还包括:
17、判断所述第一授权策略是否创建成功;
18、若策略创建不成功,获取报错信息;所述报错信息包括策略名重复和资源重复,所述策略名重复为策略文件中存在与本次授权策略名称相同的策略名称,所述策略文件用于存储已生成的授权策略的名称,所述资源重复为存在其它授权策略与第一授权策略中的需要授权的hive库表信息相同;
19、根据所述报错信息,对未创建成功的授权策略进行更新。
20、在一种可能的设计中,所述根据所述报错信息,对未创建成功的授权策略进行更新,包括:
21、若报错信息为策略名重复,则基于当前时间为所述策略名称添加时间戳,得到新的授权策略;
22、若所述报错信息为资源重复,则将所述租户标识添加至所述其它授权策略中。
23、在一种可能的设计中,所述根据所述租户标识、目标集群名称、权限信息和预先设定的集群策略创建规则创建所述目标集群的第二授权策略和所述第二授权策略的名称,包括:
24、根据所述权限信息中的读写权限类型,在所述集群策略创建规则中获取与所述读写权限类型匹配的读写集群规则;其中,所述读写权限类型包括读权限和/或写权限;
25、根据所述租户标识、目标集群名称、所述读写集群规则,获取所述目标集群的第二授权策略;
26、根据所述第二命名规则,获取所述第二授权策略的名称。
27、在一种可能的设计中,所述根据程序数据库中预先存储的hive元数据映射表获取所述hive库表信息对应的目标数据路径之前,所述方法还包括:
28、根据预设周期定时从hive数仓中全量获取hive元数据表信息,并根据所述hive元数据表信息更新所述程序数据库中的hive元数据映射表,所述hive元数据表信息包括元数据库名、元数据表名和数据路径;
29、获取路径集群对应表,根据路径集群对应表获取所述hive元数据表中的数据路径与所属集群的映射关系,并根据所述数据路径与所属集群的映射关系更新所述程序数据库中的hdfs元数据映射表。
30、在一种可能的设计中,所述程序数据库中还存储有hive审计表、hdfs审计表和租户资源关联表,所述hive审计表中存储有hive元数据表的授权记录,所述hdfs审计表中存储有集群的授权记录,所述租户资源关联表中存储有租户与租户拥有的权限的映射关系;所述方法还包括:
31、对所述hive审计表和hdfs审计表中的授权记录进行更新;
32、对所述租户资源关联表中的租户与租户拥有的权限进行更新。
33、第二方面,本技术提供一种基于hive数仓的租户授权设备,包括:
34、获取模块,用于响应于数据管理员通过web页面输入的授权请求信息,从所述授权请求信息中获取待授权的租户标识、hive库表信息和权限信息;其中,所述hive库表信息包括需要授权的hive元数据库名和hive元数据表名,所述权限信息用于指示需要授予租户的权限;
35、第一授权策略创建模块,用于根据所述租户标识、hive库表信息、权限信息和预先设定的hive策略创建规则创建所述hive库表信息的第一授权策略和所述第一授权策略的名称,所述hive策略创建规则包括hive策略规则和第一授权策略的第一命名规则;其中,所述hive策略规则用于创建将租户所需库表授权给所述租户的第一授权策略;
36、目标路径获取模块,用于根据程序数据库中预先存储的hive元数据映射表获取所述hive库表信息对应的目标数据路径,所述目标数据路径用于指示需要授权的目标集群的存储位置,其中,所述hive元数据映射表中存储有元数据库名、元数据表名和数据路径的映射关系;
37、目标集群名称获取模块,用于根据所述目标数据路径和所述程序数据库中预先存储的hdfs元数据映射表获取需要授权的目标集群名称,所述hdfs元数据映射表中存储有数据路径和集群名称的映射关系;第二授权策略创建模块,用于根据所述租户标识、目标集群名称、权限信息和预先设定的集群策略创建规则创建所述目标集群的第二授权策略和所述第二授权策略的名称,所述集群策略创建规则包括集群策略规则和第二授权策略的第二命名规则,其中,所述集群策略规则用于创建授权给所述租户的库表在集群中的存储路径的第二授权策略;
38、反馈模块,用于通过所述web页面,向所述数据管理员反馈授权响应信息,所述授权响应信息用于指示授权完成,所述授权响应信息包括所述第一授权策略和所述第二授权策略。
39、在一种可能的设计中,所述第一授权策略创建模块具体用于:
40、根据所述权限信息中的读写权限类型,在所述hive策略创建规则中获取与所述读写权限类型匹配的读写策略规则;其中,所述读写权限类型包括读权限和/或写权限;
41、根据所述租户标识、hive库表信息、读写策略规则,获取所述hive库表信息的第一授权策略;
42、根据所述第一命名规则,获取所述第一授权策略的名称。
43、在一种可能的设计中,所述第一授权策略创建模块还具体用于:
44、判断所述权限信息中是否存在目标权限类型,其中,所述目标权限类型包括地域限制和/或加密限制;
45、若存在,在所述hive策略创建规则中获取所述目标权限类型对应的目标策略规则;
46、根据所述目标策略规则生成第三授权策略,并将所述第三授权策略添加至所述第一授权策略中。
47、在一种可能的设计中,所述第一授权策略创建模块还具体用于:
48、判断所述第一授权策略是否创建成功;
49、若策略创建不成功,获取报错信息;所述报错信息包括策略名重复和资源重复,所述策略名重复为策略文件中存在与本次授权策略名称相同的策略名称,所述策略文件用于存储已生成的授权策略的名称,所述资源重复为存在其它授权策略与第一授权策略中的需要授权的hive库表信息相同;
50、根据所述报错信息,对未创建成功的授权策略进行更新。
51、在一种可能的设计中,所述第一授权策略创建模块还具体用于:
52、若报错信息为策略名重复,则基于当前时间为所述策略名称添加时间戳,得到新的授权策略;
53、若所述报错信息为资源重复,则将所述租户标识添加至所述其它授权策略中。
54、在一种可能的设计中,所述第二授权策略创建模块具体用于:
55、根据所述权限信息中的读写权限类型,在所述集群策略创建规则中获取与所述读写权限类型匹配的读写集群规则;其中,所述读写权限类型包括读权限和/或写权限;
56、根据所述租户标识、目标集群名称、所述读写集群规则,获取所述目标集群的第二授权策略;
57、根据所述第二命名规则,获取所述第二授权策略的名称。
58、在一种可能的设计中,还包括:程序数据库模块:
59、所述程序数据库模块,用于根据预设周期定时从hive数仓中全量获取hive元数据表信息,并根据所述hive元数据表信息更新所述程序数据库中的hive元数据映射表,所述hive元数据表信息包括元数据库名、元数据表名和数据路径;
60、获取路径集群对应表,根据路径集群对应表获取所述hive元数据表中的数据路径与所属集群的映射关系,并根据所述数据路径与所属集群的映射关系更新所述程序数据库中的hdfs元数据映射表。
61、在一种可能的设计中,所述程序数据库中还存储有hive审计表、hdfs审计表和租户资源关联表,所述hive审计表中存储有hive元数据表的授权记录,所述hdfs审计表中存储有集群的授权记录,所述租户资源关联表中存储有租户与租户拥有的权限的映射关系;
62、所述程序数据库模块还具体用于:
63、对所述hive审计表和hdfs审计表中的授权记录进行更新;
64、对所述租户资源关联表中的租户与租户拥有的权限进行更新。
65、第三方面,本发明实施例提供一种基于hive数仓的租户授权设备,包括:至少一个处理器和存储器;
66、所述存储器存储计算机执行指令;
67、所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的基于hive数仓的租户授权方法。
68、第四方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的基于hive数仓的租户授权方法。
69、本技术提供的基于hive数仓的租户授权方法及设备,响应于数据管理员在web页面输入的授权请求信息,从所述授权请求信息中获取待授权的租户标识、hive库表信息和权限信息;根据所述租户标识、hive库表信息、权限信息和预先设定的hive策略创建规则创建所述hive库表信息的第一授权策略和所述第一授权策略的名称,所述hive策略创建规则包括hive策略规则和第一授权策略的第一命名规则;根据程序数据库中预先存储的hive元数据映射表获取所述hive库表信息对应的目标数据路径,所述目标数据路径用于指示需要授权的目标集群的存储位置,其中,所述hive元数据映射表中存储有元数据库名、元数据表名和数据路径的映射关系;根据所述目标数据路径和所述程序数据库中预先存储的hdfs元数据映射表获取需要授权的目标集群名称;根据所述租户标识、目标集群名称、权限信息和预先设定的集群策略创建规则创建所述目标集群的第二授权策略和所述第二授权策略的名称,最终通过web页面向数据管理员反馈授权完成的信息。本技术的方法,由数据管理员在web页面一次性发起授权请求信息即可完成所有的授权动作,节约了大量的授权时间,同时,设计了统一的策略创建规则,解决了策略命名方式不统一、策略文件不易查看与维护的问题。
1.一种基于hive数仓的租户授权方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述租户标识、hive库表信息、权限信息和预先设定的hive策略创建规则创建所述hive库表信息的第一授权策略和所述第一授权策略的名称,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述租户标识、hive库表信息、读写策略规则,获取所述hive库表信息的第一授权策略之后,所述方法还包括:
4.根据权利要求2所述的方法,其特征在于,所述根据所述租户标识、hive库表信息、读写策略规则,获取所述hive库表信息的第一授权策略之后,所述方法还包括:
5.根据权利要求4所述的方法,其特征在于,所述根据所述报错信息,对未创建成功的授权策略进行更新,包括:
6.根据权利要求1所述的方法,其特征在于,所述根据所述租户标识、目标集群名称、权限信息和预先设定的集群策略创建规则创建所述目标集群的第二授权策略和所述第二授权策略的名称,包括:
7.根据权利要求1所述的方法,其特征在于,所述根据程序数据库中预先存储的hive元数据映射表获取所述hive库表信息对应的目标数据路径之前,所述方法还包括:
8.根据权利要求7所述的方法,其特征在于,所述程序数据库中还存储有hive审计表、hdfs审计表和租户资源关联表,所述hive审计表中存储有hive元数据表的授权记录,所述hdfs审计表中存储有集群的授权记录,所述租户资源关联表中存储有租户与租户拥有的权限的映射关系;所述方法还包括:
9.一种基于hive数仓的租户授权设备,其特征在于,包括:
10.一种基于hive数仓的租户授权设备,其特征在于,包括:至少一个处理器和存储器;
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求1至8任一项所述的基于hive数仓的租户授权方法。