CN109145041A - 一种数据访问方法及系统 - Google Patents

一种数据访问方法及系统 Download PDF

Info

Publication number
CN109145041A
CN109145041A CN201810791231.7A CN201810791231A CN109145041A CN 109145041 A CN109145041 A CN 109145041A CN 201810791231 A CN201810791231 A CN 201810791231A CN 109145041 A CN109145041 A CN 109145041A
Authority
CN
China
Prior art keywords
data
access
llap
ranger
demons
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.)
Pending
Application number
CN201810791231.7A
Other languages
English (en)
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.)
Beijing Yun Xingyu Transport Science And Techonologies Inc Co
Original Assignee
Beijing Yun Xingyu Transport Science And Techonologies Inc Co
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 Beijing Yun Xingyu Transport Science And Techonologies Inc Co filed Critical Beijing Yun Xingyu Transport Science And Techonologies Inc Co
Priority to CN201810791231.7A priority Critical patent/CN109145041A/zh
Publication of CN109145041A publication Critical patent/CN109145041A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了数据访问方法及系统,应用于Spark,所述Spark集成有LLAP守护程序;所述方法包括:接收数据查询语句;利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则;利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划;利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。本发明中Spark利用集成的LLAP守护程序去读取数据,并通过Apache Ranger对LLAP守护程序实施访问权限控制,进而能够实现Spark的数据细粒度访问的权限控制,保障Spark对数据的细粒度访问的安全性。

Description

一种数据访问方法及系统
技术领域
本发明涉及数据查询挖掘领域,并且更具体地,涉及数据访问方法及系统。
背景技术
Spark是UC Berkeley AMP lab(加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce通用并行框架,在通用的分布式计算场景中发挥着十分重要的作用。
目前,Spark支持市场上大多数的主流编程语言,如Python,Scala,Java和R语言等。当Spark用作通用计算框架时,和当使用Java/Scala/Python来表达不能封装在SQL语句中的逻辑业务时,更适合于使用Spark来执行数据查询。但是,Spark是使用Kerberos进行身份验证,并通过SSL进行加密,这种方式下授权操作只能通过HDFS ACL来进行。当应用于具有列和行的结构化模式时,同一数据表中的数据可能属于两个不同的组,每组均具有自己的权限要求,数据也可能有区域访问的权限要求、基于时间的可用性访问权限要求、部门访问权限要求等,而Spark却无法提供这样细粒度的权限控制,使得Spark对数据进行细粒度访问时的安全性较差;而目前Spark并没有内置的授权子系统,如果通过外部系统来进行数据细粒度访问的权限控制,则系统复杂度较高,灵活性较差,且处理性能与效率较低,并不具有实用价值。
因此,目前迫切需要一种数据访问方案,能够以简单灵活的方式,来保障Spark对数据的细粒度访问时的安全性。
发明内容
有鉴于此,本发明提供了一种数据访问方法及系统,以解决目前缺少一种切实有效的数据访问方案,能够以简单灵活的方式,来保障Spark对数据的细粒度访问时的安全性的技术问题。
为实现上述目的,本发明提供如下技术方案:
一种数据访问方法,应用于Spark,所述Spark集成有LLAP守护程序;所述方法包括:
接收数据查询语句;
利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则;
利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划;
利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。
优选的,所述利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则包括:
利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则。
优选的,所述利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划包括:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限;
当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序,读取所述数据对象;
当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据对象。
优选的,所述根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限包括:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据行和/或数据列是否具有相应的读取权限。
优选的,所述方法还包括:
利用Ranger管理后台,在Ranger中配置所述访问控制规则。
一种数据访问系统,应用于Spark,所述Spark集成有LLAP守护程序;所述系统包括:
查询语句接收模块,用于接收数据查询语句;
访问规则获取模块,用于利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则;
查询计划获取模块,用于利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划;
数据访问控制模块,用于利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。
优选的,所述访问规则获取模块具体用于:
利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则。
优选的,所述数据访问控制模块包括:
读取权限确定子模块,用于根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限;
数据访问控制子模块,用于当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序,读取所述数据对象;当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据对象。
优选的,所述读取权限确定子模块具体用于:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据行和/或数据列是否具有相应的读取权限。
优选的,所述系统还包括:
访问规则配置模块,用于利用Ranger管理后台,在Ranger中配置所述访问控制规则。
从上述的技术方案可以看出,本发明提供的数据访问方法及系统,应用于Spark,所述Spark集成有LLAP守护程序,首先接收数据查询语句,并利用Apache Ranger LLAP插件获取Ranger中存储的访问控制规则,利用所述LLAP守护程序获取所述数据查询语句对应的数据访问计划,再利用所述LLAP守护程序,根据所述访问控制规则执行所述数据访问计划,其中,通过Spark与LLAP的紧密结合,利用LLAP守护程序去读取数据,并通过Apache Ranger对LLAP守护程序实施访问权限控制,进而能够实现Spark对数据进行细粒度访问时的安全权限控制,保障Spark对数据的细粒度访问的安全性。
并且,本发明将LLAP守护程序直接集成到Spark中,通过Apache Ranger实现对LLAP的数据访问权限的控制,进而实现对Spark的数据细粒度访问的权限控制,相较于通过外部系统来对Spark进行数据细粒度访问的权限控制,本发明方案实现起来更简单,灵活性更强,而且具有较高的数据处理性能,处理速度更快等优点,还能有效地提高处理卸载、IO优化、缓存质量等性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的数据访问方法的一种流程图;
图2为本申请实施例提供的数据访问方法的另一种流程图;
图3为本申请实施例提供的数据访问过程的业务流程示例图;
图4为本申请实施例提供的数据访问系统的一种结构示意图;
图5为本申请实施例提供的数据访问系统的另一种结构示意图。
具体实施方式
现在参考附图介绍本发明的示例性实施方式,然而,本发明可以用许多不同的形式来实施,并且不局限于此处描述的实施例,提供这些实施例是为了详尽地且完全地公开本发明,并且向所属技术领域的技术人员充分传达本发明的范围。对于表示在附图中的示例性实施方式中的术语并不是对本发明的限定。在附图中,相同的单元/元件使用相同的附图标记。
除非另有说明,此处使用的术语(包括科技术语)对所属技术领域的技术人员具有通常的理解含义。另外,可以理解的是,以通常使用的词典限定的术语,应当被理解为与其相关领域的语境具有一致的含义,而不应该被理解为理想化的或过于正式的意义。
现有的Spark无法定义包含精细粒度授权的指令集控制模块,这不仅不利于数据的查询挖掘,而且在很大程度上威胁着数据细粒度访问的安全性。如果通过外部系统来对Spark进行数据细粒度访问的权限控制,复杂度较高,灵活性较差,且处理性能与效率较低,并不具有实用价值。
为了解决上述问题,本发明提供的数据访问方法及系统,应用于Spark,所述Spark集成有LLAP守护程序,即Spark与LLAP相结合。LLAP(Live Long and Process)是ApacheHive2.0中的新增功能,它提供了一个高级的执行模式,并由一个替代直接与HDFS(Hadoop分布式文件系统)的DataNode交互的长久守护进程和一个紧密集成的DAG(DirectedAcyclic Graph,有向无环图)框架组成。LLAP守护程序中加入了缓存、预抓取、查询过程和访问控制等功能。通常情况下,短小的查询由LLAP守护程序执行,大的重的操作则由YARN(Yet Another Resource Negotiator,另一种资源协调者)的container来执行。与HDFS中的DataNode相类似,LLAP守护程序也可以被其他程序所使用,并且,LLAP守护程序中也开发了相应的API接口,从而可以让其它程序来集成LLAP守护程序。
在Spark没有与LLAP结合之前,Spark直接从HDFS读取数据,以此方式为用户提供数据统计、挖掘及查询等服务,但这种方式并不能实现数据细粒度访问的权限控制;在Spark与LLAP结合之后,通过LLAP为Spark提供数据读取服务,Spark并不会直接从HDFS读取数据,而是利用LLAP守护程序从HDFS读取数据,在利用LLAP守护程序读取数据时,便可以借助Ranger LLAP插件来对LLAP守护程序的进行细粒度的数据访问权限控制,进而实现面向Spark的数据细粒度访问的权限控制,并且实现方式简单、灵活,处理性能及效率较高。
请参阅图1,图1为本申请实施例提供的数据访问方法的一种流程图。
本实施例的数据访问方法,应用于Spark,所述Spark集成有LLAP守护程序。
如图1所示,所述方法包括:
在步骤110,接收数据查询语句。
Spark接收数据查询语句,并与LLAP守护进程进行通信,以获取与所述数据查询语句对应的访问权限模式与所处的查询计划。
在步骤120,利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则。
Apache Ranger是一种集中授权管理系统,Apache Ranger LLAP插件,可以检查Ranger中存储的安全策略,获取到相应的访问控制规则,并告知Spark允许访问哪些数据。Spark通过LLAP守护程序进行鉴权,最终从LLAP守护程序读取到所要访问的数据。
在步骤130,利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划。
在步骤140,利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。
若所述访问控制规则表明允许所述数据访问计划可以执行,则执行所述数据访问计划;否则,禁止执行所述数据访问计划。
LLAP是与HDFS数据节点服务协同工作的长寿命守护进程的集合,并且LLAP是可选的和模块化的,因此,配置人员可以选择将其打开或关闭。同时,LLAP也是实施细粒度安全权限访问控制的自然场所,能保证数据的细粒度访问安全性。
本实施例提供的数据访问方法,应用于Spark,所述Spark集成有LLAP守护程序,首先接收数据查询语句,并利用Apache Ranger LLAP插件获取Ranger中存储的访问控制规则,利用所述LLAP守护程序获取所述数据查询语句对应的数据访问计划,再利用所述LLAP守护程序,根据所述访问控制规则执行所述数据访问计划,其中,通过Spark与LLAP的紧密结合,利用LLAP守护程序去读取数据,并通过Apache Ranger对LLAP守护程序实施访问权限控制,进而能够实现Spark的数据细粒度访问的权限控制,保障Spark对数据的细粒度访问的安全性。
并且,本发明将LLAP守护程序直接集成到Spark中,通过Apache Ranger实现对LLAP的数据访问权限的控制,进而实现对Spark的数据细粒度访问的权限控制,相较于通过外部系统来对Spark进行数据细粒度访问的权限控制,本发明方案实现起来更简单,灵活性更强,而且具有较高的数据处理性能,处理速度更快等优点,还能有效地提高处理卸载、IO优化、缓存质量等性能。
请参阅图2~3,图2为本申请实施例提供的数据访问方法的另一种流程图。
如图2所示,所述方法包括:
在步骤210,接收数据查询语句。
如图3所示,Spark Client(Spark客户端)从HiveServer2获取数据位置。SparkClient中包括LlapContent。其中,HiveServer2提供Authorization(授权)服务。
在步骤220,利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则。
Ranger允许创建以下安全策略:HDFS-Yarn-Spark-HBase-Kafka-Storm-Solr-Atlas-Knox,上述每项服务都通过一个插件来与Ranger集成,该插件提供最新的安全策略,缓存这些策略,然后在运行时应用这些安全策略。
Apache Ranger LLAP插件,检查Ranger中缓存的安全策略,并告诉Spark允许访问哪些行和/或列,其中,HiveServer2使用Ranger Server授权访问,Ranger Server(RangerServer服务)提供Dynamic Policies(动态安全策略)。
在步骤230,利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划。
Spark Client基于动态安全策略从HiveServer2获取查询计划(即,数据访问计划),并可为每个用户提供全部动态的访问控制。
在步骤240,根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限。
在步骤250,当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序,读取所述数据对象。
在步骤260,当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据对象。
如图3所示,Spark Client通过LLAP守护程序来读取数据,LLAP守护程序可实现Data Read、Filter和Pushdown(数据的读取、过滤或屏蔽)。Hive MetaStore(元数据存储)提供Data Location View Definitions(数据位置视图定义)。Hive是一个基于Hadoop文件系统之上的数据仓库架构。
其中,数据对象可以是指数据行和/或数据列,相应的,所述步骤240可包括:根据所述访问控制规则,确定所述数据查询语句请求访问的数据行和/或数据列是否具有相应的读取权限。当所述数据查询语句请求访问的数据行和/或数据列不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据行和/或数据列,并可以同时向Spark抛出授权异常。
一示例中,所述方法还包括:利用Ranger管理后台,在Ranger中配置所述访问控制规则。
为了实现动态、灵活的细粒度的安全访问控制,本发明仅需要在Ranger中配置所述访问控制规则便可,而无需在数据上创建任何类型的视图抽象。
其中,还可以使用标准的Ranger工具,来进行访问控制规则的制定。
本实施例提供的数据访问方法,应用于Spark,所述Spark集成有LLAP守护程序,首先接收数据查询语句,并利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则,利用所述LLAP守护程序获取所述数据查询语句对应的数据访问计划,并根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限,当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序读取所述数据对象,当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时禁止读取所述数据对象,通过LLAP守护进程与Apache Ranger实现了Spark的数据细粒度访问的权限控制,保障Spark对数据的细粒度访问的安全性。
Ranger还提供了应用行级安全性的能力。使用行级安全策略,可以防止用户看到表中的某些没有权限访问的数据行,但仍能访问那些不受策略限制的所有数据行。比如财务经理应该只能看到分配给他们自己的客户的情况。来自Ranger的行级策略将指示Spark返回包含谓词的查询计划。该谓词过滤掉未分配给财务经理权限的所有客户数据。Spark接收修改后的查询计划,启动处理,通过LLAP守护程序读取数据。LLAP确保应用谓词,并且不返回限制行。通过这样一系列精细粒度的安全权限访问控制功能,Spark现在可以通过Thrift服务器直接暴露于BI(Business Intelligence,商业智能)工具之中,使得业务数据分析师可以很简单方便地掌握Apache Spark的强大功能。其中,Thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。
Spark在集成了LLAP守护程序的功能后,从性能和安全性上有了大幅提高,精细化的安全权限访问控制,将有助于业务人员更加方便地使用Spark,也有助于数据的收集,以及大数据的分析及其业务的发展。
本发明实施例还提供了数据访问系统,所述数据访问系统用于实现本发明实施例提供的数据访问方法,下文描述的数据访问系统的技术内容,可与上文描述的数据访问方法的技术内容与相互对应参照。
请参阅图4,图4为本申请实施例提供的数据访问系统的一种结构示意图。
如图4所示,所述系统包括:
查询语句接收模块310,用于接收数据查询语句;
访问规则获取模块320,用于利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则;
查询计划获取模块330,用于利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划;
数据访问控制模块340,用于利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。
本实施例提供的数据访问系统,应用于Spark,所述Spark集成有LLAP守护程序,首先接收数据查询语句,并利用Apache Ranger LLAP插件获取Ranger中存储的访问控制规则,利用所述LLAP守护程序获取所述数据查询语句对应的数据访问计划,再利用所述LLAP守护程序,根据所述访问控制规则执行所述数据访问计划,其中,通过Spark与LLAP的紧密结合,利用LLAP守护程序去读取数据,并通过Apache Ranger对LLAP守护程序实施访问权限控制,进而能够实现Spark的数据细粒度访问的权限控制,保障Spark对数据的细粒度访问的安全性。
请参阅图5,图5为本申请实施例提供的数据访问系统的另一种结构示意图。
如图5所示,本实施例提供的数据访问系统,除了包括前述实施例中的查询语句接收模块310,访问规则获取模块320,查询计划获取模块330,数据访问控制模块340。
其中,所述访问规则获取模块320具体用于:
利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则。
其中,所述数据访问控制模块340包括:
读取权限确定子模块,用于根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限;
数据访问控制子模块,用于当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序,读取所述数据对象;当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据对象。
其中,所述读取权限确定子模块341具体用于:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据行和/或数据列是否具有相应的读取权限。
一示例中,所述系统还包括:
访问规则配置模块350,用于利用Ranger管理后台,在Ranger中配置所述访问控制规则。
本实施例提供的数据访问系统,应用于Spark,所述Spark集成有LLAP守护程序,首先接收数据查询语句,并利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则,利用所述LLAP守护程序获取所述数据查询语句对应的数据访问计划,并根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限,当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序读取所述数据对象,当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时禁止读取所述数据对象,通过LLAP守护进程与Apache Ranger实现了Spark的数据细粒度访问的权限控制,保障Spark对数据的细粒度访问的安全性。
前面已经通过参考少量实施方式描述了本发明。然而,本领域技术人员所公知的,正如附带的专利权利要求所限定的,除了本发明以上公开的其他的实施例等同地落在本发明的范围内。
通常地,在权利要求中使用的所有术语都根据他们在技术领域的通常含义被解释,除非在其中被另外明确地定义。所有的参考“一个/所述/该[装置、组件等]”都被开放地解释为所述装置、组件等中的至少一个实例,除非另外明确地说明。这里公开的任何方法的步骤都没必要以公开的准确的顺序运行,除非明确地说明。

Claims (10)

1.一种数据访问方法,其特征在于,应用于Spark,所述Spark集成有LLAP守护程序;所述方法包括:
接收数据查询语句;
利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则;
利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划;
利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。
2.如权利要求1所述的方法,其特征在于,所述利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则包括:
利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则。
3.如权利要求1所述的方法,其特征在于,所述利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划包括:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限;
当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序,读取所述数据对象;
当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据对象。
4.如权利要求3所述的方法,其特征在于,所述根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限包括:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据行和/或数据列是否具有相应的读取权限。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
利用Ranger管理后台,在Ranger中配置所述访问控制规则。
6.一种数据访问系统,其特征在于,应用于Spark,所述Spark集成有LLAP守护程序;所述系统包括:
查询语句接收模块,用于接收数据查询语句;
访问规则获取模块,用于利用Apache Ranger LLAP插件,获取Ranger中存储的访问控制规则;
查询计划获取模块,用于利用所述LLAP守护程序,获取所述数据查询语句对应的数据访问计划;
数据访问控制模块,用于利用所述LLAP守护程序,根据所述访问控制规则,执行所述数据访问计划。
7.如权利要求6所述的方法,其特征在于,所述访问规则获取模块具体用于:
利用Apache Ranger LLAP插件,通过Ranger Rest Api接口,读取Ranger中存储的访问控制规则。
8.如权利要求6所述的方法,其特征在于,所述数据访问控制模块包括:
读取权限确定子模块,用于根据所述访问控制规则,确定所述数据查询语句请求访问的数据对象是否具有相应的读取权限;
数据访问控制子模块,用于当所述数据查询语句请求访问的数据对象具有相应的读取权限时,利用所述LLAP守护程序,读取所述数据对象;当所述数据查询语句请求访问的数据对象不具有相应的读取权限时,利用所述LLAP守护程序时,禁止读取所述数据对象。
9.如权利要求8所述的方法,其特征在于,所述读取权限确定子模块具体用于:
根据所述访问控制规则,确定所述数据查询语句请求访问的数据行和/或数据列是否具有相应的读取权限。
10.如权利要求6所述的方法,其特征在于,所述系统还包括:
访问规则配置模块,用于利用Ranger管理后台,在Ranger中配置所述访问控制规则。
CN201810791231.7A 2018-07-18 2018-07-18 一种数据访问方法及系统 Pending CN109145041A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810791231.7A CN109145041A (zh) 2018-07-18 2018-07-18 一种数据访问方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810791231.7A CN109145041A (zh) 2018-07-18 2018-07-18 一种数据访问方法及系统

Publications (1)

Publication Number Publication Date
CN109145041A true CN109145041A (zh) 2019-01-04

Family

ID=64801140

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810791231.7A Pending CN109145041A (zh) 2018-07-18 2018-07-18 一种数据访问方法及系统

Country Status (1)

Country Link
CN (1) CN109145041A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175164A (zh) * 2019-05-27 2019-08-27 浪潮软件股份有限公司 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
CN110519285A (zh) * 2019-08-30 2019-11-29 浙江大搜车软件技术有限公司 用户认证方法、装置、计算机设备和存储介质
CN110717192A (zh) * 2019-09-11 2020-01-21 南京工业职业技术学院 基于Key-Value加速器的面向大数据安全的访问控制方法
CN110740122A (zh) * 2019-09-11 2020-01-31 苏宁云计算有限公司 一种提高数据仓库安全性的方法、装置
CN111339524A (zh) * 2020-02-26 2020-06-26 浪潮软件股份有限公司 多租户权限控制方法及装置
CN111382421A (zh) * 2020-03-19 2020-07-07 深信服科技股份有限公司 一种业务访问控制方法、系统及电子设备和存储介质
CN111523098A (zh) * 2020-04-15 2020-08-11 支付宝(杭州)信息技术有限公司 数据权限管理方法及装置
CN112948884A (zh) * 2021-03-25 2021-06-11 中国电子科技集团公司第三十研究所 一种对应用级用户实施大数据访问控制的方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622211A (zh) * 2017-09-27 2018-01-23 浪潮软件股份有限公司 一种大数据集群权限访问控制方法及装置
CN107885779A (zh) * 2017-10-12 2018-04-06 北京人大金仓信息技术股份有限公司 一种Spark并行访问MPP数据库的方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107622211A (zh) * 2017-09-27 2018-01-23 浪潮软件股份有限公司 一种大数据集群权限访问控制方法及装置
CN107885779A (zh) * 2017-10-12 2018-04-06 北京人大金仓信息技术股份有限公司 一种Spark并行访问MPP数据库的方法

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
ANDREW SEARS, PRASANTH J: "LLAP", 《HTTPS://CWIKI.APACHE.ORG/CONFLUENCE/DISPLAY/HIVE/LLAP *
JINLONG_AN: "LLAP", 《HTTPS://BLOG.CSDN.NET/SMILE0198/ARTICLE/DETAILS/52334363,CSDN博客》 *
MAANAK GUPTA, ET AL.: "Multi-Layer Authorization Framework for a Representative Hadoop Ecosystem Deployment", 《 THE 22ND ACM ON SYMPOSIUM ON ACCESS CONTROL MODELS AND TECHNOLOGIES》 *
WHOAMI: "sparksql-ranger-column-level-security-masking", 《HTTP://WWW.ITWEET.CN/2017/07/03/SPARKSQL-RANGER-COLUMN-LEVEL-SECURITY-MASKING/》 *
WHOAMI: "简介Apache Spark的行-列级的访问权限", 《HTTP://WWW.ITWEET.CN/2017/06/04/%E7%AE%80%E4%BB%8BAPACHE-SPARK%E7%9A%84%E8%A1%8C-%E5%88%97%E7%BA%A7%E7%9A%84%E8%AE%BF%E9%97%AE%E6%9D%83%E9%99%90/》 *
掘金: "SPARKSQL, RANGER, AND LLAP通过SPARK THRIFT SERVER 为BI方案提供行/列级安全", 《HTTPS://JUEJIN.IM/ENTRY/595A40D85188250D914DC7CD》 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110175164A (zh) * 2019-05-27 2019-08-27 浪潮软件股份有限公司 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
CN110175164B (zh) * 2019-05-27 2023-04-07 浪潮软件股份有限公司 一种SparkSQL thriftserver查询及操作Hive的权限控制的方法
CN110519285A (zh) * 2019-08-30 2019-11-29 浙江大搜车软件技术有限公司 用户认证方法、装置、计算机设备和存储介质
CN110717192A (zh) * 2019-09-11 2020-01-21 南京工业职业技术学院 基于Key-Value加速器的面向大数据安全的访问控制方法
CN110740122A (zh) * 2019-09-11 2020-01-31 苏宁云计算有限公司 一种提高数据仓库安全性的方法、装置
CN110740122B (zh) * 2019-09-11 2022-06-07 苏宁云计算有限公司 一种提高数据仓库安全性的方法、装置
CN111339524A (zh) * 2020-02-26 2020-06-26 浪潮软件股份有限公司 多租户权限控制方法及装置
CN111382421A (zh) * 2020-03-19 2020-07-07 深信服科技股份有限公司 一种业务访问控制方法、系统及电子设备和存储介质
CN111382421B (zh) * 2020-03-19 2024-04-09 深信服科技股份有限公司 一种业务访问控制方法、系统及电子设备和存储介质
CN111523098A (zh) * 2020-04-15 2020-08-11 支付宝(杭州)信息技术有限公司 数据权限管理方法及装置
CN112948884A (zh) * 2021-03-25 2021-06-11 中国电子科技集团公司第三十研究所 一种对应用级用户实施大数据访问控制的方法和系统
CN112948884B (zh) * 2021-03-25 2022-12-09 中国电子科技集团公司第三十研究所 一种对应用级用户实施大数据访问控制的方法和系统

Similar Documents

Publication Publication Date Title
CN109145041A (zh) 一种数据访问方法及系统
Ulusoy et al. GuardMR: Fine-grained security policy enforcement for MapReduce systems
Ferrari Access control in data management systems
Jain et al. Differential privacy: its technological prescriptive using big data
US8326872B2 (en) Database sandbox
US20170091279A1 (en) Architecture to facilitate organizational data sharing and consumption while maintaining data governance
EP1564620A1 (en) Systems and methods that optimize row level database security
US20210141920A1 (en) Dynamic view for implementing data access control policies
Marzoev et al. Towards multiverse databases
Jahid et al. MyABDAC: compiling XACML policies for attribute-based database access control
EP4208807A1 (en) Enforcement flow for pipelines that include entitlements
US10257201B2 (en) Management of service accounts
CN110135184A (zh) 一种静态数据脱敏的方法、装置、设备及存储介质
Miege Definition of a formal framework for specifying security policies. The Or-BAC model and extensions.
US8732847B2 (en) Access control model of function privileges for enterprise-wide applications
Wolfengagen et al. Computational model of the tangled web
US20160217295A1 (en) Trusted function based data access security control
Moreno et al. A security pattern for key-value NoSQL database authorization
Ye et al. Improving web service security and privacy
EP4264469A1 (en) Identification of permutations of permission groups having lowest scores
Preuveneers et al. SparkXS: Efficient access control for intelligent and large-scale streaming data applications
Osborn et al. Issues in access control and privacy for big data
Periyasamy et al. Big Data Systems Architecture and Data Security Fundamentals—Case Study Approach for a Hospital in Singapore
Di Cerbo et al. A declarative data protection approach: from human-readable policies to automatic enforcement
Mauri et al. Developing with Azure SQL–Advanced

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190104