CN110175164B - 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法 - Google Patents

一种SparkSQL thriftserver查询及操作Hive的权限控制的方法 Download PDF

Info

Publication number
CN110175164B
CN110175164B CN201910444799.6A CN201910444799A CN110175164B CN 110175164 B CN110175164 B CN 110175164B CN 201910444799 A CN201910444799 A CN 201910444799A CN 110175164 B CN110175164 B CN 110175164B
Authority
CN
China
Prior art keywords
hive
spark
service
configuration
thriftserver
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.)
Active
Application number
CN201910444799.6A
Other languages
English (en)
Other versions
CN110175164A (zh
Inventor
张睿智
刘传涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Software Co Ltd
Original Assignee
Inspur Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Inspur Software Co Ltd filed Critical Inspur Software Co Ltd
Priority to CN201910444799.6A priority Critical patent/CN110175164B/zh
Publication of CN110175164A publication Critical patent/CN110175164A/zh
Application granted granted Critical
Publication of CN110175164B publication Critical patent/CN110175164B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2433Query languages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种SparkSQL thriftserver查询及操作Hive的权限控制的方法,属于大数据数据库访问权限控制技术领域,本发明通过使用hive llap服务所拥有的用户身份识别及用户输入SQL解析,联合Ranger的访问权限控制功能结合形成中介服务,通过SparkSQL thriftserver服务对接此中介服务达到了控制权限控制的目的。

Description

一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
技术领域
本发明涉及大数据数据库访问权限控制技术,尤其涉及一种SparkSQLthriftserver查询及操作Hive的权限控制的方法。
背景技术
随着云时代的来临,大数据查询也吸引了越来越多的关注,数据正在迅速膨胀并变大,它决定着企业的未来发展,虽然很多企业可能并没有意识到数据安全性带来问题的隐患,但是随着时间的推移,人们将越来越多的意识到数据安全性对企业的重要性。
Spark on Hive作为当前大数据领域集结构化存储和高速分布式计算使用最多的技术模型,持续受到工业界的广泛关注。SparkSQL是基于内存的分布式计算框架,并且对Hadoop生态系统有高度的支持,比如支持从HDFS、Hbase、Hive等分布式文件系统读取数据。而且SparkSQL目前发展非常迅速,支持的持久层框架越来越多,并且随着SparkSQLthriftserver服务的出现,通过SparkSQL thriftserver服务直接访问Hive更加方便快捷,数据开发人员直接链接SparkSQL thriftserver服务用SQL语句便可以做数据分析,大幅降低了基于SparkSQL的大数据开发难度。但是SparkSQL thriftserver服务也要面临一个问题,即在多用户的应用场景下,使用SparkSQL thriftserver服务在访问Hive数据库时存在着安全问题,无法做到不同用户的访问权限控制。安全访问控制对于商业应用至关重要。因此,对于用户通过Spark SQL访问表的行列权限控制也是重要关键点。无权限控制问题会存在用户可以越权访问其他用户所私有的数据库、数据表,会导致用户数据信息泄露,造成一定的信息安全性影响。
发明内容
为了解决以上技术问题,本发明提出了一种SparkSQL thriftserver查询及操作Hive的权限控制的方法,使用hive llap服务作为中介服务,sparkSQL thriftserver连接hive llap中介服务,达到Ranger权限控制hive数据库的目的。
本发明综合利用hive llap服务及ranger服务的权限控制特性,及增加嵌合sparkSQL thriftserver服务对hive llap服务的支持驱动包来达到控制sparkSQLthriftserver服务访问Hive数据源时,可以进行数据库级、数据表级、数据列级、数据行级的细粒度的控制访问权限,且可以直接在Ranger服务控制台中简单明了的进行权限配置。
本发明的技术方案是:
一种SparkSQL thriftserver查询及操作Hive的权限控制的方法,
主要包括:
1)配置sparkSQL thriftserver服务集成Hive llap服务;
2)配置sparkSQL thriftserver代理用户到Hive llap服务中;
3)配置sparkSQL thriftserver集成Hive llap服务通过kerberos权限验证。
进一步的,所述配置sparkSQL thriftserver服务集成Hive llap服务,包括在spark配置项`Advanced spark2-env`中的配置方式,即直接在线打包模式或上传jar到服务器直接加载jar模式。包括对spark_thrift_cmd_opts参数的配置。
进一步的,所述配置sparkSQL thriftserver代理用户到Hive llap服务中,包括在spark配置项中的设置方式。主要是对spark.sql.hive.hiveserver2.jdbc.url参数及Run as end user instead of Hive user参数的配置内容。
所述配置sparkSQL thriftserver集成Hive llap服务通过kerberos权限验证,包括在spark配置项中的配置内容及在hive配置项中的配置内容。
在spark配置项中的配置内容,包括`Custom spark2-thrift-sparkconf`中的内容,包括,spark.hadoop.hive.llap.daemon.service.hosts参数、spark.hadoop.hive.zookeeper.quorum参数、spark.sql.hive.hiveserver2.jdbc.url.principal参数。
在hive配置项中的配置内容,进一步包括`Custom hive-interactive-site`及其他配置参数项,包括,hive.llap.daemon.service.hosts参数、hive.zookeeper.quorum参数、hive.server2.authentication.kerberos.principal参数、hive.llap.task.keytab.file参数、hive.llap.task.principal参数。
进一步的,
具体操作步骤为:
首先,hive llap与Ranger服务相结合,使用Ranger控制Hive,进行配置并启动Hive llap服务;
其次,配置相关的参数,并集成第三方的驱动spark-llap.jar,达到SparkSQLthriftserver服务首先对接的为Hive llap服务,并开启sparkSQL thriftserver服务的代理用户功能,使用户信息代理到Hive llap服务中,使Hive llap服务对用户进行Ranger鉴权功能;
最后,通过配置相关的参数,在SparkSQL thriftserver服务端直接进行输入想要查询的SQL后,进行权限通过校验;
如果权限校验通过,则进行在sparkSQL thriftserver产生相对应的任务并执行,最终返回查询结果;如果权限校验不通过,则在sparkSQL thriftserver端进行返回权限校验失败的提示内容。
本发明通过使用hive llap服务所拥有的用户身份识别及用户输入SQL解析,联合Ranger的访问权限控制功能结合形成中介服务,通过SparkSQL thriftserver服务对接此中介服务达到了控制权限控制的目的,而且可以做到控制粒度到数据库、数据表、数据列、数据行级别,大幅增强了信息的安全性,使用户只能访问及操作当前用户所拥有的数据库、数据表、数据列、数据行,不能访问他人未授权的数据,防范了用户数据泄露的情况。。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明使用hive llap服务作为中介服务,sparkSQL thriftserver连接hivellap中介服务,达到Ranger权限控制hive数据库的目的。
具体描述为:
首先,由于hive llap服务已集成ranger插件,所以hive llap可以与Ranger服务相结合,可以使用其此项功能,达到使用Ranger控制Hive的目的,所以需要进行配置并启动Hive llap服务。
其次,由于SparkSQL thriftserver服务是直接对接的Hive数据库,所以,需要配置相关的参数,并集成第三方的驱动spark-llap.jar,来达到SparkSQL thriftserver服务首先对接的为Hive llap服务,并开启sparkSQL thriftserver服务的代理用户功能,使用户信息可以成功的代理到Hive llap服务中,使Hive llap服务可以对用户进行Ranger鉴权功能。
最后,通过配置相关的参数,可以在SparkSQL thriftserver服务端直接进行输入想要查询的SQL后,进行权限通过校验。如果权限校验通过,则进行在sparkSQLthriftserver产生相对应的任务并执行,最终返回查询结果;如果权限校验不通过,则在sparkSQL thriftserver端进行返回权限校验失败的提示内容。
详细的方法:
(1)开启Hive LLAP(Hive Interactive Query)服务。
(2)开启ranger对hive的控制权限功能。
(3)在Custom hive-site设置
·hive.warehouse.subdir.inherit.perms=true。开启hive数据库的权限继承关系设置,对于所有用例,确保Hive仓库的权限为700(只有所有者才有读,写,执行
的权限).也就是普通用户无法访问安全的表。
(4)设置Hive数据库的文件权限默认初始权限为700权限
(5)设置hive llap kerberos相关权限验证:
·hive.llap.daemon.service.hosts=@llap0
·hive.zookeeper.quorum=your quorum(此处填写集群的quorum值)
·hive.server2.authentication.kerberos.principal=hive/_HOST@IDAP.COM
`Custom hive-interactive-site`下添加如下2个参数:
·hive.llap.task.keytab.file=/etc/security/keytabs/hive.service.keytab
·hive.llap.task.principal=hive/_HOST@INDATA.COM
(6)设置HDFS权限允许任意host提交spark job
Custom core-site`中设置
·hadoop.proxyuser.hive.hosts=*
(7)配置Spark2Thrift Server集成hive llap服务:
`Advanced spark2-env`中设置直接在线打包模式:
·spark_thrift_cmd_opts=--packages
com.hortonworks.spark:spark-llap-assembly_2.11:1.1.3-2.1--repositories
http://repo.hortonworks.com/content/groups/public--confspark.sql.hive.llap=true
或者上传jar到服务器直接加载jar模式:
·spark_thrift_cmd_opts=--jars
/usr/hdp/2.6.1.0-129/spark2/jars/spark-llap_2.11-1.1.3-2.1.jar--conf
spark.sql.hive.llap=true
(8)配置spark相关参数以保证kerberos权限:
在`Custom spark2-thrift-sparkconf`中设置:
·spark.hadoop.hive.llap.daemon.service.hosts=@llap0
·spark.hadoop.hive.zookeeper.quorum=your quorum(此处填写集群的quorum值)
·spark.sql.hive.hiveserver2.jdbc.url.principal=hive的principal
(9)在spark中设置Hive llap服务地址,并开启sparkSQL thriftserver的用户代理功能:
·spark.sql.hive.hiveserver2.jdbc.url=jdbc:hive2://hive_llap地
址:10500/default;hive.server2.proxy.user=${user}
·Run as end user instead of Hive user=false
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (4)

1.一种SparkSQL thriftserver查询及操作Hive的权限控制的方法,其特征在于,
主要包括:
1)配置sparkSQL thriftserver服务集成Hive llap服务;
2)配置sparkSQL thriftserver代理用户到Hive llap服务中;
3)配置sparkSQL thriftserver集成Hive llap服务通过kerberos权限验证;
所述配置sparkSQL thriftserver服务集成Hive llap服务,包括在spark配置项`Advanced spark2-env`中的配置方式,即直接在线打包模式或上传jar到服务器直接加载jar模式;
配置方式包括对spark_thrift_cmd_opts参数的配置;
所述配置sparkSQL thriftserver代理用户到Hive llap服务中,包括在spark配置项中的设置方式;
主要是对spark.sql.hive.hiveserver2.jdbc.url参数及Run as end user insteadof Hive user参数的配置内容;
所述配置sparkSQL thriftserver集成Hive llap服务通过kerberos权限验证,包括在spark配置项中的配置内容及在hive配置项中的配置内容。
2.根据权利要求1所述的方法,其特征在于,
在spark配置项中的配置内容,包括`Custom spark2-thrift-sparkconf`中的内容,包括,spark.hadoop.hive.llap.daemon.service.hosts参数、spark.hadoop.hive.zookeeper.quorum参数、spark.sql.hive.hiveserver2.jdbc.url.principal参数。
3.根据权利要求2所述的方法,其特征在于,
在hive配置项中的配置内容,进一步包括`Custom hive-interactive-site`及其他配置参数项,包括,hive.llap.daemon.service.hosts参数、hive.zookeeper.quorum参数、hive.server2.authentication.kerberos.principal参数、hive.llap.task.keytab.file参数、hive.llap.task.principal参数。
4.根据权利要求3所述的方法,其特征在于,
具体操作步骤为:
首先, hive llap与Ranger服务相结合,使用Ranger控制Hive,进行配置并启动Hivellap服务;
其次,配置相关的参数,并集成第三方的驱动spark-llap.jar,达到SparkSQLthriftserver服务首先对接的为Hive llap服务,并开启sparkSQL thriftserver服务的代理用户功能,使用户信息代理到Hive llap服务中,使Hive llap服务对用户进行Ranger鉴权功能;
最后,通过配置相关的参数,在SparkSQL thriftserver服务端直接进行输入想要查询的SQL后,进行权限通过校验;
如果权限校验通过,则进行在sparkSQL thriftserver产生相对应的任务并执行,最终返回查询结果;如果权限校验不通过,则在sparkSQL thriftserver端进行返回权限校验失败的提示内容。
CN201910444799.6A 2019-05-27 2019-05-27 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法 Active CN110175164B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910444799.6A CN110175164B (zh) 2019-05-27 2019-05-27 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910444799.6A CN110175164B (zh) 2019-05-27 2019-05-27 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法

Publications (2)

Publication Number Publication Date
CN110175164A CN110175164A (zh) 2019-08-27
CN110175164B true CN110175164B (zh) 2023-04-07

Family

ID=67695892

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910444799.6A Active CN110175164B (zh) 2019-05-27 2019-05-27 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法

Country Status (1)

Country Link
CN (1) CN110175164B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339524A (zh) * 2020-02-26 2020-06-26 浪潮软件股份有限公司 多租户权限控制方法及装置
CN114896584B (zh) * 2022-07-13 2022-10-11 杭州比智科技有限公司 一种Hive数据权限控制代理层方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018125250A1 (en) * 2016-12-31 2018-07-05 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing
CN109145041A (zh) * 2018-07-18 2019-01-04 北京云星宇交通科技股份有限公司 一种数据访问方法及系统
CN109309686A (zh) * 2018-11-01 2019-02-05 浪潮软件集团有限公司 一种多租户管理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018125250A1 (en) * 2016-12-31 2018-07-05 Intel Corporation Systems, methods, and apparatuses for heterogeneous computing
CN109145041A (zh) * 2018-07-18 2019-01-04 北京云星宇交通科技股份有限公司 一种数据访问方法及系统
CN109309686A (zh) * 2018-11-01 2019-02-05 浪潮软件集团有限公司 一种多租户管理方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于Web服务技术透明访问网络数据库;罗勇为;《陕西科技大学学报》;20060625(第03期);全文 *

Also Published As

Publication number Publication date
CN110175164A (zh) 2019-08-27

Similar Documents

Publication Publication Date Title
US9946895B1 (en) Data obfuscation
US7698445B2 (en) Client agents for obtaining attributes from unavailable clients
US11962511B2 (en) Organization level identity management
US7509497B2 (en) System and method for providing security to an application
US20190109857A1 (en) Securing cloud drives using environment-aware security tokens
US11855992B2 (en) Service-to-service role mapping systems and methods
US11290446B2 (en) Access to data stored in a cloud
US11048823B2 (en) Secure file sharing over multiple security domains and dispersed communication networks
US11888980B2 (en) Stateless service-mediated security module
US20140280260A1 (en) Method, apparatus, and computer-readable medium for data tokenization
WO2021013033A1 (zh) 文件操作方法、装置、设备、系统及计算机可读存储介质
JP2020053091A (ja) 個人番号管理装置、個人番号管理方法、および個人番号管理プログラム
JP2016507839A (ja) アクセス制御のための自由形式メタデータの使用
CN110175164B (zh) 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
US9479492B1 (en) Authored injections of context that are resolved at authentication time
US10496840B1 (en) Recommending security controls for similar data
Benantar et al. Access control systems: From host-centric to network-centric computing
US11809589B2 (en) Secure data structure for database system
US20230208634A1 (en) Key management method and apparatus
US20230370473A1 (en) Policy scope management
Ye et al. Providing Access Control through Program Transformation
NZ618683B2 (en) Access control to data stored in a cloud

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 271000 Langchao science and Technology Park, 527 Dongyue street, Tai'an City, Shandong Province

Applicant after: INSPUR SOFTWARE Co.,Ltd.

Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong

Applicant before: INSPUR SOFTWARE Co.,Ltd.

GR01 Patent grant
GR01 Patent grant