CN113076552B - 一种hdfs资源的访问权限校验方法、装置及电子设备 - Google Patents

一种hdfs资源的访问权限校验方法、装置及电子设备 Download PDF

Info

Publication number
CN113076552B
CN113076552B CN202010008620.5A CN202010008620A CN113076552B CN 113076552 B CN113076552 B CN 113076552B CN 202010008620 A CN202010008620 A CN 202010008620A CN 113076552 B CN113076552 B CN 113076552B
Authority
CN
China
Prior art keywords
node
parameter
resource node
hdfs
target resource
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
CN202010008620.5A
Other languages
English (en)
Other versions
CN113076552A (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.)
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Group Guangdong 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 China Mobile Communications Group Co Ltd, China Mobile Group Guangdong Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010008620.5A priority Critical patent/CN113076552B/zh
Publication of CN113076552A publication Critical patent/CN113076552A/zh
Application granted granted Critical
Publication of CN113076552B publication Critical patent/CN113076552B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Landscapes

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

Abstract

本发明公开了一种HDFS资源的访问权限校验方法、装置及电子设备,用于解决现有校验方案耗时长、效率低下的问题。该方法包括:接收用户对目标资源节点的访问请求,在该用户与目标资源节点和/或目标资源节点的父节点的所有者一致时,依次对目标资源节点的祖先节点、父节点、本节点和子节点执行指定校验步骤,直到该步骤的校验结果为不通过,或直到对目标资源节点的全部子节点执行该步骤,该步骤包括:调用Ranger校验进行校验,若Ranger返回无法确认,则调用HDFS进行校验,并将HDFS的权限校验函数中第一参数、第二参数和第三参数的赋值设为空,这三个参数分别为本次被校验节点的祖先节点、父节点和子节点的校验操作参数。

Description

一种HDFS资源的访问权限校验方法、装置及电子设备
技术领域
本发明实施例涉及无线通信技术领域,尤其涉及一种HDFS资源的访问权限校验方法、装置及电子设备。
背景技术
Hadoop平台是一个开源框架,可用来编写和运行分布式应用,以处理大规模数据,该平台包括HDFS、HBase、Hive、Storm、Spark和Ranger等技术组件。其中,HDFS是Hadoop平台中的分布式文件***,提供基础的数据存储服务。Ranger是Hadoop平台中的权限管理组件,用于支撑、监控和管理整个Hadoop平台的数据安全。Ranger常以插件的形式为用户访问HDFS资源提供鉴权服务。
由于除了Ranger鉴权,HDFS还有自己的访问权限控制策略,因此在启用Ranger插件对访问HDFS资源(文件或文件目录,可简称为资源节点)的用户(或用户组)进行鉴权时,存在Ranger插件中配置了鉴权策略和未配置鉴权策略两种情况。每当客户端发起访问HDFS资源的访问请求时,Ranger插件都会判断是否针对请求访问的HDFS资源配置了Ranger鉴权策略,如果配置了,则根据Ranger插件中配置的鉴权策略判断用户是否有访问该HDFS资源的权限;否则,根据HDFS自己的访问权限控制策略来判断。
但是,申请人发现,在HDFS启用了Ranger插件但未配置Ranger鉴权策略的情况下,如果文件目录结构较深和/或文件目录中的文件个数较多,则鉴权过程所需的时间较长,导致访问HDFS中的文件的效率严重降低。
发明内容
本发明实施例提供一种HDFS资源的访问权限校验方法、装置及电子设备,用于解决现有的HDFS资源的访问权限校验方案耗时长、效率低下的问题。
本发明实施例采用下述技术方案:
第一方面,提供了一种HDFS资源的访问权限校验方法,包括:
接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
若一致,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
第二方面,提供了一种HDFS资源的访问权限校验装置,包括:
请求接收模块,用于接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
第一判断模块,用于基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
校验模块,用于在所述第一判断模块获得的校验结果为是时,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
第三方面,提供了一种电子设备,包括:
存储器,存储有计算机程序指令;
处理器,当所述计算机程序指令被所述处理器执行时实现如第一方面所述的HDFS资源的访问权限校验方法。
第四方面,提供了一种计算机可读存储介质,
所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如第一方面所述的HDFS资源的访问权限校验方法。
本发明实施例采用的上述至少一个技术方案能够达到以下有益效果:由于在依次对目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点的访问权限进行校验时,将HDFS的权限校验函数中的第一参数(本次被校验节点的祖先节点的校验操作参数)、第二参数(本次被校验节点的父节点的校验操作参数)和第三参数(本次被校验节点的子节点的校验操作参数)的赋值设为了空,而不是空值。这样在调用缺省的HDFS的权限校验函数时,可以有效减少参与鉴权匹配的计算,其不再需要针对那些与本次被校验节点不相关的节点去进行鉴权匹配的操作,从而大大缩短了校验耗时,提高了校验效率。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本说明书的一个实施例提供的一种HDFS资源的访问权限校验方法的实现流程示意图。
图2为本说明书的一个实施例提供的HDFS资源的访问权限校验方法的流程示意图。
图3为本说明书的一个实施例提供的HDFS资源的访问权限校验方法的详细流程示意图。
图4为相关技术中的HDFS资源的访问权限校验方法的访问延时测试结果。
图5为本说明书的实施例提供的HDFS资源的访问权限校验方法的访问延时测试结果。
图6为本说明书的一个实施例提供的一种HDFS资源的访问权限校验装置的结构示意图.
图7为本说明书的另一个实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为解决现有的HDFS资源的访问权限校验方案耗时长、效率低下的问题,本说明书实施例提供一种HDFS资源的访问权限校验方法。本说明书实施例提供的方法的执行主体可以但不限于个人电脑、服务器等能够被配置为执行本发明实施例提供的该方法装置中的至少一种。
本说明书实施例提供的方法及装置,可以应用于访问分布式文件***HDFS,该HDFS中安装有Ranger插件,Ranger插件用于为用户访问HDFS资源提供鉴权服务。
下面先结合图1,对启用了Ranger插件的HDFS中的资源的访问权限校验流程进行说明。其中,HDFS中存储的资源可以简称为HDFS资源。
作为一个例子,在本说明书实施例中:
(1)HDFS的鉴权实现是通过实现抽象类I Node Attribute Provider中AccessControlEnforcer(访问控制器)接口的checkPermission(权限校验)方法来完成。HDFS鉴权算法的基础类为org.apache.hadoop.hdfs.server,namenode.FSPermissionChecker(Hadoop的hdfs命名空间管理节点的文件权限检查类),该类中的checkPemission()方法(权限检查方法),就是通过调用(获取外部访问控制器工厂方法)getAttributesProvider().getExternalAccessControlEnforcer(this),得到一个AccessControlEnforcer(权限访问控制器类)类实例,再调用该实例中的checkPermission()方法(权限校验方法)来完成鉴权操作。
(2)Ranger在实现HDFS的鉴权时,是由类RangerHdfsAuthorizer(权限校验框架的HDFS权限核查类)来完成的。在部署时,通过配置hdfs-site.xml文件中的dfs.namenode.inode.attributes.provider.class(文件***中命名管理节点的文件节点属性提供类)为org.apache.ranger.authorization.hadoop.RangerHdfsAuthorizer(Ranger组件的HDFS权限核查类)完成权限控制。
在一个实施例中,如图1所示,启用了Ranger插件的HDFS资源的权限校验过程,涉及到的校验主体包括:权限校验主函数11、检查是否可访问12、Ranger的权限校验主函数13、HDFS的权限校验器14和HDFS的权限校验主函数15。在此基础上,在接收到用户访问HDFS中的目标资源节点的请求后,启用了Ranger插件的HDFS中的资源的访问权限校验流程,可以包括:
步骤101、权限校验主函数11穿越目录检查该用户是否可访问目标资源节点。
步骤102、检查该用户与第一资源节点的所有者是否一致(检查节点用户一致性(checkStickyBit)),其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点。
具体实现时,可以通过调用HDFS的getFsPermission()方法,检查本次请求访问的用户是否为目标资源节点的父节点(要求有写权限)和/或者目标资源节点本身的所有者(Owner)。当本次请求访问的用户与第一资源节点(被访问文件或目录)所属的用户组一致时,并且本次请求访问的用户对第一资源节点也有对应的操作权限(如,若本次请求为新建目标资源节点,则需要具备针对目标资源节点的父节点的写权限,若本次请求为对目标资源节点进行操作,则需要具备对目标资源节点的读、写和执行中的至少一种权限),则本次鉴权通过,继续后续的校验过程,否则本次鉴权没有通过,则结束校验,并向用户返回校验不通过的校验结果。
步骤103、权限校验主函数11校验该用户是否具有访问目标资源节点的祖先节点的权限(checkAncestorAccess)。
具体而言,在目标资源节点的祖先节点(ancestorAccess/ancestor)非空时,执行步骤103,其中,祖先节点非空表示需要对目标资源节点的祖先节点进行访问权限校验。
作为一个例子,步骤103具体可以包括:步骤1031、权限校验主函数11调用Ranger的权限校验函数(如isAccessAllowed(ancestor))13对该用户访问目标资源节点的祖先节点的权限进行校验,若Ranger的权限校验函数13返回的结果为无法确认(NOT_DETERMINED),执行步骤1032;步骤1032、权限校验主函数11调用HDFS的权限校验器14对该用户访问目标资源节点的祖先节点的权限进行校验。具体的,HDFS的权限校验器14会调用HDFS的权限校验主函数(如checkDefaultEnforcer方法)15进行校验,其中,调用checkDefaultEnforcer方法时,对其中的参数FsAction ancestorAccess进行赋值,以要求利用缺省的鉴权方法去校验本次请求是否具有访问目标资源节点的祖先节点的权限。
如果步骤103得出的校验结果为通过(Allow),则执行步骤104;如果步骤103得出的校验结果为不通过(DENY),则结束校验,并向所述用户返回校验不通过的校验结果。
步骤104、权限校验主函数11校验该用户是否具有访问目标资源节点的父节点的权限(checkParentAccess)。
具体而言,在目标资源节点的父节点(parentAccess/parent)非空时,执行步骤104,其中,父节点节点非空表示需要对目标资源节点的父节点进行访问权限校验。
作为一个例子,步骤104具体可以包括:步骤1041、权限校验主函数11调用Ranger的权限校验函数(如isAccessAllowed(parent))13对该用户访问目标资源节点的父节点的权限进行校验,若Ranger的权限校验函数13返回的结果为无法确认(NOT_DETERMINED),执行步骤1042;步骤1042、权限校验主函数11调用HDFS的权限校验器14对该用户访问目标资源节点的父节点的权限进行校验。具体的,HDFS的权限校验器14会调用HDFS的权限校验主函数(如checkDefaultEnforcer方法)15进行校验,其中,调用checkDefaultEnforcer方法时,对其中的参数FsAction parentAccess进行赋值,以要求利用缺省的鉴权方法去校验本次请求是否具有访问目标资源节点的父节点的权限。
如果步骤104得出的校验结果为通过(Allow),则执行步骤105;如果步骤104得出的校验结果为不通过(DENY),则结束校验,并向所述用户返回校验不通过的校验结果。
步骤105、权限校验主函数11校验该用户是否具有访问目标资源节点本身的权限(checkINodeAccess)。
具体而言,在目标资源节点(access/inode)非空时,执行步骤105,其中,目标资源节点非空表示需要对目标资源节点进行访问权限校验。
作为一个例子,步骤105具体可以包括:步骤1051、权限校验主函数11调用Ranger的权限校验函数(如isAccessAllowed(inode)方法)13对该用户访问目标资源节点本身的权限进行校验,若Ranger的权限校验函数13返回的结果为无法确认(NOT_DETERMINED),执行步骤1052;步骤1052、权限校验主函数11调用HDFS的权限校验器14对该用户访问目标资源节点本身的权限进行校验。具体的,HDFS的权限校验器14会调用HDFS的权限校验主函数(checkDefaultEnforcer方法)15进行校验,其中,调用checkDefaultEnforcer方法时,对其中的参数FsActionAccess进行赋值,以要求利用缺省的鉴权方法去校验本次请求是否具有访问目标资源节点本身的权限。
如果步骤105得出的校验结果为通过(Allow),则执行步骤106;如果步骤105得出的校验结果为不通过(DENY),则结束校验,并向所述用户返回校验不通过的校验结果。
步骤106、权限校验主函数11校验该用户是否具有访问目标资源节点的子节点的权限(checkSubAccess)。
具体而言,在目标资源节点的子节点(subAccess/inode)非空时,执行步骤106,其中,目标资源节点的子节点非空表示需要对目标资源节点的子节点进行访问权限校验。
作为一个例子,步骤106具体可以包括对目标资源节点的每一子节点(包括子目录下的子目录)执行下述步骤,直到对所有的子节点校验结果为通过,或直到某一子节点的校验结果为不通过:步骤1061、权限校验主函数11调用Ranger的权限校验函数(如isAccessAllowed(dir)方法)13对该用户访问目标资源节点的子节点的权限进行校验,若Ranger的权限校验函数13返回的结果为无法确认(NOT_DETERMINED),执行步骤1062;步骤1062、权限校验主函数11调用HDFS的权限校验器14对该用户访问目标资源节点的子节点的权限进行校验。具体的,HDFS的权限校验器14会调用HDFS的权限校验主函数(checkDefaultEnforcer方法)15进行校验,其中,调用checkDefaultEnforcer方法时,对其中的参数FsAction subAccess进行赋值,以要求利用缺省的鉴权方法去校验本次请求是否具有访问目标资源节点的子节点的权限。
如果步骤106得出的校验结果为通过(Allow),则执行步骤107;如果步骤107得出的校验结果为不通过,则结束校验,并向所述用户返回校验不通过的校验结果。
步骤107、权限校验主函数11校验所述用户是否是目标资源节点的所有者,若为是,向所述用户返回校验通过,否则,向用户返回校验不通过。
在步骤107中,校验参数要求检查是否是所有者的访问(checkOwnerAccess),(doCheckOwner是否为TRUE),若本次请求访问的用户与目标资源节点(inodes,本次核查文件或目录本身)的所有者(owner)相同时,确定本次鉴权的结果为通过(ALLOW)。
可以理解,在上述步骤101至步骤106中的校验结果均为通过,且在步骤107中确定本次请求访问的用户是目标资源节点的所有者时,可以向所述用户返回校验通过的校验结果;否则,向所述用户返回校验不通过的校验结果。
可选地,在步骤101至步骤107的校验结果均为通过的基础上,若权限校验方法(checkPermission方法)未抛出异常,则向用户返回校验通过(ALLOW)校验结果。
通过上述流程可以实现用户是否具有访问目标资源节点的权限的校验。
需要说明的是,在上述步骤103至步骤106中,Ranger的权限校验函数具体可以是RangerHdfsPlugin.isAccessAllowed()方法,该方法具体可以调用RangerPolicyEngine.isAccessAllowed()方法进行权限校验。其中,调用RangerHdfsPlugin.isAccessAllowed()方法进行权限校验过程如下:
首先,获取本次校验路径(或节点)所有者(pathowner)等相关信息,其中,pathowner等相关信息包括:需鉴权的对象(inode)自身的归属用户名,若本次鉴权的对象是根目录自身,需要调整路径名称为标准的目录写法(程序内部定义的一个标准常量,因为根目录可以有多种写法,统一写法后方便后续程序的判断;其次,获取请求访问的操作列表;再次,对每一操作列表,调用RangerHdfsPlugin.isAccessAllowed()方法进行校验,若返回结果为DENY,则结束校验,在返回结果不是NOT_DETERMINED也不是null时,将本次校验结果赋值为Allow;若返回null,则将校验结果赋值为NOT_DETERMINED。
当获取请求访问的操作列表中有多个操作请求时,若有任何一个操作的校验结果为校验不通过(DENY),则本次校验结果就是校验不通过(DENY);若所有的校验结果都是通过(ALLOW),则本次校验结果为通过(ALLOW);只要中间有一个是NOT_DETERMINED(无法确认是否有权限),则本次校验结果都是NOT_DETERMINED。当本次校验结果是NOT_DETERMINED时,需要调用checkDefaultEnforcer()(使用缺省权限控制器进行权限检查方法)来使用HDFS自身的访问权限校验策略进行校验。其中,缺省权限控制器即为HDFS的权限校验器,以及下文中的缺省的权限校验方法即为调用HDFS的权限校验函数进行权限校验的方法。
仔细研究图1所示的权限校验过程之后,不难发现,在分别调用HDFS的权限校验函数(缺省的权限校验函数)对目标资源节点的祖先节点、目标资源节点的父节点、目标资源节点本身和目标资源节点的子节点进行校验时,如果像相关技术那样将缺省的权限校验函数中的权限操作参数(FsAction)的赋值设为None,虽然从字面意义上来看,FsAction.None意味着无操作,但是从算法实现上来看,FsAction.None实际也是一种操作动作,因此,在校验过程中,仍然需要对本次被校验节点的祖先节点、父节点和子节点都校验一遍。如此一来,当HDFS***中本次被校验节点中有多个对象以及多个子目录时,校验计算量非常庞大,导致整个校验过程的耗时很长。
为了解决上述问题,本说明书的一个或多个实施例提供一种HDFS资源的访问权限校验方法,如图2所示,该方法包括:
步骤201,接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息。
目标资源节点是发送本次访问请求的用户想要访问的HDFS资源节点。用户的身份信息可以是用户名称、用户ID、用户所属的用户组等能够唯一标识该用户身份的信息。
步骤202、基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点。
步骤203、循环执行指定校验步骤:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认(NOT_DETERMINED),则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空。
其中,所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
第一次执行上述指定校验步骤时,第二资源节点为目标资源节点的祖先节点,随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点。
可选地,在指定校验步骤中,当调用HDFS的权限校验函数时,根据所述身份信息确定第四参数的赋值,也即第四参数正常赋值,所述第四参数为所述第二资源节点本身的校验操作参数(FsAction)。例如,第四参数的赋值可以是用户ID或用户名称等用户身份标识。
可选地,所述循环执行指定校验步骤包括:当所述第二资源节点非空时,循环执行指定校验步骤。
可选地,所述Ranger的权限校验函数可以为RangerHdfsPlugin.isAccessAllowed(ancestor)方法。
可选地,所述HDFS的权限校验函数为checkDefaultEnforcer方法,所述校验操作参数为FsAction,其中,所述将HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空,包括:将HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值由FsAction.None改为null。
步骤204、判断指定校验步骤的校验结果是否为不通过(DENY),和/或,判断是否对目标资源节点的全部子节点执行指定校验步骤,若为是,执行步骤205,否则继续循环执行所述指定校验步骤。
步骤205、退出循环。
可选地,图2所示的方法还可以包括:在所述指定校验步骤的校验结果为不通过时,向所述用户返回校验不通过的结果,其中,所述校验结果由所述Ranger的权限校验函数或所述HDFS的权限校验函数返回。具体的,当Ranger的权限校验函数得到的校验结果为不通过时,由Ranger的权限校验函数返回;当HDFS的权限校验函数得到的校验结果为不通过时,由HDFS的权限校验函数返回。
可选地,在对所述目标资源节点执行所述指定校验步骤得到的校验结果为通过后,对所述目标资源节点的每一子节点执行所述指定校验步骤,并在所述目标资源节点的任一子节点的校验结果为不通过时退出循环。
可以理解,本说明书实施例提供的一种HDFS资源的访问权限校验方法,在依次对目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点的访问权限进行校验时,将HDFS的权限校验函数中的第一参数(本次被校验节点的祖先节点的校验操作参数)、第二参数(本次被校验节点的父节点的校验操作参数)和第三参数(本次被校验节点的子节点的校验操作参数)的赋值设为了空,而不是空值。这样在调用缺省的HDFS的权限校验函数时,可以仅对本次被校验节点本身进行校验,而本次被校验节点的祖先节点、父节点和子节点不参与校验,从而可以有效减少参与鉴权匹配的计算,其不再需要针对那些与本次被校验节点不相关的节点去进行鉴权匹配的操作,从而大大提升了权限校验速度,缩短了权限校验耗时,提高了权限校验效率。
图4示出了相关技术中的HDFS资源访问权限校验方法的访问延时测试结果,图5示出了本说明书实施例提供的HDFS资源访问权限校验方法的访问延时测试结果,表1和表2分别列出了这两种方法的测试结果的重点指标值。
表1
Figure BDA0002354610520000131
表2
Figure BDA0002354610520000132
对比图4与图5,以及表1和表2可知,测试结果表明,本说明书实施例提供的一种HDFS资源的访问权限校验方法,可以显著地降低访问延时。拿客户端远过程调用的处理时长来说,其平均值从1251.415降到了13.036,拿客户端远过程调用的队列等待时长来说,其平均值从11583.937降到了100.193。
在图4和图5中,附图标记41所指的曲线代表客户端远过程调用的队列等待时长,附图标记42所指的曲线代表客户端远过程调用的处理时长,附图标记43所指的曲线代表数据管理节点的远过程调用的处理时长,数据管理节点的远过程调用队列等待时长在图4和图5中因坐标值过小未能明确地示出。
需要说明的是,图2所示的一种HDFS资源的访问权限校验方法,与图1所示的HDFS资源的访问权限校验方法的流程是类似的,二者的区别在于,图2所示的方法,将缺省的权限校验函数中关于祖先节点、父节点和子节点的三个权限操作参数(FsAction)的赋值由空值(None)改为空(null),因此,本说明书对图2所示的实施例描述的相对简单,相关之处请参考对图1所示的实施例的描述。
下面通过图3所示的一个更为详细的实施例,对本说明书提供的一种HDFS资源的访问权限校验方法进行说明,如图3所示,该方法可以包括:
步骤201,接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息。
步骤202、基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点。
步骤203、循环执行指定校验步骤。
具体的,步骤203可以包括:
步骤311、调用Ranger校验用户是否具有访问目标资源节点的祖先节点的权限,若Ranger返回的校验结果为否,则执行步骤206,若Ranger返回的校验结果为是,则执行步骤321,若Ranger返回的校验结果为无法确定(NOT_DETERMINED),则执行步骤312。
步骤312、调用HDFS校验用户是否具有访问目标资源节点的祖先节点的权限,若HDFS返回的校验结果为否,则执行步骤206,若HDFS返回的校验结果为是,则执行步骤321。
具体可以使用HDFS的权限校验器,调用checkDefaultEnforcer方法对访问目标资源节点的祖先节点的权限进行校验,且在调用checkDefaultEnforcer方法时,对第四参数(FsActionancestorAccess,即目标资源节点的祖先节点本身(本次被校验节点)的权限操作参数)进行正常赋值(具体赋值由用户身份信息确定),但将第一参数(FsActionparentAccess,即目标资源节点的父节点的权限操作参数)、第二参数(FsActionAccess,即目标资源节点的权限操作参数)和第三参数(FsAction subAccess,即目标资源节点的子节点的权限操作参数)的赋值由空值(FsAction.NONE)改成空(null)。
步骤321、调用Ranger校验用户是否具有访问目标资源节点的父节点的权限,若Ranger返回的校验结果为否,则执行步骤206,若Ranger返回的校验结果为是,则执行步骤331,若Ranger返回的校验结果为无法确定(NOT_DETERMINED),则执行步骤322。
步骤322、调用HDFS校验用户是否具有访问目标资源节点的父节点的权限,若HDFS返回的校验结果为否,则执行步骤206,若HDFS返回的校验结果为是,则执行步骤331。
具体可以使用HDFS的权限校验器,调用checkDefaultEnforcer方法对访问目标资源节点的父节点的权限进行校验,且在调用checkDefaultEnforcer方法时,对第四参数(FsAction parentAccess,即目标资源节点的父节点本身(本次被校验节点)的权限操作参数)进行正常赋值(具体赋值由用户身份信息确定),但将第一参数(FsActionancestorAccess,即目标资源节点的祖先节点的权限操作参数)、第二参数(FsActionAccess,即目标资源节点的权限操作参数)和第三参数(FsAction subAccess,即目标资源节点的子节点的权限操作参数)的赋值由空值(FsAction.NONE)改成空(null)。
步骤331、调用Ranger校验用户是否具有访问目标资源节点的权限,若Ranger返回的校验结果为否,则执行步骤206,若Ranger返回的校验结果为是,则执行步骤341,若Ranger返回的校验结果为无法确定(NOT_DETERMINED),则执行步骤332。
步骤332、调用HDFS校验用户是否具有访问目标资源节点的权限,若HDFS返回的校验结果为否,则执行步骤206,若HDFS返回的校验结果为是,则执行步骤341。
具体可以使用HDFS的权限校验器,调用checkDefaultEnforcer方法对访问目标资源节点的权限进行校验,且在调用checkDefaultEnforcer方法时,对第四参数(FsActionAccess,即目标资源节点本身(本次被校验节点)的权限操作参数)进行正常赋值(具体赋值由用户身份信息确定),但将第一参数(FsAction ancestorAccess,即目标资源节点的祖先节点的权限操作参数)、第二参数(FsAction parentAccess,即目标资源节点的父节点的权限操作参数)和第三参数(FsAction subAccess,即目标资源节点的子节点的权限操作参数)的赋值由空值(FsAction.NONE)改成空(null)。
步骤341、对目标资源节点的每一子节点:调用Ranger校验用户是否具有访问目标资源节点的该子节点的权限,若Ranger返回的校验结果为否,则执行步骤206,若Ranger返回的校验结果为是,则执行步骤204,若Ranger返回的校验结果为无法确定(NOT_DETERMINED),则执行步骤342。
步骤342、调用HDFS校验用户是否具有访问目标资源节点的子节点的权限,若HDFS返回的校验结果为否,则执行步骤206,若HDFS返回的校验结果为是,则执行步骤204。
具体可以使用HDFS的权限校验器,调用checkDefaultEnforcer方法对访问目标资源节点的权限进行校验,且在调用checkDefaultEnforcer方法时,对第四参数(FsActionsubAccess,即目标资源节点的子节点本身(本次被校验节点)的权限操作参数)进行正常赋值(具体赋值由用户身份信息确定),但将第一参数(FsAction ancestorAccess,即目标资源节点的祖先节点的权限操作参数)、第二参数(FsAction parentAccess,即目标资源节点的父节点的权限操作参数)和第三参数(FsActionAccess,即目标资源节点的权限操作参数)的赋值由空值(FsAction.NONE)改成空(null)。
步骤204、判断目标资源节点的所有子节点校验是否通过,若为是,执行步骤205,否则执行步骤206。
其中,在步骤312、步骤322、步骤332和步骤342调用HDFS的权限校验函数时,将HDFS的权限校验函数中本次被校验节点的祖先节点、父节点和子节点的三个权限操作参数(FsAction)的赋值由空值(None)改为空(null)。
同图2所示的实施例,将HDFS的权限校验函数中本次被校验节点的祖先节点、父节点和子节点的三个权限操作参数(FsAction)的赋值由空值(None)改为空(null)之后,可以仅对本次被校验节点本身进行校验,而本次被校验节点的祖先节点、父节点和子节点不参与校验,从而可以有效减少参与鉴权匹配的计算,其不再需要针对那些与本次被校验节点不相关的节点去进行鉴权匹配的操作,从而大大提升了权限校验速度,缩短了权限校验耗时,提高了权限校验效率。
以上对本说明书实施例提供的一种HDFS资源的访问权限校验方法进行了说明,下面对本说明书实施例提供的一种HDFS资源的访问权限校验装置进行介绍。
图6是本说明书的一个实施例提供的一种HDFS资源的访问权限校验装置400的结构示意图。在一种软件实施方式中,该HDFS资源的访问权限校验装置600可包括:请求接收模块601、第一判断模块602、校验模块603和第二判断模块604和退出模块605。
请求接收模块601,用于接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
第一判断模块602,用于基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
校验模块603,用于在所述第一判断模块获得的校验结果为是时,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
可选地,在指定校验步骤中,当调用HDFS的权限校验函数时,根据所述身份信息确定第四参数的赋值,也即第四参数正常赋值,所述第四参数为所述第二资源节点本身的校验操作参数(FsAction)。例如,第四参数的赋值可以是用户ID或用户名称等用户身份标识。
可选地,所述循环执行指定校验步骤包括:当所述第二资源节点非空时,循环执行指定校验步骤。
可选地,所述Ranger的权限校验函数可以为RangerHdfsPlugin.isAccessAllowed(ancestor)方法。
可选地,所述HDFS的权限校验函数为checkDefaultEnforcer方法,所述校验操作参数为FsAction,其中,所述将HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空,包括:将HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值由FsAction.None改为null。
第二判断模块604,用于判断指定校验步骤的校验结果是否为不通过(DENY),和/或,判断是否对目标资源节点的全部子节点执行指定校验步骤,若为是,触发退出模块以退出循环,否则继续循环执行所述指定校验步骤。
退出模块605,用于退出循环。
可选地,图6所示的装置还可以包括:结果反馈模块,用于在所述指定校验步骤的校验结果为不通过时,向所述用户返回校验不通过的结果,其中,所述校验结果由所述Ranger的权限校验函数或所述HDFS的权限校验函数返回。可以理解,当Ranger的权限校验函数得到的校验结果为不通过时,由Ranger的权限校验函数返回;当HDFS的权限校验函数得到的校验结果为不通过时,由HDFS的权限校验函数返回。
可选地,在对所述目标资源节点执行所述指定校验步骤得到的校验结果为通过后,对所述目标资源节点的每一子节点执行所述指定校验步骤,并在所述目标资源节点的任一子节点的校验结果为不通过时退出循环。
可以理解,本说明书实施例提供的一种HDFS资源的访问权限校验在这种,在依次对目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点的访问权限进行校验时,将HDFS的权限校验函数中的第一参数(本次被校验节点的祖先节点的校验操作参数)、第二参数(本次被校验节点的父节点的校验操作参数)和第三参数(本次被校验节点的子节点的校验操作参数)的赋值设为了空,而不是空值。这样在调用缺省的HDFS的权限校验函数时,可以仅对本次被校验节点本身进行校验,而本次被校验节点的祖先节点、父节点和子节点不参与校验,从而可以有效减少参与鉴权匹配的计算,其不再需要针对那些与本次被校验节点不相关的节点去进行鉴权匹配的操作,从而大大提升了权限校验速度,缩短了权限校验耗时,提高了权限校验效率。
HDFS资源的访问权限校验装置600能够实现图1~图3所示的任一实施例所述的方法,具体此处可参考上文对图1~图3所示实施例的HDFS资源的访问权限校验方法的说明,不再赘述。
图7是本说明书的一个实施例提供的电子设备的结构示意图。请参考图7,在硬件层面,该电子设备包括处理器,可选地还包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA(Industry StandardArchitecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成网络覆盖情况的预测装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
若一致,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
本发明实施例在调用缺省的HDFS的权限校验函数时,可以仅对本次被校验节点本身进行校验,而本次被校验节点的祖先节点、父节点和子节点不参与校验,从而可以有效减少参与鉴权匹配的计算,其不再需要针对那些与本次被校验节点不相关的节点去进行鉴权匹配的操作,从而大大提升了权限校验速度,缩短了权限校验耗时,提高了权限校验效率。
上述如本说明书图1~图3所示实施例揭示的HDFS资源的访问权限校验方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central ProcessingUnit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable GateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书一个或多个实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书一个或多个实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图1的HDFS资源的访问权限校验方法,本说明书在此不再赘述。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的便携式电子设备执行时,能够使该便携式电子设备执行图1所示实施例的方法,并具体用于执行以下操作:
接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
若一致,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
当然,除了软件实现方式之外,本说明书的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
总之,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

Claims (10)

1.一种HDFS资源的访问权限校验方法,其特征在于,包括:
接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
若一致,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
2.根据权利要求1所述的方法,其特征在于,所述指定校验步骤还包括:
在调用HDFS的权限校验函数时,根据所述身份信息确定第四参数的赋值,所述第四参数为所述第二资源节点的校验操作参数。
3.根据权利要求1所述的方法,其特征在于,还包括:
在所述指定校验步骤的校验结果为不通过时,向所述用户返回校验不通过的结果,其中,所述校验结果由所述Ranger的权限校验函数或所述HDFS的权限校验函数返回。
4.根据权利要求1所述的方法,其特征在于,
所述循环执行指定校验步骤包括:
当所述第二资源节点非空时,循环执行指定校验步骤。
5.根据权利要求1所述的方法,其特征在于,
在对所述目标资源节点执行所述指定校验步骤得到的校验结果为通过后,对所述目标资源节点的每一子节点执行所述指定校验步骤,并在所述目标资源节点的任一子节点的校验结果为不通过时退出循环。
6.根据权利要求1-5任一项所述的方法,其特征在于,
所述Ranger的权限校验函数为RangerHdfsPlugin.isAccessAllowed(ancestor)方法。
7.根据权利要求1-5任一项所述的方法,其特征在于,
所述HDFS的权限校验函数为checkDefaultEnforcer方法,所述校验操作参数为FsAction,其中,所述将HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空,包括:
将HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值由FsAction.None改为null。
8.一种HDFS资源的访问权限校验装置,其特征在于,包括:
请求接收模块,用于接收用户对目标资源节点的访问请求,所述访问请求中携带有所述用户的身份信息;
第一判断模块,用于基于所述身份信息确定所述用户与第一资源节点的所有者是否一致,其中,所述第一资源节点包括所述目标资源节点和/或所述目标资源节点的父节点;
校验模块,用于在所述第一判断模块获得的校验结果为是时,循环执行指定校验步骤,直到所述指定校验步骤的校验结果为不通过,或直到对所述目标资源节点的全部子节点执行所述指定校验步骤;
其中,所述指定校验步骤包括:调用Ranger校验所述用户是否具有访问第二资源节点的权限,若所述Ranger返回的结果为无法确认,则调用HDFS进行校验,并将所述HDFS的权限校验函数中的第一参数、第二参数和第三参数的赋值设为空;随着循环次数的增加,所述第二资源节点依次为所述目标资源节点的祖先节点、所述目标资源节点的父节点、所述目标资源节点和所述目标资源节点的子节点;所述第一参数为所述第二资源节点的祖先节点的校验操作参数,所述第二参数为所述第二资源节点的父节点的校验操作参数,所述第三参数为所述第二资源节点的子节点的校验操作参数。
9.一种电子设备,其特征在于,包括:
存储器,存储有计算机程序指令;
处理器,当所述计算机程序指令被所述处理器执行时实现如权利要求1-7任一项所述的HDFS资源的访问权限校验方法。
10.一种计算机可读存储介质,其特征在于,
所述计算机可读存储介质包括指令,当所述指令在计算机上运行时,使得计算机执行如权利要求1-7任一项所述的HDFS资源的访问权限校验方法。
CN202010008620.5A 2020-01-03 2020-01-03 一种hdfs资源的访问权限校验方法、装置及电子设备 Active CN113076552B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010008620.5A CN113076552B (zh) 2020-01-03 2020-01-03 一种hdfs资源的访问权限校验方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010008620.5A CN113076552B (zh) 2020-01-03 2020-01-03 一种hdfs资源的访问权限校验方法、装置及电子设备

Publications (2)

Publication Number Publication Date
CN113076552A CN113076552A (zh) 2021-07-06
CN113076552B true CN113076552B (zh) 2022-10-18

Family

ID=76608857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010008620.5A Active CN113076552B (zh) 2020-01-03 2020-01-03 一种hdfs资源的访问权限校验方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN113076552B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870727A (zh) * 2012-12-17 2014-06-18 百度在线网络技术(北京)有限公司 一种统一管理权限的方法及***
CN104935590A (zh) * 2015-06-10 2015-09-23 南京航空航天大学 一种基于角色和用户信任值的hdfs访问控制方法
CN106790027A (zh) * 2016-12-15 2017-05-31 国家计算机网络与信息安全管理中心 Hdfs文件***的多租户网盘权限管理方法及***
CN107066867A (zh) * 2017-03-11 2017-08-18 郑州云海信息技术有限公司 一种大数据集群资源分配方法及装置
WO2017167171A1 (zh) * 2016-03-31 2017-10-05 华为技术有限公司 一种数据操作方法,服务器及存储***
CN110569637A (zh) * 2019-08-07 2019-12-13 苏州浪潮智能科技有限公司 一种对hdfs空间资源进行管理的可视化***和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103870727A (zh) * 2012-12-17 2014-06-18 百度在线网络技术(北京)有限公司 一种统一管理权限的方法及***
CN104935590A (zh) * 2015-06-10 2015-09-23 南京航空航天大学 一种基于角色和用户信任值的hdfs访问控制方法
WO2017167171A1 (zh) * 2016-03-31 2017-10-05 华为技术有限公司 一种数据操作方法,服务器及存储***
CN106790027A (zh) * 2016-12-15 2017-05-31 国家计算机网络与信息安全管理中心 Hdfs文件***的多租户网盘权限管理方法及***
CN107066867A (zh) * 2017-03-11 2017-08-18 郑州云海信息技术有限公司 一种大数据集群资源分配方法及装置
CN110569637A (zh) * 2019-08-07 2019-12-13 苏州浪潮智能科技有限公司 一种对hdfs空间资源进行管理的可视化***和方法

Also Published As

Publication number Publication date
CN113076552A (zh) 2021-07-06

Similar Documents

Publication Publication Date Title
CN110784433B (zh) 一种用户访问处理方法、装置及设备
CN107257340B (zh) 一种认证方法、基于区块链的认证数据处理方法及设备
CN112564916A (zh) 应用于微服务架构的访问客户端认证***
CN108897628B (zh) 一种分布式锁的实现方法、装置及电子设备
TWI727467B (zh) 聯盟鏈的可信度驗證方法、系統、裝置及設備
CN111008840B (zh) 一种业务处理***、业务处理的方法、装置及设备
WO2020168692A1 (zh) 海量数据共享方法、开放共享平台及电子设备
KR20190067194A (ko) 계정 로그인을 위한 방법, 장치, 및 서버
TWI712972B (zh) 聯盟鏈的可信度驗證方法、系統、裝置及設備
CN112738100B (zh) 数据访问的鉴权方法、装置、鉴权设备和鉴权***
TW202027458A (zh) 聯盟鏈中的請求處理方法、系統、裝置及設備
CN115190078B (zh) 一种访问流量控制方法、装置、设备以及存储介质
CN111177703B (zh) 操作***数据完整性的确定方法及装置
CN114138590A (zh) Kubernetes集群的运维处理方法、装置及电子设备
CN109145621B (zh) 文档管理方法及装置
CN116361755A (zh) 应用程序登录验证方法、装置、设备和存储介质
CN108541000B (zh) 一种检测网络连接的方法、介质以及设备
CN112116348B (zh) 一种对节点资源的访问控制方法
US11736299B2 (en) Data access control for edge devices using a cryptographic hash
CN113076552B (zh) 一种hdfs资源的访问权限校验方法、装置及电子设备
US20220171789A1 (en) Sgx based flow control for distributed ledgers
CN111209593A (zh) 基于区块链的分布式锁处理方法及相关装置和电子设备
CN111444483A (zh) 一种鉴权方法、装置及设备
CN113836331A (zh) 图像查询方法、设备及存储介质
CN115225299A (zh) 用户认证方法、服务器和***

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
GR01 Patent grant
GR01 Patent grant