[发明专利]多租户权限控制方法及装置在审
申请号: | 202010119898.X | 申请日: | 2020-02-26 |
公开(公告)号: | CN111339524A | 公开(公告)日: | 2020-06-26 |
发明(设计)人: | 周永进;刘传涛 | 申请(专利权)人: | 浪潮软件股份有限公司 |
主分类号: | G06F21/45 | 分类号: | G06F21/45;G06F16/182 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 程佩玉 |
地址: | 250100 山东*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 租户 权限 控制 方法 装置 | ||
1.多租户权限控制方法,其特征在于,包括:
接收外部一用户端发来的、用于请求查询Hive中数据的查询请求,所述查询请求包括第一用户标识和用于标识待查询数据的第一数据标识;
利用Spark的Logic Plan,获取所述查询请求中包括的所述第一用户标识和所述第一数据标识;
调用Ranger应用程序接口API,访问Ranger中已配置的Hive访问权限策略,所述Hive访问权限策略包括至少两个用户标识中每一个用户标识的查询权限,所述查询权限对应有的数据标识;
根据所述Hive访问权限策略,判断所述第一用户标识是否具有所述第一数据标识的查询权限,若否,不允许所述用户端访问所述Hive中具有所述第一数据标识的数据。
2.根据权利要求1所述的方法,其特征在于,
所述第一数据标识包括:第一数据库标识和第一数据表标识;
其中,所述查询权限包括:至少一个数据库标识和每一个该数据库标识所对应的至少一个数据表标识;
所述根据所述Hive访问权限策略,判断所述第一用户标识是否具有所述第一数据标识的查询权限,若否,不允许所述用户端访问所述Hive中具有所述第一数据标识的数据,包括:
A1:判断所述Hive访问权限策略是否包括所述第一用户标识的第一查询权限,若是,执行A2,否则,执行A4;
A2:判断所述第一查询权限是否包括所述第一数据库标识,若是,执行A3,否则,执行A4;
A3:判断所述第一查询权限中的所述第一数据库标识是否对应有所述第一数据表标识,否则,执行A4;
A4:不允许所述用户端访问所述Hive中目的数据库中目的数据表中的数据,其中,所述目的数据库具有所述第一数据库标识,所述目的数据表具有所述第一数据表标识。
3.根据权利要求2所述的方法,其特征在于,
进一步包括:A3中判断结果为是时,允许所述用户端访问所述Hive中所述目的数据库中所述目的数据表中的数据。
4.根据权利要求1所述的方法,其特征在于,
所述利用Spark的Logic Plan,获取所述查询请求中包括的所述第一用户标识和所述第一数据标识,包括:
利用Spark中的${SPARK_HOME}/jars目录下的预先编译好的Authorization类代码,通过解析Spark的Logic Plan,获取所述查询请求中的所述第一用户标识和所述第一数据标识。
5.根据权利要求1所述的方法,其特征在于,
所述调用Ranger应用程序接口API,访问Ranger中已配置的Hive访问权限策略,包括:
利用Spark中的${SPARK_HOME}/jars目录下的预先编译好的RangerHelper类代码,通过调用Ranger API,访问Ranger中已配置的所述Hive访问权限策略。
6.多租户权限控制装置,其特征在于,包括:
接收模块、获取模块、访问模块和判断模块;
所述接收模块,用于接收外部一用户端发来的、用于请求查询Hive中数据的查询请求,所述查询请求包括第一用户标识和用于标识待查询数据的第一数据标识;
所述获取模块,用于利用Spark的Logic Plan,获取所述查询请求中包括的所述第一用户标识和所述第一数据标识;
所述访问模块,用于调用Ranger应用程序接口API,访问Ranger中已配置的Hive访问权限策略,所述Hive访问权限策略包括至少两个用户标识中每一个用户标识的查询权限,所述查询权限对应有的数据标识;
所述判断模块,用于根据所述Hive访问权限策略,判断所述第一用户标识是否具有所述第一数据标识的查询权限,若否,不允许所述用户端访问所述Hive中具有所述第一数据标识的数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮软件股份有限公司,未经浪潮软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010119898.X/1.html,转载请声明来源钻瓜专利网。