【技术实现步骤摘要】
一种hive细颗粒度权限控制方法及装置
[0001]本专利技术涉及数字信息系统安全
,特别涉及一种hive细颗粒度权限控制方法及装置。
技术介绍
[0002]hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。目前,Hive权限控制体系,主要有两种方式,第一、Hive原生的权限控制,基于元数据的原生权限管理;第二、依托Hadoop生态中Apache Sentry和Ranger组件。
[0003]研究发现Hive原生的权限控制系统的Hive中没有超级管理员,任何用户都可以进行Grant/Revoke操作,且修改权限配置之后需要重启Hive引擎方能生效,因此系统的权限控制比较弱。而Ranger没有关于身份验证(ldap、密码、token等)的支持,无法和业务规则逻辑深度融合,无法实现基于角色、组织、岗位的权限灵活配置,部署维护复杂,数据迁移存在风险、Ranger服务存在宕机风险。此外,启用Sentry和Ranger权限控制, ...
【技术保护点】
【技术特征摘要】
1.一种hive细颗粒度权限控制方法,其特征在于,所述方法包括步骤:修改Hive源码实现PasswdAuthenticationProvider类的Authenticate方法,并连接业务库对用户名和密码进行校验以完成身份验证;实现hook过滤器ExecuteWithHookContext类的run方法并结合业务组织权限库中当前用户业务规则数据信息进行用户操作权限判定;基于所述身份验证与所述用户操作权限判定的结果实现所述hive细颗粒度权限控制。2.如权利要求1所述的hive细颗粒度权限控制方法,其特征在于,所述连接业务库对用户名和密码进行校验以完成身份验证,包括步骤:连接业务库并依据用户名查询当前用户是否为超级管理员,若是则身份验证通过,若否则进一步进行用户名和密码校验;若用户名和密码校验通过则身份验证通过,若用户名和密码校验失败,则身份验证不通过,提示异常并终止。3.如权利要求2所述的hive细颗粒度权限控制方法,其特征在于,所述连接业务库,包括步骤:从配置文件hive
‑
site.xml中获取业务库的连接信息;基于所述连接信息与业务库连接。4.如权利要求1所述的hive细颗粒度权限控制方法,其特征在于,所述结合业务组织权限库中当前用户业务规则数据信息进行用户操作权限判定,包括步骤:从hookContext中解析出hive执行的sql语句、用户名以及hive执行的sql语句的操作类型;使用Antlr工具对sql语句生成语法分析器并将sql语句解析成语法分析树;递归遍历所述语法分析树的节点解析出的sql语句需要操作hive中的database、table以及column结果;在业务组织权限库中根据用户名查询当前用户的业务规则数据信息并获取到所述当前用户对于当前hive具备操作权限的database、table、column操作对象范围;根据Antlr解析出的sql语句需要操作hive中的database、table以及column结果与所述当前用户具备操作权限的database、table、column操作对象范围比较判断所述当前用户是否具有操作权限。5.如权利要求4所述的hive细颗粒度权限控制方法,其特征在于,所述判断所述当前用户是否具有操作权限,包括:判断当前用户具备操作权限的database、table以及column操作对象集合范围是否包含Antlr解析出来的全部结果,若是,则判定当前用户对操作对象具有操作权限;若解析出的任意一个结果不在所述当前用户具备操作权限的database、table以及column操作对象集合范围内,则判定当前用户对操作对象不具有操作权限,提示异常并终止。6.如权利要求4所述的hive细颗粒度权限控制方法,其特征在于,在判断所述当前用...
【专利技术属性】
技术研发人员:段利君,陈治祥,张晓军,
申请(专利权)人:中电云数智科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。