理解Hadoop未为企业级应用提供的安全措施
本书的第10章节讨论了Hadoop安全以及Hadoop内部的安全控制机制。在构建企业安全解决方案(这类方案会包括很多与Hadoop数据相关 的应用以及企业服务)的时候,保证Hadoop自身的安全只是其中一个方面。组织机构正努力利用不同安全策略来为从异构数据源提取的数据提供一致的安全机 制。当组织机构从外部不同的数据源中提取数据,并且进行转换,装载到Hadoop中时候,在这些数据要被导入到企业应用的时候过程中,安全方面的挑战就变 的更加复杂。例如,Hadoop 工作组合多个数据集并产生新的组合数据集,对于原始数据集你采用何种安全访问控制策略。
要命的是,许多企业发现Hadoop自身提供的安全级别并不能满足他们所有的需求,他们必须要补充Hadoop的安全模型。例如,一些机构被要求加 密静态数据以满足他们的需求,这样的功能,是Hadoop不具备的。另外,数据科学家进行分析查询的时候,一些企业需要为Hadoop 查询提供细粒度的基于属性的访问控制。虽然这些需求目前已经在Hadoop路线图上面,或者会出现未来的Hadoop 安全策略中(如第10章所述)。这类的功能大大超出了Hadoop 本身能够提供的功能。
因为这些挑战,企业级的解决方案必然要按照一个整体的安全方式去开发,而不是以Hadoop为中心。当然,你可以使用Hadoop自身的安全机制去 满足你的一部分安全需求,但是在许多企业中,你会发现Hadoop的安全机制并不能满足所有的需求。使用Hadoop的企业级的应用必须要结合企业大局, 集成其他的安全机制来计划,设计,以及实施。
在第10章的讨论中,Hadoop的设计和开发是没有考虑安全的,而且在很长一段时间内,几乎没有为Hadoop定制的安全机制。早期社区内的设想 是,Hadoop集群会在可信赖环境中由可信赖用户使用的协同,可信赖的机器组成。在之后,Hadoop社区采用了一个新的安全架构,该架构包括了新的安 全控制(如第10章讨论),但是对于那些有很强的访问控制限制,保密制度,隐私要求,以及合规要求的企业或者组织来说,仍然不能利用Hadoop生态系统 中基本的工具来满足他们的需求。他们想要利用Hadoop的功能,那么他们就必须要把安全也构建到其他工具中,或者另外设计一套使用Hadoop的安全解 决方案。
本章是为想要利用Hadoop,却同样要回应安全问题的企业级应用的开发者而写的。企业级应用需要支持一个企业的安全要求,理解这一点很重要。这可 能需要集成身份访问管理基础设施、以及其他的网络基础设施,这同样意味着要采用其他的独立于Hadoop的安全控制。本章提供了满足这些需求的一种方法论 以及一些可能的解决方案。
本章首先会介绍开发基于Hadoop的企业级应用的安全考量的简要概述。然后,会讨论Hadoop安全不提供的功能,以及一系列构建集成 Hadoop企业安全解决方案的方法,包括现实的例子。最后,本章会简要的涉及一下另外一种安全工具Apache Accumulo,你能够将之应用到Hadoop分布式集群中,Apache Accumulo是一种高级安全存储和检索系统,它由美国国家安全局(NSA)为了精细审计而在Hadoop基础上面构建的。
企业级应用的安全考量
在构建Hadoop解决方案的时候,不仅是考虑Hadoop自身的安全性(如第10章所讨论的那样)很重要,另外要理解全局安全策略以及以数据为中心,这两点也很重要。
如图12-1所示,你需要理解Hadoop数据的生命周期。在构建Hadoop解决方案的时候,数据的生命周期包括:从信息源提取数据,装载数据到 Hadoop Cluster中,运行查询,以及分析,到最终利用结果数据。当数据到达的时候,安全框架的目标就是确保整个数据的生命周期中所有的安全策略都能被强制执 行。

不管使用到的工具,数据可以从很多数据源中提取数据,转换为通用的数据格式,然后被装载到Hadoop集群中的HDFS上面去,这个过程通常会被称 为:抽取,转换以及装载的过程(ETL)。数据分析师可以接着运行一些列的MapReduce 工作,以及执行能够产生解决集的查询,这也就是企业级应用所典型的利用Hadoop的方式。
这里的挑战是多方面的,你必须能够在数据生命周期之间的迁移过程中,保证数据的安全性,要坚持最初的安全策略。数据被抽取、装载、和集群中其他机器上面的数据组合、以及产生最终会被其他应用使用的结果集,整个过程都是一个挑战。
图12-1给出关于安全考量点的一个很好的一览,这些安全考量会在本章中被检测。要建立牵涉Hadoop的安全的企业级应用,架构师们需要理解信息 安全的基础,以及他们是如何被应用的。利用Hadoop的解决方案中很多安全目标需要解释,要明白最优方法依赖于理解这些安全考量以及相关术语的含义。这 里的讨论没有提供一份详尽的安全考量点的清单或者是关于每一个安全考量的详细解释,只是提供了作为企业架构师需要知道的为了达到安全目标的简略的信息安全 词汇列表。对于每一个术语定义的目标,你会学习在Hadoop环境中,认识到为什么是重要的。
…
阅读全文