CN107196951A - 一种hdfs***防火墙的实现方法和防火墙*** - Google Patents
一种hdfs***防火墙的实现方法和防火墙*** Download PDFInfo
- Publication number
- CN107196951A CN107196951A CN201710439355.4A CN201710439355A CN107196951A CN 107196951 A CN107196951 A CN 107196951A CN 201710439355 A CN201710439355 A CN 201710439355A CN 107196951 A CN107196951 A CN 107196951A
- Authority
- CN
- China
- Prior art keywords
- metadata
- authentication
- access request
- metadata access
- namenode
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种HDFS***防火墙的实现方法和防火墙***,HDFS***防火墙设置在应用服务器和NameNode服务器之间的信道上,该方法包括:接收来自应用服务器的表示向NameNode服务器进行元数据访问的元数据访问请求;对元数据访问请求进行预设细粒度权限认证,得到认证结果;当预设细粒度权限认证通过时,将元数据访问请求发送至NameNode服务器;接收来自NameNode服务器的针对元数据访问请求的元数据信息;将元数据信息返回至应用服务器;当预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至应用服务器。本发明通过在客户端向NameNode服务器请求文件的元数据信息时,对客户端访问请求进行细粒度权限检查,能够提升HDFS***的安全防护能力,并屏蔽集群外部攻击。
Description
技术领域
本发明涉及分布式文件***的安全技术领域,特别是涉及一种HDFS***防火墙的实现方法和防火墙***。
背景技术
近年来,随着大数据应用的普及,Hadoop***(其中,Hadoop是一个由Apache基金会所开发的分布式***基础架构)以及以Hadoop为底层技术构建的生态体系得到广泛应用,已经成为大数据处理事实上的技术平台代名词。HDFS(Hadoop分布式文件***)作为一个以Hadoop***为基础架构的分布式文件***,是HBase、Hive等数据库的最底层文件存储***。同时,Hadoop生态中的大多数存储工具都支持HDFS的数据存储。因此,HDFS是大数据处理技术基石中的基石。
其中,HDFS:采用主从架构,由NameNode(名字节点)和DataNode(数据节点)两部分构成。其中,NameNode是主节点,用于存储文件的元数据信息,可以是一个或多个;DataNode是从节点,用于存储实际文件块,数量可达上千个。
HDFS***的安全防护是Hadoop生态安全防护的基石。目前,主流的Hadoop版本提供基于操作***级的弱HDFS权限控制;Ranger等第三方组件能够提供对Hadoop生态多个组件的统一权限管理;Knox提供Rest API级别的访问代理。但是,原生Hadoop和Ranger提供的权限控制都集成在NameNode进程中。也就是说,传统的HDFS***的防火墙的部署需要嵌入到HDFS***的集群内部,而且,在部署完成后,集群必须重启才能进行安全防护,从而影响原有集群的运行,而且,无法屏蔽外部恶意用户的攻击;而Knox则只提供HTTP协议的安全防护且仅提供粗粒度的服务级权限管控,无法有效抵御外部攻击。
由此可见,HDFS***的传统安全防护方案的安全防护能力较弱,不能有效解决日益严峻的大数据安全防护问题。
发明内容
本发明提供了一种HDFS***防火墙的实现方法和防火墙***,以解决HDFS***的传统安全防护方案所存在的安全防护能力弱,无法屏蔽集群外部攻击的问题。
为了解决上述问题,根据本发明的一个方面,本发明公开了一种HDFS***防火墙的实现方法,所述HDFS***包括NameNode服务器,所述HDFS***防火墙设置在应用服务器和NameNode服务器之间的信道上,所述方法包括:
接收来自所述应用服务器的表示向所述NameNode服务器进行元数据访问的元数据访问请求;
对所述元数据访问请求进行预设细粒度权限认证,得到认证结果;
当所述预设细粒度权限认证通过时,将所述元数据访问请求发送至所述NameNode服务器;
接收来自所述NameNode服务器的针对所述元数据访问请求的元数据信息;
将所述元数据信息返回至所述应用服务器;
当所述预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至所述应用服务器。
根据本发明的另一方面,本发明还公开了一种HDFS***的防火墙***,所述HDFS***包括NameNode服务器,所述防火墙***设置在应用服务器和所述NameNode服务器之间的信道上,所述防火墙***包括:
第一接收模块,用于接收来自所述应用服务器的表示向所述NameNode服务器进行元数据访问的元数据访问请求;
认证模块,用于对所述元数据访问请求进行预设细粒度权限认证,得到认证结果;
发送模块,用于当所述预设细粒度权限认证通过时,将所述元数据访问请求发送至所述NameNode服务器;
第二接收模块,用于接收来自所述NameNode服务器的针对所述元数据访问请求的元数据信息;
第一返回模块,用于将所述元数据信息返回至所述应用服务器;
第二返回模块,用于当所述预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至所述应用服务器。
与现有技术相比,本发明包括以下优点:
本发明通过在客户端向NameNode服务器请求文件的元数据信息时,对客户端访问请求进行细粒度权限检查,如果符合预设的权限规则,则将客户端访问请求完整转发到NameNode服务器,如果不符合,则不转发客户端请求,而是返回错误信息。使得用户和HDFS服务端之间的交互必须通过防火墙才能对HDFS服务端进行访问或管理。提升了HDFS***的安全防护能力,能够屏蔽集群外部攻击。
附图说明
图1是本发明的一种HDFS***实施例的结构框图;
图2是本发明的一种HDFS***防火墙的实现方法实施例的步骤流程图;
图3是本发明的一种HDFS***实施例的逻辑框图;
图4是本发明的一种HDFS***实施例的物理部署图;
图5是本发明的一种HDFS***的防火墙***实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
参照图1,示出了本发明的一种HDFS***的结构框图。
本发明实施例的HDFS***包括客户端和服务端,其中,客户端上部署有ClientAPI(Client Application Programming Interface,客户应用程序编程接口),Client API包括文件访问接口和NameNode客户端与DataNode客户端;服务端包括NameNode服务器和DataNode服务器,其中,NameNode服务端包括NameNode服务端以及存储HDFS文件元数据的数据库,DataNode服务器包括DataNode服务端以及存储HDFS文件块的数据库。
此外,HDFS***还包括设置在NameNode客户端和NameNode服务端之间的信道上的HDFS防火墙。该HDFS防火墙相当于设置在客户端与HDFS集群之间的信道上的一个“检查站”。HDFS客户端与HDFS服务端之间的通信基于Hadoop RPC框架实现,通信流程如下:
1)用户通过文件访问接口,提交访问的文件路径等信息;
2)文件访问接口内部调用RPC框架的NameNode客户端在与NameNode服务端进行通信之前,由本发明实施例的HDFS防火墙拦截,对访问请求进行检查;
3)当检查结果为访问请求符合预设条件时,则HDFS防火墙将该访问请求完整的转发至NameNode服务端,NameNode服务端根据访问请求访问本地存储HDFS文件元数据的数据库,从而获得需要访问的HDFS文件块的元数据信息,并通过HDFS防火墙转发至NameNode客户端;当检查结果为访问请求不符合预设条件时,则返回错误信息至NameNode客户端,并将错误信息通过文件访问接口返回至用户。
4)文件访问接口从NameNode客户端内部拿到HDFS文件块的元数据信息后,调用RPC框架DataNode客户端,由DataNode客户端与DataNode服务端通信,将HDFS文件块的元数据信息转发至DataNode服务端;
5)DataNode服务端就可以根据HDFS文件块的元数据信息访问本地存储HDFS文件块的数据库,以获取HDFS文件块数据;
6)DataNode服务端将获取到HDFS文件块数据后返回至DataNode客户端,文件访问接口从DataNode客户端内部拿到HDFS文件块,并转发给用户。
本发明实施例利用HDFS文件访问过程的特点,在客户端向NameNode服务器请求文件的元数据信息时,对客户端访问请求进行细粒度权限检查,如果符合预设的权限规则,则将客户端访问请求完整转发到HDFS集群(这里的NameNode服务端以及存储HDFS文件元数据的数据库),如果不符合,则不转发客户端请求,而是返回错误信息。使得用户必须通过该防火墙才能对HDFS服务端进行访问或管理。本发明实施例的HDFS采用主动防御技术能够主动实时监控、识别、告警、阻挡绕过企业网络边界(FireWall、IDS\IPS等)防护的外部数据攻击,以及来自于内部的高权限用户(DBA、开发人员、第三方外包服务提供商)的数据窃取、破坏、损坏的等,从HDFS访问指令精细化控制的技术层面,提供一种主动安全防御措施,结合独立于HDFS的安全访问控制规则,能够帮助用户应对来自内部和外部的数据安全威胁。
参照图2,示出了本发明的一种HDFS***防火墙的实现方法实施例的步骤流程图,所述HDFS***包括NameNode服务器,所述HDFS***防火墙设置在应用服务器和NameNode服务器之间的信道上,所述方法具体可以包括如下步骤:
步骤101,接收来自所述应用服务器的表示向所述NameNode服务器进行元数据访问的元数据访问请求;
其中,本发明实施例的防火墙可以接收来自应用服务器的元数据访问请求,其中,该元数据访问请求表示向NameNode服务器进行元数据访问。
步骤102,对所述元数据访问请求进行预设细粒度权限认证,得到认证结果;
其中,本发明实施例的防火墙可以在元数据访问请求到达至NameNode服务器之前,截获该元数据访问请求,并对该元数据访问请求进行预设细粒度权限认证,从而得到表示认证通过或表示认证不通过的认证结果。
步骤103,当所述预设细粒度权限认证通过时,将所述元数据访问请求发送至所述NameNode服务器;
那么,只有当该元数据访问请求的预设细粒度权限认证通过时,本发明实施例的防火墙才会将元数据访问请求发送至NameNode服务器以获取元数据信息。
步骤104,接收来自所述NameNode服务器的针对所述元数据访问请求的元数据信息;
其中,当NameNode服务器接收到该元数据访问请求后,可以根据该元数据访问请求来从本地数据库中获取对应的元数据信息,并将该元数据信息返回至防火墙,这样,防火墙就可以接收到该针对该元数据访问请求的元数据信息。
步骤105,将所述元数据信息返回至所述应用服务器;
然后,本发明实施例的防火墙可以将接收到的元数据信息返回至应用服务器。
步骤106,当所述预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至所述应用服务器。
相反,如果经过步骤102,认证结果为所述元数据访问请求未通过所述预设细粒度权限认证,那么本发明实施例的防火墙将不转发该元数据访问请求至NameNode服务器,并将返回错误信息至应用服务器,其中,该错误信息表示该元数据访问请求认证未通过。
借助于本发明上述实施例的技术方案,本发明实施例通过在应用服务器和NameNode服务器之间的信道上设置防火墙,而非将防火墙嵌入至HDFS集群(例如NameNode服务器)内部,避免了对HDFS集群重启而影响HDFS集群运行的问题;并通过在上述信道上设置防火墙,从而可以对来自应用服务器的元数据访问请求发送至NameNode服务器之前进行截获,并进行预设细粒度权限认证,只有在认证通过后才会将元数据访问请求转发至NameNode服务器,以便应用服务器获取相应的元数据信息;而在认证未通过时,则不转发该元数据访问请求至NameNode服务器,而是返回错误信息至应用服务器,提升了HDFS***的安全防护强度,能够屏蔽集群外部的攻击。
在上述实施例的基础上,可选地,参照图3和图4所分别示出的本发明的另一个实施例的HDFS***的逻辑框图和物理部署图。
其中,图1、图3和图4中相同的***模块以及它们之间的通信流程可以互相参考,本实施例中不再赘述。
如图3、图4所示,本发明实施例的HDFS防火墙包括NameNode服务器端模块、中央调度器模块、NameNode客户端模块,这三个模块依次串联,并部署在客户端的应用服务器和NameNode服务器之间,这三个模块之间的通信关系以及它们和HDFS***的客户端与服务端的通信关系如图3所示。
其中,图3的Client API部署在图4中的应用服务器上;此外,图3只示意性的示出了图4中的一个DataNode服务器,另外两个DataNode服务器未示出,但不影响本发明实施例的方法。
此外,从图3和图4可以看出,客户端向NameNode服务器发起的任何访问请求都需要首先经过HDFS防火墙。HDFS防火墙内部可以处理用户访问请求,具体处理步骤如下:
1),NameNode服务端模块负责接收客户端的NameNode客户端发送的对目标文件的元数据访问请求,并对所述元数据访问请求进行解析,得到请求内容;
所述请求内容至少包括:用户A(即,数据请求方)的用户名、密码、用户A所请求的目标元数据的地址、用户A在对所述目标元数据对应的目标文件(即,目标数据)进行操作时的目标操作类型(其中,目标操作类型可以是读、写、修改等操作)。
也就是说,这里通过对元数据访问请求进行解析,可以确定哪个用户要对哪个目标文件进行何种操作的请求内容。
当然,这里只是示意性的列举了几项重要的请求内容,本发明对于请求内容的具体内容并不限于上述内容,还可以包括其他信息。
2),NameNode服务端模块将截获的请求内容提交至中央调度器模块进行预设细粒度权限认证,得到认证结果;
其中,中央调度器可以根据认证结果,来确定下一步进行如何操作。
中央调度器模块在对所述元数据访问请求的请求内容进行预设细粒度权限认证时,可以通过以下方式来实现:
S1,根据预设用户身份信息对所述元数据访问请求中的所述用户名和所述密码进行身份认证;
具体而言,本发明实施例的预设用户身份信息存储了对HDFS***的数据具有访问权限的所有用户的用户名和对应密码的用户身份信息,其中,该预设用户身份信息可以是一个数据表,而该预设用户身份信息可以存储在中央调度器模块本地、HDFS防火墙的其他模块中、或者存储在HDFS***中。
也就是说,中央调度器模块在获取该预设用户身份信息时,可以本地调用或者从外部***获取;如果将预设用户身份信息本地存储在HDFS防火墙中可以节省数据的获取时间,提升身份认证效率;而如果将预设用户身份信息存储在除防火墙之外的***中,则可以节省HDFS防火墙的本地存储空间。对于预设用户身份信息的具体存储方式可以根据需要进行灵活设置和调整。
这里,可以在预设用户身份信息中查找是否有与请求内容中的用户A的用户名和密码相匹配的一组用户身份信息,其中,用户名和对应的密码是一组用户身份信息。
如果存在匹配的用户身份信息,则身份认证通过,否则不通过。
这样,本发明实施例可以在客户端访问HDFS服务器中的元数据信息之前,对访问数据的用户身份进行二次认证,所谓二次认证,即在进行本次的身份认证之前,用户登录HDFS***时,也都会进行第一次的身份认证。这样保证了访问数据的用户身份安全,进一步屏蔽集群外部的攻击。
S2,当所述元数据访问请求的身份认证通过时,获取对所述目标文件进行操作时的操作类型为所述目标操作类型的目标用户列表;
其中,当用户A的元数据访问请求的身份认证通过时,例如用户A需要对文件A进行读操作,那么中央调度器模块就可以从预设文件操作权限列表中获取哪些用户对文件A具有读操作的权限,而这些用户就构成了目标用户列表。
其中,该预设文件操作权限列表中包含多条记录,每条记录记载了操作文件、操作类型、操作人。这样,从这些记录中就可以确定哪些操作人可以对文件A具有读操作的权限。
其中,该预设文件操作权限列表的存储位置、获取方式与S1中的预设用户身份信息类似,在此不再赘述。
S3,判断所述元数据访问请求中的所述用户名是否属于所述目标用户列表中的目标用户名,从而确定所述元数据访问请求是否通过鉴权认证;
然后,中央调度器模块就可以判断该元数据访问请求的请求内容中的用户名是否属于上述获取到的目标用户列表中的用户名,例如判断用户A的用户名是否在该目标用户列表中,以此确定该元数据访问请求是否通过鉴权认证。
S4,若所述用户名属于所述目标用户列表中的目标用户名,则确定所述元数据访问请求的鉴权认证通过;
这样,本发明实施例通过S2、S3和S4可以对访问目标文件的用户进行是否有对目标文件进行相应操作的权限的检查,这样,即便该用户通过了身份认证,例如该用户为HDFS***内部的高权限用户(DBA、开发人员、第三方外包服务提供商等),本发明实施例的防火墙也可以通过鉴权认证来避免他们对重要数据进行窃取、破坏、损坏等操作,从而使HDFS访问指令得到精细化控制。
S5,当所述身份认证和所述鉴权认证均通过时,确定所述元数据访问请求的预设细粒度权限认证通过;
并且,只有在用户的元数据访问请求在身份认证和鉴权认证均通过的情况下,本发明实施例的中央调度器模块才会认定该用户A的元数据访问请求通过了预设细粒度权限认证。
这样,通过身份认证和鉴权认证的双重认证可以进一步保护HDFS***的信息安全。
S6,当所述身份认证和所述鉴权认证中任意一项认证未通过时,确定所述元数据访问请求的预设细粒度权限认证未通过。
相反,如果经过S1,发现元数据访问请求中的用户名和密码不属于预设用户身份信息中的一组用户身份信息,和/或,经S3判断,发现所述元数据访问请求中的所述用户名不属于所述目标用户列表中的目标用户名,则可以确定所述元数据访问请求的预设细粒度权限认证未通过。
这样,本发明实施例通过S1~S6,就可以对用户的元数据访问请求进行身份认证和鉴权认证的双重认证,以此来确定用户A的元数据访问请求的请求内容是否通过预设细粒度权限认证,提升了认证强度并细化了认证粒度。
那么经过2),如果确定所述预设细粒度权限认证通过,则继续进行3)的特殊处理判断步骤;
3),根据所述目标数据的预设安全信息,确定在所述用户名对应的用户对所述目标文件进行所述目标操作类型的操作之前,是否需要对所述目标文件进行预设特殊处理。
具体而言,由于HDFS***中有些文件面向某些用户的读、写、改等操作时,不能将原始存储的文件数据展示给这些用户,需要在将文件数据展示给用户之前进行预设特殊处理(例如加密处理、脱敏处理)。其中,加密处理可以应用到的操作类型包括读操作、写操作,而脱敏处理可以应用到的操作类型为读操作。
例如用户A需要对HDFS***中的文件A进行读操作时,首先需要读取该文件A的元数据信息,在这个过程中,由于文件A中包括一些敏感信息,而用户A没有对文件A中的这些敏感信息的读操作的权限,用户B对文件A中的这些敏感信息,换句话说,用户B对A文件中的全部内容都有读操作的权限。因此,当用户A要读取文件A时,***设置需要对文件A进行脱敏处理,提供给用户A读取的只能是脱敏后的文件A。
所以,本步骤中考虑到HDFS***中某些文件中的敏感信息的安全性,这里中央调度器模块还需要判断该用户A在对文件A进行读操作之前,是否需要对该文件A进行预设特殊处理(例如加密、脱敏等特殊处理)。
4),此外,当上述预设细粒度权限认证通过时,中央调度器模块还可以将请求内容发送至NameNode客户端模块;
其中,本发明对于步骤3)和步骤4)的执行顺序不限定。
5),当经过步骤3)和步骤4)之后,本发明实施例的NameNode客户端模块就可以将请求内容发送至所述NameNode服务器的NameNode服务端,NameNode服务端根据元数据访问请求的请求内容访问本地存储HDFS文件元数据的数据库,从而获得需要访问的目标文件的元数据信息,接着,NameNode服务端将获取到的元数据信息返回至防火墙的NameNode客户端模块;
6),防火墙的NameNode客户端模块接收来自所述NameNode服务器的NameNode服务端发送的元数据信息,并将该元数据信息返回至中央调度器模块;
7),中央调度器模块在接收到的元数据信息后,就会根据上述步骤3)中的是否需要对目标文件进行预设特殊处理的判断结果,来确定是否对元数据信息进行处理。
具体而言,当确定需要对目标文件进行特殊处理时,则本发明实施例的中央调度器模块还可以获取该目标文件(文件A)经所述预设特殊处理后在所述DataNode服务器上的存储地址;并将接收到的步骤6)中的所述元数据信息更新为所述存储地址;
也就是说,经过步骤3)判断需要对文件A进行例如脱敏处理时,本发明实施例的方法可以对该文件A进行脱敏处理,并将脱敏后的文件A’存储至DataNode服务器的数据库中的另一存储地址上,即文件A和文件A’都存在,文件A并不会被删除或替代。然后,再获取该文件A’在DataNode服务器的数据库的存储地址A’,并将采用该存储地址来将从NameNode服务端处获取到的文件A的存储地址A(即上述步骤6)中的元数据信息)进行替换,从而得到一个新的元数据信息。
当然,对于对文件A的脱敏处理,以及将脱敏处理后的文件A’进行存储的操作可以由本发明实施例的防火墙来完成,也可以由HDFS***中的其他模块来完成,本发明对此并不做限制。
8),中央调度器模块将更新后的的元数据信息(即文件A’的存储地址)经由NameNode服务端模块返回至所述应用服务器的NameNode客户端;
9),当经过步骤2)的认证结果为所述请求内容的预设细粒度权限认证未通过(例如身份认证、鉴权认证中至少存在一项不通过)时,则中央调度器直接将表示认证未通过的错误信息返回至所述应用服务器,不进行上述步骤2)~步骤8)中的任意一个步骤。
可选地,在上述实施例中的防火墙可以是一个网关,网关上部署有图3中的NameNode服务端模块、中央调度器模块和NameNode客户端模块。并且,该防火墙还设置有两个网卡,一个网卡用于连接应用服务器,另一个网络用于连接NameNode服务器,从而使得防火墙能够与网络协议不同的应用服务器和NameNode服务器进行通信,对HDFS服务器进行保护。
本发明实施例的防火墙实现方法只需要修改少量Hadoop源代码即可实现HDFS访问指令截断、技术门槛低、工作量少,能够有效节约产品开发成本。并且,本发明的防火墙以网关形式部署,支持软件部署和软硬一体化部署,不需要再Hadoop集群内部安装额外的插件,从而对HDFS集群以及客户端应用影响都很小,避免额外的成本支出。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
与上述本发明实施例所提供的方法相对应,参照图5,示出了本发明一种HDFS***的防火墙***实施例的结构框图,所述HDFS***包括NameNode服务器,所述防火墙***设置在应用服务器和所述NameNode服务器之间的信道上,所述防火墙***具体可以包括如下模块:
第一接收模块51,用于接收来自所述应用服务器的表示向所述NameNode服务器进行元数据访问的元数据访问请求;
认证模块52,用于对所述元数据访问请求进行预设细粒度权限认证,得到认证结果;
发送模块53,用于当所述预设细粒度权限认证通过时,将所述元数据访问请求发送至所述NameNode服务器;
第二接收模块54,用于接收来自所述NameNode服务器的针对所述元数据访问请求的元数据信息;
第一返回模块55,用于将所述元数据信息返回至所述应用服务器;
第二返回模块56,用于当所述预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至所述应用服务器。
可选地,所述防火墙***还包括:
解析模块,用于对所述元数据访问请求进行解析,得到请求内容;
所述请求内容至少包括:数据请求方的用户名、密码、数据请求方所请求的目标元数据的地址、数据请求方在对所述目标元数据对应的目标数据进行操作时的目标操作类型。
可选地,所述认证模块52包括:
身份认证子模块,用于根据预设用户身份信息对所述元数据访问请求中的所述用户名和所述密码进行身份认证;
获取子模块,用于当所述元数据访问请求的身份认证通过时,获取对所述目标数据进行操作时的操作类型为所述目标操作类型的目标用户列表;
鉴权认证子模块,用于判断所述元数据访问请求中的所述用户名是否属于所述目标用户列表中的目标用户名,从而确定所述元数据访问请求是否通过鉴权认证;
第一确定子模块,用于若所述用户名属于所述目标用户列表中的目标用户名,则确定所述元数据访问请求的鉴权认证通过;
第二确定子模块,用于当所述身份认证和所述鉴权认证均通过时,确定所述元数据访问请求的预设细粒度权限认证通过;
第三确定子模块,用于当所述身份认证和所述鉴权认证中任意一项认证未通过时,确定所述元数据访问请求的预设细粒度权限认证未通过。
可选地,所述防火墙***还包括:
确定模块,用于当所述预设细粒度权限认证通过时,根据所述目标数据的预设安全信息,确定在所述用户名对应的用户对所述目标文件进行所述目标操作类型的操作之前,是否需要对所述目标文件进行预设特殊处理。
可选地,所述HDFS***还包括DataNode服务器,所述防火墙***还包括:
获取模块,用于获取目标数据经所述预设特殊处理后在所述DataNode服务器上的存储地址;
更新模块,用于将接收到的所述元数据信息更新为所述存储地址;
所述第一返回模块55,包括:
返回子模块,用于将更新后的所述元数据信息返回至所述应用服务器。
对于***实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种HDFS***防火墙的实现方法和一种HDFS的防火墙***,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种HDFS***防火墙的实现方法,其特征在于,所述HDFS***包括NameNode服务器,所述HDFS***防火墙设置在应用服务器和NameNode服务器之间的信道上,所述方法包括:
接收来自所述应用服务器的表示向所述NameNode服务器进行元数据访问的元数据访问请求;
对所述元数据访问请求进行预设细粒度权限认证,得到认证结果;
当所述预设细粒度权限认证通过时,将所述元数据访问请求发送至所述NameNode服务器;
接收来自所述NameNode服务器的针对所述元数据访问请求的元数据信息;
将所述元数据信息返回至所述应用服务器;
当所述预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至所述应用服务器。
2.根据权利要求1所述的方法,其特征在于,所述对所述元数据访问请求进行预设细粒度权限认证,得到认证结果之前,所述方法还包括:
对所述元数据访问请求进行解析,得到请求内容;
所述请求内容至少包括:数据请求方的用户名、密码、数据请求方所请求的目标元数据的地址、数据请求方在对所述目标元数据对应的目标数据进行操作时的目标操作类型。
3.根据权利要求2所述的方法,其特征在于,所述对所述元数据访问请求进行预设细粒度权限认证,得到认证结果,包括:
根据预设用户身份信息对所述元数据访问请求中的所述用户名和所述密码进行身份认证;
当所述元数据访问请求的身份认证通过时,获取对所述目标数据进行操作时的操作类型为所述目标操作类型的目标用户列表;
判断所述元数据访问请求中的所述用户名是否属于所述目标用户列表中的目标用户名,从而确定所述元数据访问请求是否通过鉴权认证;
若所述用户名属于所述目标用户列表中的目标用户名,则确定所述元数据访问请求的鉴权认证通过;
当所述身份认证和所述鉴权认证均通过时,确定所述元数据访问请求的预设细粒度权限认证通过;
当所述身份认证和所述鉴权认证中任意一项认证未通过时,确定所述元数据访问请求的预设细粒度权限认证未通过。
4.根据权利要求2所述的方法,其特征在于,所述将所述元数据访问请求发送至所述NameNode服务器之前,所述方法还包括:
当所述预设细粒度权限认证通过时,根据所述目标数据的预设安全信息,确定在所述用户名对应的用户对所述目标文件进行所述目标操作类型的操作之前,是否需要对所述目标文件进行预设特殊处理。
5.根据权利要求4所述的方法,其特征在于,所述HDFS***还包括DataNode服务器,当确定需要对所述目标数据进行预设特殊处理时,所述将所述元数据信息返回至所述应用服务器之前,所述方法还包括:
获取目标数据经所述预设特殊处理后在所述DataNode服务器上的存储地址;
将接收到的所述元数据信息更新为所述存储地址;
所述将所述元数据信息返回至所述应用服务器,包括:
将更新后的所述元数据信息返回至所述应用服务器。
6.一种HDFS***的防火墙***,其特征在于,所述HDFS***包括NameNode服务器,所述防火墙***设置在应用服务器和所述NameNode服务器之间的信道上,所述防火墙***包括:
第一接收模块,用于接收来自所述应用服务器的表示向所述NameNode服务器进行元数据访问的元数据访问请求;
认证模块,用于对所述元数据访问请求进行预设细粒度权限认证,得到认证结果;
发送模块,用于当所述预设细粒度权限认证通过时,将所述元数据访问请求发送至所述NameNode服务器;
第二接收模块,用于接收来自所述NameNode服务器的针对所述元数据访问请求的元数据信息;
第一返回模块,用于将所述元数据信息返回至所述应用服务器;
第二返回模块,用于当所述预设细粒度权限认证未通过时,将表示认证未通过的错误信息返回至所述应用服务器。
7.根据权利要求6所述的防火墙***,其特征在于,所述防火墙***还包括:
解析模块,用于对所述元数据访问请求进行解析,得到请求内容;
所述请求内容至少包括:数据请求方的用户名、密码、数据请求方所请求的目标元数据的地址、数据请求方在对所述目标元数据对应的目标数据进行操作时的目标操作类型。
8.根据权利要求7所述的防火墙***,其特征在于,所述认证模块包括:
身份认证子模块,用于根据预设用户身份信息对所述元数据访问请求中的所述用户名和所述密码进行身份认证;
获取子模块,用于当所述元数据访问请求的身份认证通过时,获取对所述目标数据进行操作时的操作类型为所述目标操作类型的目标用户列表;
鉴权认证子模块,用于判断所述元数据访问请求中的所述用户名是否属于所述目标用户列表中的目标用户名,从而确定所述元数据访问请求是否通过鉴权认证;
第一确定子模块,用于若所述用户名属于所述目标用户列表中的目标用户名,则确定所述元数据访问请求的鉴权认证通过;
第二确定子模块,用于当所述身份认证和所述鉴权认证均通过时,确定所述元数据访问请求的预设细粒度权限认证通过;
第三确定子模块,用于当所述身份认证和所述鉴权认证中任意一项认证未通过时,确定所述元数据访问请求的预设细粒度权限认证未通过。
9.根据权利要求7所述的防火墙***,其特征在于,所述防火墙***还包括:
确定模块,用于当所述预设细粒度权限认证通过时,根据所述目标数据的预设安全信息,确定在所述用户名对应的用户对所述目标文件进行所述目标操作类型的操作之前,是否需要对所述目标文件进行预设特殊处理。
10.根据权利要求9所述的防火墙***,其特征在于,所述HDFS***还包括DataNode服务器,所述防火墙***还包括:
获取模块,用于获取目标数据经所述预设特殊处理后在所述DataNode服务器上的存储地址;
更新模块,用于将接收到的所述元数据信息更新为所述存储地址;
所述第一返回模块,包括:
返回子模块,用于将更新后的所述元数据信息返回至所述应用服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710439355.4A CN107196951B (zh) | 2017-06-12 | 2017-06-12 | 一种hdfs***防火墙的实现方法和防火墙*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710439355.4A CN107196951B (zh) | 2017-06-12 | 2017-06-12 | 一种hdfs***防火墙的实现方法和防火墙*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107196951A true CN107196951A (zh) | 2017-09-22 |
CN107196951B CN107196951B (zh) | 2019-02-26 |
Family
ID=59877982
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710439355.4A Active CN107196951B (zh) | 2017-06-12 | 2017-06-12 | 一种hdfs***防火墙的实现方法和防火墙*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107196951B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818268A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 大数据平台的访问控制方法及服务器 |
CN108289098A (zh) * | 2018-01-12 | 2018-07-17 | 百度在线网络技术(北京)有限公司 | 分布式文件***的权限管理方法和装置、服务器、介质 |
CN109309686A (zh) * | 2018-11-01 | 2019-02-05 | 浪潮软件集团有限公司 | 一种多租户管理方法及装置 |
CN109840424A (zh) * | 2018-12-18 | 2019-06-04 | 合肥天源迪科信息技术有限公司 | 一种数据库加密与脱敏*** |
CN110071870A (zh) * | 2018-01-24 | 2019-07-30 | 苏宁云商集团股份有限公司 | 基于Alluxio的多HDFS集群的路由方法及装置 |
CN111522787A (zh) * | 2019-02-01 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 分布式***的数据处理方法、装置及存储介质 |
WO2020238359A1 (zh) * | 2019-05-27 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 分区授权方法、装置、设备及计算机可读存储介质 |
CN112329015A (zh) * | 2020-12-23 | 2021-02-05 | 黑龙江省网络空间研究中心 | 一种基于代码注入的隐私信息保护***及方法 |
CN112668052A (zh) * | 2020-12-30 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 一种数据脱敏方法、装置、存储介质和电子设备 |
CN112910980A (zh) * | 2021-01-27 | 2021-06-04 | ***股份有限公司 | 一种数据库访问***和方法 |
CN113343299A (zh) * | 2021-06-18 | 2021-09-03 | 浪潮云信息技术股份公司 | Hive数据库动态脱敏***及实现方法 |
CN113722723A (zh) * | 2020-05-25 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、***、设备和计算机存储介质 |
CN113780789A (zh) * | 2021-09-02 | 2021-12-10 | 科大国创云网科技有限公司 | 一种统一数据访问服务型的细粒度权限控制方法及*** |
CN116743511A (zh) * | 2023-08-15 | 2023-09-12 | 中移(苏州)软件技术有限公司 | 一种鉴权方法、装置、服务器及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307185A (zh) * | 2011-06-27 | 2012-01-04 | 北京大学 | 适用于存储云内的数据隔离方法 |
CN103209189A (zh) * | 2013-04-22 | 2013-07-17 | 哈尔滨工业大学深圳研究生院 | 一种基于分布式文件***的移动云存储安全访问控制方法 |
CN104023085A (zh) * | 2014-06-25 | 2014-09-03 | 武汉大学 | 一种基于增量同步的安全云存储*** |
CN104506514A (zh) * | 2014-12-18 | 2015-04-08 | 华东师范大学 | 一种基于hdfs的云存储访问控制方法 |
CN104935590A (zh) * | 2015-06-10 | 2015-09-23 | 南京航空航天大学 | 一种基于角色和用户信任值的hdfs访问控制方法 |
US20160259946A1 (en) * | 2015-03-05 | 2016-09-08 | Tata Consultancy Services Limited | Implementation and management of information security for distributed data storage systems |
-
2017
- 2017-06-12 CN CN201710439355.4A patent/CN107196951B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102307185A (zh) * | 2011-06-27 | 2012-01-04 | 北京大学 | 适用于存储云内的数据隔离方法 |
CN103209189A (zh) * | 2013-04-22 | 2013-07-17 | 哈尔滨工业大学深圳研究生院 | 一种基于分布式文件***的移动云存储安全访问控制方法 |
CN104023085A (zh) * | 2014-06-25 | 2014-09-03 | 武汉大学 | 一种基于增量同步的安全云存储*** |
CN104506514A (zh) * | 2014-12-18 | 2015-04-08 | 华东师范大学 | 一种基于hdfs的云存储访问控制方法 |
US20160259946A1 (en) * | 2015-03-05 | 2016-09-08 | Tata Consultancy Services Limited | Implementation and management of information security for distributed data storage systems |
CN104935590A (zh) * | 2015-06-10 | 2015-09-23 | 南京航空航天大学 | 一种基于角色和用户信任值的hdfs访问控制方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107818268A (zh) * | 2017-11-15 | 2018-03-20 | 中国联合网络通信集团有限公司 | 大数据平台的访问控制方法及服务器 |
CN108289098B (zh) * | 2018-01-12 | 2021-07-06 | 百度在线网络技术(北京)有限公司 | 分布式文件***的权限管理方法和装置、服务器、介质 |
CN108289098A (zh) * | 2018-01-12 | 2018-07-17 | 百度在线网络技术(北京)有限公司 | 分布式文件***的权限管理方法和装置、服务器、介质 |
CN110071870A (zh) * | 2018-01-24 | 2019-07-30 | 苏宁云商集团股份有限公司 | 基于Alluxio的多HDFS集群的路由方法及装置 |
CN109309686A (zh) * | 2018-11-01 | 2019-02-05 | 浪潮软件集团有限公司 | 一种多租户管理方法及装置 |
CN109840424A (zh) * | 2018-12-18 | 2019-06-04 | 合肥天源迪科信息技术有限公司 | 一种数据库加密与脱敏*** |
CN111522787A (zh) * | 2019-02-01 | 2020-08-11 | 阿里巴巴集团控股有限公司 | 分布式***的数据处理方法、装置及存储介质 |
CN111522787B (zh) * | 2019-02-01 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 分布式***的数据处理方法、装置及存储介质 |
WO2020238359A1 (zh) * | 2019-05-27 | 2020-12-03 | 深圳前海微众银行股份有限公司 | 分区授权方法、装置、设备及计算机可读存储介质 |
CN113722723A (zh) * | 2020-05-25 | 2021-11-30 | 中移(苏州)软件技术有限公司 | 一种信息处理方法、***、设备和计算机存储介质 |
CN112329015A (zh) * | 2020-12-23 | 2021-02-05 | 黑龙江省网络空间研究中心 | 一种基于代码注入的隐私信息保护***及方法 |
CN112668052A (zh) * | 2020-12-30 | 2021-04-16 | 北京天融信网络安全技术有限公司 | 一种数据脱敏方法、装置、存储介质和电子设备 |
CN112910980A (zh) * | 2021-01-27 | 2021-06-04 | ***股份有限公司 | 一种数据库访问***和方法 |
CN113343299A (zh) * | 2021-06-18 | 2021-09-03 | 浪潮云信息技术股份公司 | Hive数据库动态脱敏***及实现方法 |
CN113780789A (zh) * | 2021-09-02 | 2021-12-10 | 科大国创云网科技有限公司 | 一种统一数据访问服务型的细粒度权限控制方法及*** |
CN116743511A (zh) * | 2023-08-15 | 2023-09-12 | 中移(苏州)软件技术有限公司 | 一种鉴权方法、装置、服务器及存储介质 |
CN116743511B (zh) * | 2023-08-15 | 2023-11-03 | 中移(苏州)软件技术有限公司 | 一种鉴权方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107196951B (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107196951B (zh) | 一种hdfs***防火墙的实现方法和防火墙*** | |
US20200285978A1 (en) | Model training system and method, and storage medium | |
US10432644B2 (en) | Access control system for enterprise cloud storage | |
US11470084B2 (en) | Query analysis using a protective layer at the data source | |
US10313329B2 (en) | On-demand service security system and method for managing a risk of access as a condition of permitting access to the on-demand service | |
CN113010911B (zh) | 一种数据访问控制方法、装置及计算机可读存储介质 | |
CN109670768A (zh) | 多业务域的权限管理方法、装置、平台及可读存储介质 | |
WO2010138910A1 (en) | Secure collaborative environment | |
CN113542214B (zh) | 一种访问控制方法、装置、设备及机器可读存储介质 | |
US20200175177A1 (en) | Auto-injection of security protocols | |
US11916936B2 (en) | Techniques for incentivized intrusion detection system | |
US9635017B2 (en) | Computer network security management system and method | |
TW201909072A (zh) | 電子帳戶的掛失、解掛、業務管理方法、裝置及設備 | |
US8898753B1 (en) | On-demand service security system and method for managing a risk of access as a condition of permitting access to the on-demand service | |
CN116438778A (zh) | 承担的替代身份的持久源值 | |
US9800585B2 (en) | Restricting access by services deployed on an application server | |
CN114584609B (zh) | 一种纯净浏览器调用方法、装置、设备及存储介质 | |
US20230396445A1 (en) | Multi-signature wallets in public trust ledger actions via a database system | |
Brady | Survive The Deep End: PHP Security | |
Garg et al. | A Taxonomy of Security and Research Challenges in Cloud Computing | |
Sandqvist | Tenant Separation on a multi-tenant microservice platform Thesis for the degree of Master of Science in electrical engineering | |
SANDQVIST | Tenant Separation on a multi-tenant microservice platform | |
Ghafari et al. | Detection and Prevention of Data Manipulation from Client Side in Web Applications | |
CN113645204A (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 |