社会保险Hadoop专业解决方案-第12章节 为Hadoop应用构建企业级的平安解决方案

一、前言:

  非常感谢Hadoop专业解决方案群:313702010,兄弟等的大力支持,在此说一样名誉辛苦了,春节次,项目进度有推迟,不过元宵节以后大家早就步入正轨,
目前第12回
为Hadoop应用构建企业级的安全解决方案已翻得,在斯对:译者:杨有鹏 不莱梅狗 
78280847 表示感谢。

老二、意见收集:

  本章节由于《Hadoop专业解决方案群:313702010》翻译小组成功,为小组校验稿,已经经过小组里校验通过,特此面向网络采访意见,如果对本章节内容产生外异议,请于评价中加以说明,说明时,请标明行号,也可以因修订的艺术,发送给本人。非常感谢。

老三、原书说明

  英文原书《Wrox.Professional.Hadoop.Solutions》第12回,请参考英文原稿。

季、翻译原稿

本章内容:

➤理解企业级应用的安关切考量

➤理解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中,运行查询,以及分析,到最后采取结果数据。当数达的时光,安全框架的靶子即保全体数据的生命周期中存有的安全策略都能够给强制执行。

 

 社会保险 1

凭采取及之家伙,数据可起众数据源中领到数额,转换为通用的多少格式,然后被装载到Hadoop集群中之HDFS上面去,这个历程一般会被叫作:抽取,转换与装载的长河(ETL)。数据分析师可以就运行有排的MapReduce
工作,以及实践会生解决集的查询,这为就算是店铺级以所突出的用Hadoop的方式。

此的挑战是基本上地方的,你不能不能当数生命周期之间的搬迁过程遭到,保证数据的安全性,要坚持最初的安全策略。数据让抽取、装载、和集群中另外机器上面的数据整合、以及来最终见面被其他使用使用的结果集,整个经过还是一个挑战。

希冀12-1为来有关安全考量点的一个大好的同观看,这些安全考量会在本章中吃检测。要建牵涉Hadoop的平安之信用社级以,架构师们用懂得信息安全的基本功,以及她们是怎给采取的。利用Hadoop的化解方案受到广大安全目标要讲,要明了不过美妙办法依赖让了解这些安全考量和有关术语的意义。这里的座谈从未供平等客详尽的平安考量点的清单或者是关于各一个有惊无险考量的事无巨细说明,只是提供了作为店铺架构师需要理解之以达成安全目标的简短的消息安全词汇列表。对于各一个术语定义的目标,你会念以Hadoop环境遭受,认识及怎么是要之。

认证

证明就是辨一个主体的位置。一个主体可以是一个用户,一个利用,一个任务,或者系统中另外的角色。就假设第10章节中所谈论的那么,Hadoop可以吃部署使用Kerberos来验证用户,服务,以及Hadoop集群中服务器。认证确保了用户以及劳务正使他们之所标明的位置那样是保险的用户与劳务,阻止了来自于任何恶意系统的套的用户、服务、任务。

消提及的凡,并无是独具的营业所于Hadoop系统之外还配备了同等效企业级的Kerberos系统来当验证体系。企业级的施用或要把其余的位置访问管理基础设备集成进入他们之运。

授权

授权就是控制一个重头戏能够拥有怎样的权限,在关键性通过了证后,系统必须确定重点的批准凭证,并且要将中心的准许凭证和一个授权策略做比,以让核心提供针对性要的资源的看许可。如第10回所陈述,目前Hadoop提供平等种植访问控制级别,这种访问控制利用访问控制列表(ACLs)来发表访问控制策略,非常接近于UNIX的用户-组的用户权限。

除外Hadoop自身提供的授权机制,大多数企业单位还用了另外的授权机制。例如,一个店铺单位可能装有以下一栽,或者多授权机制:
   
➤轻量级目录访问控制(简称OLAP)目录、或者活动目录(AD)实例,这简单种植方法还封存了关键性的组、角色跟权限。

➤属性服务,这种办法使用性能作为核心的特许凭证

➤安全令牌服务(Security Token
Services简称STS),这种授权机制是分配与中心的准许凭证对应的令牌,并分配授权决定事务。

➤策略服务(Policy
Services),该机制是因此而扩大访问控制标记语言(eXtensible Access Control
Markup Language 简称XACML),或者安全断言标记语言(Security Assertion
Markup
Language简称SAML)来发表对资源访问控制策略,并也本位提供访问控制决策。

运Hadoop的企业应用需要根据他们自己集体的访问控制策略来决定对数据的访问,也就是说要使其他的建制来上Hadoop自身之授权决定。

要记住的凡,在数额的满生命周期中实践授权决定的一致性是死要紧的。如果您的起数据源自身就是有对他们的数目的访问控制策略,为查询数据的数额科学家提供相同的访问控制策略十分要紧。同样,对于随后产生的用为导入到企业应用中之结果集来说,采用恰当合适的访问控制更加重要。这实在是一个挑战。

机密性

机密性就是限量敏感数据,用户只能看被授权了之许看的有的数据。当敏感数据以网络上传的当儿,这便待在数据传过程遭到,数据不能够为偷听者读取。这得据此了网络加密来落实。一些店家急需磁盘加密,或者是静态数据加密,静态数据加密就是多少就在叫积存地方给加密,减少了无被保障数量的被盗窃的高风险。

在第10回中,我们学到Hadoop提供了网络加密的力量跟机制。然而,Hadoop没有提供对静态数据的加密功能。在本章的背后的节,你可学学及上静态数据加密这等同对象的汇集政策。

完整性

完整性确保了数码在传过程遭到或是出生后(成为静态数据)不能够吃移。完整性可以透过加密完成,该加密可以采取信息摘要,哈希码,或者是数字签名的抱影响。当Hadoop被布置成采取网络加密的时刻,Hadoop会在传过程被保证数据的完整性。

静态数据就是另外一栽状态,幸运的是,Hadoop保证了静态数据的完整性,他透过以副本形式保证数据可靠性。数据的完整性和可靠性是Hadoop系统的健壮性,以及他的分布式架构的一个有意识的叠加影响。由于HDFS被规划改为运行于法商用硬件方面,用当不同节点上面拷贝数据的办法来达成容错的目的,正是由于数量副本的多寡,校验和自我批评机制,冲突检测机制,Hadoop为保存在HDFS上面的数量提供了一如既往效仿保证数据完整性的健全的编制。

只是,安全架构师有时见面建议一种植担心,这便是一旦Hadoop当中的一个节点缺乏抵抗能力,一个恶意之用户可能会见修改数据,那么就就算会见歪解数据解析的结果,这种情景完全可能有,但是用Hadoop的平安机制(服务器/服务
认证,数据完整性确认等等),配合深度防御政策,企业级解决方案架构师能够减少这风险。

审计

多数之号还见面使用安全审计来保证合规事项的保密性,以及识别潜在的安缺口。Hadoop当然好被布置成记录有的访问日志-NameNode上面保存一客本地日志,一个审计日志记录器可以为布置将访问信息写副一个一定的安康卷面盖担保日志的完整性。企业当为得以于授权和验证方面抱有更多的要求。

注意:尽管关于经典安全目标的大多数的描述都关注机密性,完整性,以及可使用性,这里的描述却关注认证、授权、机密性、完整性以及审计,这是由于这些都是企业应用的安全的关键方面。可使用性(确保能够访问Hadoop)当然也是很重要的,这点在Hadoop设计的时候就已经被关注了。Hadoop是高度可靠的,对于可使用性,Hadoop包含一条重要的跟踪记录,Hadoop同时能够部署你企业内部的其他的安全机制(比如入侵检测系统),来保护系统避免受到Dos攻击。这些都不会在本章讨论,因为这个讨论主要面向于企业应用的开发者。

 

 

 

 

对此企业应用, Hadoop安全机制不提供什么?

于本章剩余的一些受到之情节跟安全术语中,重要的一些凡若得明白企业安全之某些地方,而这些方面Hadoop自身为不克提供。当然Hadoop提供了自然级别的征(Kerberos)、一定水平之授权(ACLs
以及
UNIX级别之文件权限)、以及支持网络加密和完整性的力。然而,仅仅靠Hadoop,还有好多安方面未克提供。

面向数据的访问控制

除外当HDFS上面的针对性用户与组的ACLs(访问控制列表)以及因POSIX的公文读写权限,Hadoop自身不见面跟踪数据的访问控制策略。正使您于本章学到那么,很多小卖部机构还见面冲不同之方针来界定对数码的走访,而这些政策通常还要非常复杂。可能会见产出有气象,Hadoop系统面临多少集中之一律组成部分数据未可知给数分析师访问,这些数量分析师可能无克看MapReduce
工作之结果集及查询的结果。

下介绍了有的吓的例子:

➤一个卫生保健机构或者要求医生只能看同他的连锁病人的数码,并且不得不以正常的工作时间(早上9点和下午5点)访问数。这就是象征需要针对患儿的多寡提供访问控制,需要一个网,该体系能基于角色(医师),以及时(比如常规的干活时)来限制数量访问权限,同时还要判断该数据是否属是医生的患儿。

➤一份政府文件或者只要因一个用户之国籍,以及/或者一个安康检查的求,该安全检查通常被誉为强制访问控制。

➤某公司之财经咨询师不克看该商厦竞争方的计划跟建议。这种情形为称为“利益冲突”或者是“中国长城”策略。

➤一个高等学校可以搜集各个部门或者子机构的生信息,可能干经济,医疗记录,校园警察。大学或者得依据单位或者角色(医疗、警察、金融政策)来控制数据的拜会。

 

立马之中的各级一个例证中,Hadoop自身的安全体制不克自由之执行这些访问控制策略。一些挑战可能是搭方面的,这亟需根据MapReduce的算法。导入的数额或许于初始之上同访问控制策略关联好(比如在数量用安全策略标记的例子中)。然而,当数据分布在HDFS上面或者跟任何数据集连接的时节,这就可能会见招数据及安政策之间时有发生裂缝。这或者造成新合成数据方面的访问控制策略就是见面无那么清楚。

于欲这种级别之访问控制的部门来说就便是一个题目,本章的后面的情节中会考查该问题。

差异性隐私

对无意泄露的信息之钻工作都拓展了濒临40年,包括统计学数据库,到跟数据挖掘有关的安全与隐私关注。在数对中,微软研究院之Cynthia
Dwork博士使用差异性隐私(differential privacy)来定义这等同领域。

差异性隐私关注为维护来不同数据集或者数据库的消息,避免其叫泄漏。由于Hadoop以及其他数解析平台能以大量盘算资源来处理过剩不一之雅数据集,包含了重在的难言之隐与法意义的差异性隐私便改为了热门话题。在如美国正规保险携带和权责法案(Health
Insurance Portability and Accountability Act
简称HIPAA)等隐私保护数字法当中,差异化隐私显得愈加关键。

就是一个Hadoop数据集的隐私保密信息已经被微去,而拖欠数据集可能就含有(或者配合)其他看起并无损害的信息,这些类似无害的信仍旧可能为用来泄露个人的位置或其他敏感信息,这就是造成了负隐私策略。可能会见合成来自多单例外之Hadoop工作遭到领到的数信息,这样,数据分析师还是Hadoop用户就未可知看到这一部分明的音信。然而,Hadoop自身是未提供这种差异性隐私之护力量的。当然,Hadoop包含了邪中用户提供了访问控制隐含式,对同任何团队共享统计信息和数据的团队也供了老重大的隐含式。

盖受不少社使用的Hadoop是无敌的辨析平台,它好叫用来发现你或许未可知觉察的信息。组织部门用在朝着公众或合作方发布数据之前都亟待数考虑。根据你的其实条件,对而的数据可能会见时有发生有里边的主宰,要懂,一些Hadoop用户以她们之辨析查询当中或者无同意看一些结果。这也是NSA所关注之少数,NSA开发并发表了Accumulo,Accumulo项目是属Apache的开源项目,他提供单元级别(cell-level)的安康。

差异性隐私问题举例

    最为广泛关注一个差异性隐私的例子发生在Netflix。在2006年,Netflix开展了一个奖金为1百万美元的比赛,来给它的电影推荐系统提高10%。为了给参加比赛的开发者在比赛当中有数据可用,Netflix发布了一些的被处理过的匿名训练数据集,其中包含了一百万订阅者的电影浏览历史信息。该数据集中有Netflix用户观看电影的排名,但是没有个人身份信息。

    两个研究者,来自于奥斯汀的德克萨斯州大学的Arvind Narayanan博士以及Vitaly Shmatikov将Netflix的数据集和互联网电影数据库(Internet Movie Database,简称IMDB)评论数据,利用新的反匿名话算法(de-anonymization algorithm)。他们发表了一份研究报告,该报告表示他们能够在数学上识别Netflix数据集中的很多用户。基于一个用户的某些电影在IMDB中排名信息,研究者表示他们的算法能够识别在Netflix数据集中相同的用户,从而能够找到Netflix用户在2005之前的所有电影浏览历史,这就导致能够获取用户的有关宗教信仰,性别以及政治主张等潜在的信息。结果,一个Netflix用户起诉Netflix发布的有关他们的数据违反了视频隐私保护法案(Video Privacy Protection Act 简称VPPA),并暴露了她是一个同性恋。为解决这场官司,2010年Netflix支付了9百万美元。

就在同时,出于研究目的,AOL发布了一些“匿名的”搜索引擎日志。一个纽约时报记者利用电话薄对照这个数据集就能够识别一个用户。这份数据集当中包含了AOL用户的三个月的搜索历史,其中一些信息相当令人相当尴尬。该事件直接导致了AOL的CTO的辞职,以及两个AOL雇员被结果,以及一起针对该公司的集体诉讼。

还有其他无数需要注意的例子。比如,MIT的一个研究者能够从一个匿名的州保险数据库中结合公开可用的州选举登记记录识别她主管的医疗记录。

这些例子证明安全问题迫在眉睫,例子显示出数据集是如何能够被组合使用,从而违反隐私法律,法规,以及绕过用户的访问控制限制。通过使用这些相同的原理,如果你并没有进行恰当的控制,内部的Hadoop用户可能能够绕过安全限制。

加密静态数据

是因为针对存储在磁盘或者极端用户设备方面信息之机密性有太多的威逼,许多负有敏锐信息之底团组织部门都需要针对静态数据进行加密。这种需要的由来与来自恶意软件之威逼有关、也与数据敏感度和机密性有关,或者是同法律规章有关。例如,HIPAA就隐含了针对性静态加密数据的指导条例,这些静态加密数据及电子为保障之健康信息(Electronic
Protected Health
Information简称EPHI)或者其他让法律保护之个人身份信息(Personally
Identifiable Information简称PII)。

有团体机构正极力对存储于HDFS上面的静态数据进行加密,而这种加密是Hadoop自身并无提供的。然而,第三方库以及任何的产品会兼容Hadoop一起来满足这些需要,Rhino项目(在第10节讨论那样)正致力为解决Hadoop当中的此问题。

 

供销社安全集成

多数之信用社在他们中间还发出丰富多彩的平安根基设备,包括进行身份证明的公钥基础设备(Public 
Key Infrastructure 简称PKI)组件、活动目录(Active
Directory)、安全令牌服务(Security Token
Service)、属性服务、用户征的策略服务器,策略服务器提供了授权特许凭证,并且制定及行访问控制决策。Hadoop自身之安康力量并无能够连续能够嵌入或者合并每一个团队的安基础设备。当安全需要要求企业应用要和一个团组织的平安根基设备进行合并的时候,安全架构师的之天职就是是统筹出一致模拟解决方案能够采取另外工具将Hadoop与这些安全根基设置开展集成起来。

 

护卫下Hadoop的企业应用的法

前不久,大量的色,包括Hadoop附属项目,或者是专有的Hadoop发行版都答应如果加深Hadoop的平安。Hortonwork的Knox
Gateway项目,Intel的安提高版Hadoop的发行版,以及有诸如Rhino等开源项目,Rhino已经宣告了并且承诺帮助企业应用开发者来达成他们平安要求。不管怎样,每一个企业应用都无平等,每一个行使部署所用之安康要求啊不相同,认识及立刻无异接触特别主要。

于进入到具体细节之前,你得懂得啊用Hadoop的企业应用而提供的组成部分通用的基本要素和指导方针。对于这些基本要素和指导方针,很多种类在关怀某些安全机制的时节起了偏移,他们连无遵循那些适用于任何项目之通用的指导方针。

➤确定你的平安需要 —
理解你的安需求特别重大。对于证明、访问控制、审计、加密、完整性、以及保密性的需要还在于你的团。相对于Hadoop运行时我的安(Hadoop自身的安提供了针对实施查询或者运行工作的使用和用户之访问控制),围绕Hadoop
MapReduce工作之结果数据集的安,你可能会见提出如此问题。要跟相当决策制定者交谈,以解什么是用之,这样您才会制定相应的计划。

➤从上马就是围安全要规划 —
这些品种之一个合伙之要的题材是最后还是计算改善安全性–这种做法导致了架变得短期化并且脆弱,而且使得项目最终决定失败。如果你色面临留存类似于本章讨论的安全性要求,而你认为你不过关注数据解析如果于后来才去担心去维护而的方案的时段,那么你不怕会见面临着好特别之高风险。重点开发初期的高档安全架构的,这些架构可以跟局部适合的权威专家一起讨论,以取得概念上之同情。

➤不要保护你免需要保护的事物 —
如果您以达成本章讨论的一些目的而不欲安全性要求是,那么就是毫无使用安全性保护措施。不要给不必要的需的强化复杂性,或者是负载的性质。

➤使用深度防御措施 —
不要设想通过一个独的安全性措施还是机制来遮或者阻止一次攻击或者是违安全策略的行事。深度防御措施涉及到了独层次之看守。

➤记住大局 —
理解您的数目的生命周期,如图12-1所出示之那么。要解提供安全性保护或许代表在满数据生命周期(从老数据源的多少,到于转载到Hadoop集群被的数据,指导最终之结果数据)当中还如控制访问,以及保护与推行安全策略。

下的组成部分即使会见深入钻研满足某些安全性要求跟上Hadoop自身安全性功能的点子。讨论会关切为三个基本点的法门,这些办法配合Hadoop自身的建制构建企业安全之保护墙,在生一个有的中级,将讨论Apache
Accumulo。

 

动Accumulo的访问控制保护

Apache Accumulo是一个疏散的、分布式的、分类
、多维的键/值存储方案,他所有单元级别的细访问控制的风味。他是由NSA在2008年依据Google的BigTable的论文开发的,在2011年之早晚Accumulo被颁发暨Apache开源社区中。目前Accumulo已经变成Apache的五星级项目。Accumulo是一个高度可扩大的NoSQL数据库,他建立于Hadoop和Zookeeper之上。Accumulo被开发之如出一辙有的由是只要缓解好数据的安全性问题。

Accumulo扩展了BigTable的数据模型,但是补加了一个元素以提供单元级别之要挟基于性之访问控制(Attribute-Based
Access
Control,简称ABAC)。所有被导入到Accumulo的多少都得以由此可视化的支配来号,基于访问控制策略当中的可视化控制,数据分析师查询数据的时刻,他们只得查看到给允许看底那有些。Accumulo的API提供了可是供应你轻易实现客户端,自定义之客户端程序可以证实用户、和供销社性质服务集成,企业性质服务得拉取用户授权凭证以提供一定水准的访问控制。Accumulo同样提供了存储用户和授权信息的效用。

一旦图12-2所出示,Accumulo是一个key/value的囤积方案,Accumulo的key包含了5只元组。Accumulo中之Key是由于Row
ID、Column Family、Column Qualifier、Column
Visibility、Timestamp组合而成,这个5个要素的key关联一个value。

 社会保险 2

 

 

其一5头条组的Key提供了原子性、局部性、独特性、访问控制和版本控制。需要小心的凡Key当中的Timestamp提供了同一数据包含多单本子的机能,Timestamp根据不同之时日跟日期。在异常挺程度上,Accumulo借鉴了BigTable的大部数据模型,但是在了可视化元素以提供面向数据的安全性–这就见面只有回那些可视化标签满足吃实践查询的用户要采取之凭证的单元。

Accumulo以及HBase当中数据级安全性差异

     HBase和Accumulo相似–都是运行在Hadoop上面的BigTable的实现的Apache项目。HBase和Accumulo都提供了相似的数据级安全性,但是是以不同的方式。正如第十章所讨论的,HBase提供了对每个表或者每个列的数据访问控制。在这点上面,HBase不提供单元安全性,而这正是Accumulo提供的。但是,目前在Intel的发行版本Rhino项目中已经在进行类似的工作,在不久Hbase也会支持基于单元的安全。

     HBase能够很容易的集成Hadoop安全模型(使用Kerberos),而这种方式和Hadoop生态系统的其他项目保持了一致。另外一方面,Accumulo是Apache新的顶级项目,他包含了一个内置的访问控制数据库,而他没有采用和Hadoop生态系统的其他项目一样的方式。

HBase和Accumulo都很流行。由于Accumulo的单元级的安全性,在一些高级安全环境中,Accumulo更加普遍,Accumulo许诺提供和强制执行访问控制(Mandatory Access Control

简称MAC)以及其他不同的安全性相关的解决方案。

 

多数之开发者都较熟悉关系项目数据库,这些数据库的申结构如表12-1所出示,示例的表是一个二维模型。

表12-1:关系项目数据库模型示例

 社会保险 3

当Accumulo结构面临,相同的数量如表12-2所展示,Accumulo中数论比缜密的粒度存储,包括可见度(visibility)以及一个timestamp,其中timestamp可以假设你跟超时的数额的变动。

表明12-2:Accumulo数据模型中的多寡

 社会保险 4

用留意的凡,在说明12-2受到,可见度被用安全记进行了符号。这些安全标签能够给增长,使用AND/OR的布尔逻辑。例如,你得提出如表12-3所著之授权策略,表12-3被授权凭证可于新建和和用户关联,以克表中各一个单元的拜会。

说明12-3:安全策略以及对应之安全标签示例

 社会保险 5

于Accumulo的安全模型中,需要用户访问信赖的客户端(作为一个开发者,你得编制这样的客户端)进行认证,客户端要担负征用户,并且朝Accumulo发送合适的授权信息。你可选取并你协调之印证与授权系统,或者您得运用Accumulo内部的说明/授权的零件,该零件当中存储了用户和用户的授权凭证。本节中间会供每种选择的例证。

 

一个简的事例

吃咱因此一个大学之数据库作为例子,该大学从不同之一对和子机构中搜集学生的信。在例子中,你会看到来自校园医疗基本、财务中心、大学管理、体育设施、大学预防人员之数据。很特别范围外的数量还让采集了,并且能够让有着的单位查询,你或给求维护这些数据,这些要求包括如下几种植:

➤学生的医检查笔录只能为看人员还是是管理人员浏览。

➤大学体育课当中学生的以及体育记录相关的记录只能针对他们的训练、有时有医人员可见

➤付款记录,成绩,如社会保险号码等灵活信息只能针对大学管理人员所见

➤关于学生的校园警备记录只能针对校园警察还是大学管理人员可见。

对于这事例,让咱加载一些示样数据及Accumulo数据库中,如表12-4所著,在此简单的例子中,有一个称为Kirk
Rest的学习者,他发各种各样的信息,这些消息来源该高校的诸多数据源。

表明12-4 大学数据示例的Key/Value(待续)

 社会保险 6

表12-4 大学数据示例的Key/Value(续)

 社会保险 7

倘若装载这部分音的Accumulo存储是成立于一个测试Hadoop实例上面的。为是,你要动用Accumulo的shell,该shell是Accumulo一个简的客户端,能够吃用来创造及改表,同样会给用来创造用户和被用户指定授权凭证。因为本章将关爱同安全性而无是Accumulo的细节,所以不会见以本章提及装载数据的细节。

注意:由于不同版本的Accumulo使用了不同版本的Hadoop和Zookeeper,有时设置Accumulo是很大的挑战。一个开始Accumulo的简单的方法就是使用一个已经配置完了的虚拟机(VM)。Sqrrl公司的网站提供了一个亚马逊单机实例(Amazon Machine Instance 简称AMI),借助它可以快速的开始Apache Accumulo,Sqrrl公司也提供了一个Oracle VirtualBox的VM。具体细节,查看他们的网站http://www.sqrrl.com/

VM的网址:http://blog.sqrrl.com/post/40578606670/quick-accumulo-install/

 

 

 

 

 

 

 

 

Accumulo被优化成能很快提取key的value的系。为之,一个若出的Accumulo客户端(在此处的情景屡遭,客户端可是Accumulo的shell)可以创建scanner,scanner可以迭代value。如您瞧Listing
12-1,scan命令使得你迭代查询同一摆放而新建名叫universitydata的阐发底value值(root用户被授权可以拜表中所有的内容)

 社会保险 8

以证明单元可见性的事例,你创造如下几个用户:
    ➤一个医生(drhouse),你于他予以了MEDICAL 角色

➤一个大班(denyseAccountant),你受他与了ADMIN角色

➤一个训(coachTark),你叫他给予了COACH角色

➤一个警察局长(chiefDoug),你为他给了POLICE角色

若Listing 12-2所著,你利用Accumulo
shell给持有用户指定读取表的权位(授予他们每个人Table.READ权限),然后利用setauths命令为她们指定角色,这无异步是为了设定可见度。

 社会保险 9

终极,为了显示Accumulo将会保护表中的多寡,你用Accumulo
sheel以各级一个用户进行登录。你得scan(或者迭代)整个universitydata表。Listing
12-3,显示了你或如何用用户coachTark,drHouse,denyseAccountant和chiefDoug,并拓展表迭代,表根据各个一个用户的权进行访问控制。

 社会保险 10

从Listing
12-3得以见见,Accumulo可以依据各一个用户授权决定来限制访问,这或多或少得经过行使Accumulo
shell来说明。现在,让咱来用JAVA建造一个Accumulo
Client,来证实本例中一致级别的访问控制,该客户端同时还会见与商家外之身份识别和访问管理基础设备集成。

因Accumulo适合于集成店的底蕴设备,Accumulo拥有一个灵活的范。如前方的提及的那样,Accumulo
Client的事就认证用户并领取用户的授权凭证,发送凭证社会保险给Accumulo以开展处理。只要Accumulo的表中数据的可见性属性为用以及君企业性质存储系统中一致的性能和角色标记了,数据的可见度就会做事好。如果不是,你见面得以Client端中对这些自性能存储系统被拉取的特性进行一下拍卖,以保她们具有同样的性状。

为了证实就点,让咱们通过一个简练的例证,该例子描述了怎么编写一个略的Client来验证用户,认证可以透过公选的认证机制来形成,以及从由于而挑选的习性服务或LDAP
目录拉取授权凭证。

Listing 12-4
显示了一个例,该例子使用JAVA类来连接Accumulo。为了连接,你要利用Connector来树立一个Accumulo连接。为是,你用首先连接至Zookeeper实例上,该Zookeeper实例使用ZookeeperInstance类来跟踪Accumulo,ZookeeperInstance会返回一个connector。

 社会保险 11

假定而建了一个总是,你想使说明一个用户。在这种景象下,对于此简单的例证来说,你自命执行取得用户,并且用的传递让一个外表类叫做CustomAuthenticator,该类简单的亮了你可以使用另外一个以Accumulo外部的求证机制以及授权机制。在CustomAuthenticator类中,你管自命执行扫描到之用户称和密码传送至authenticate()方法中。如果一个用户成功通过验证,然后你尽管可从外表的囤系统受拉取用户之授权凭证,凭证在Accumulo的类org.apache.accumulo.core.security.Authorizations类被归。最后,如以前头的例子中所著之那样,你创造一个scanner来迭代在跟一个表中value值,然后答应结果。

Listing 12-5
显示了命令行的结果。在斯事例中,你设置了一个表面的LDAP目录,该目录中有一个用户称吧joeUser,他的角色吧ADMIN。

 社会保险 12

本例中让验证的用户,joeAdmin,并无像前的那些例子那样被贮存于Accumulo当中。如这里表示的那样,你可以编制一个Client来说明一个用户,从店铺的储存系统遭到拉取授权凭证,以及查询Accumulo的数。

关于Apache
Accumulo还有许多事物–博免克当本章中盖到。然而,重要之是为着多少安全性使用Accumulo的团伙机关,要认识及Accumulo只是商家安全解决方案遭的一个方。企业安全需要深度防御,必须覆盖到数量的全套生命周期里面,而不光以Hadoop当中的多寡。

加密静态数据

加密Hadoop中静态数据已经是过剩品种受到的热门话题了–这些项目被有的凡开源的,一些是生意的。Hadoop自身并无提供这么的加密功能。目前,很多店正保护在不同发行本的Hadoop中的灵活数据,不仅仅是维护敏感信息,也迎合如HIPAA这样的法还是其他安全法规.很多团机构想使下加密静态数据来保障免恶意用户获得对DataNode的未经授权的访问。

当下早已提出的片段缓解方案中,包括Gazzang
zNcrypt,该方案为Cloudera的发行本供了数安全性保护。于以2013前期发布的Intel的Hadoop发行版,已经通过优化来加密静态数据,这得在动用该企业之Xeon处理器。好像,每天还来新的解决方案出现–但是到目前为止,所有的缓解方案还是就是个人的,要么要将你绑定在某个同Hadoop的批发本受。

如第10节中涉嫌的那样,Rhino项目(又Intel贡献给Apache社区)包含了增长效能,包括分布式Key管理,和静态数据加密功能。Hadoop开发社区目前正值考虑以立刻功能吗位于未来之Hadoop版本中。

无论您用什么机制来吧Hadoop加密静态数据,你要清楚静态加密功能的非故意的熏陶,这点特别重点。如果您得同种植加密静态数据的化解方案,记住加密会潜移默化至公的特性。如果你觉得你的MapReduce工作或者于目前预期的要慢,想象加密会叫性能带来什么样的震慑。Intel的Hadoop发行本通过优化来开加密和解密,这种优化是经应用一定处理器的硬件来好的。记住只出Intel的Hadoop发行本是成他好之硬件加速器。企业架构师需要权衡加密静态数据给使用带来的影响–如果您真正要这种功能,那么只要基于性来展开设计。

时,你恐怕会见出于多只原因想避免执行静态数据加密,除非你继承要贯彻。首先,静态数据加密领域是非常复杂的,因为分布之多寡及key管理。另外,Rhino项目让这个小圈子带来的加强即将到,但是在此之前,你可能会见绑定以某一样一定的发行版或者厂商方面。最后,如涉嫌的那么,存在静态数据加密来拉动的特性方面的究竟。如果您的多少是如此的快以至于你方追加密静态数据的可能,下面的一部分或者会见是一个化解方案。

纱隔离和分手方法

若果前提到的那样,拥有保密和伶俐的数的团单位或直接会就此大网隔离的措施来隔断他们的Hadoop集群,用这种措施来满足她们之平安要求。这些单位一般会根据用户级的授权来决定对某单独集群的拜访,这种用户级的授权机制通常以物理安全来当维护机制。其他部分机关会使用低限制的章程,比如分离网络,但是允许给信赖服务器和工作站能够在有限单网中进行传输。

这些方法还是是一个实惠之精选,原因包括:

安全性集成的扑朔迷离
如果您的安全策略非常严峻,你的数目异常乖巧,以至于你不得不待并大量Hadoop自身不提供的安全性控制及Hadoop当中,考虑以网络隔离,将其掌握其他网络中分离出去,并且限定才允许给授权的用户访问。如果您做了,那么你偏偏需要担心Hadoop结果数据集的昭示,而未是Hadoop运行时之安全性。这即极小化了若的整体高风险,并且能够减少大气之劳作。

性能
“安全是性的敌人”这句话时于提及。在一个化解方案中,你进入了尤其多的安全性机制的当儿,解决方案虽会见变换得越慢。在保护Hadoop的时,这点真这样,特别是使您考虑用第三着的工具来加密及解密位于HDFS上面的数码的时候。许多人数还见面利用网络隔离的法子来随便的避免了性能损耗。

数据集的差异化安全性
你团队的组成部分数或许不得不宣布为一点特定人群。在这种气象,Hadoop工作之结果集也同敏感。虽然有的暨Hadoop相关的家伙(比如HBase、Accumulo)能够提供相同栽在列级(HBase)和单元级(Accumulo)过滤访问的方法,其他应用Hadoop的工具不会见供这种安全级别。如果您在运作Java
MapReduce工作因建某些结果集,并且采取了大气之堵塞的工具,也许考虑因可看的人流来分别集群是一个较聪明的做法。

Hadoop安全性蓝图的形成
针对Hadoop的众初的制品,发布品、发行本都提供了初的平安特点。如第10回提及的,针对Hadoop的安全性的提高在贴近几年将到。即将要来之变更会潜移默化至以Hadoop企业的下,在领略这些反带来的名堂之前,有多团队机关正在选择网络隔离的模子。

以拼之前进行数据安全评审 — 
由于网络隔离的不二法门不克针对身处其他网络方面企业应用的数量开展实时访问,在企业应用使用材料前,网络隔离允许对及过滤这些素材,这削弱多少了也许的保密性和隐私的侵蚀。(对于实时Hadoop来说网络隔离肯定是相同管双刃剑,并且为了发布企业应用使用的数据集,还需要肯定的拍卖)。

企业应用安全遭受,网络隔离会当重重艺术实现,图12-3
显示了扳平栽方式。一个团体机关创建了一个“Data
Analytics”网络,他同团队的小卖部网分通过一个物理的“air
gap”离开来,以阻滞数据以简单个网中开展传输。在“Data
Analytics”网络中,用户恰当访问控制的多少分析师在Hadoop集群被进行查询及MapReduce操作,对于这网络的访问控制又物理安全设备或者经对施行查询的客户端机器进行说明。

 社会保险 13

 

图 12-3 “Air gap”网络隔离内之导入导出工作流

为支持下这些结果数据集的企业应用,需要付出与运一些老大重大的办事处理:

  1. 率先,任何索要为解析的数目还必须从当商店网中数据库及采取中领到及,写副,并带走到此隔离的网络。
  2. 设若数据准备好于解析了,并且为为装载到聚集众多中,Hadoop
    MapReduce工作就会运行,直到结果可知叫检阅。
  3. 据悉最终之结果,结果集必须于用授权策略进行标记,该授权策略也克让标的企业应用控制,或者结果集必须叫过滤,保证敏感、机密或者保密的数目为移除掉。
  4. 要数据集让过滤或者给用访问控制策略标记了了,数据集就深受勾勒副到介质中,导入到企业应用中。

对此众多部门,由于要关到一定量单网,这就需要一个笨重的拍卖,就需一个于原先网络导出数据,并导入到数量解析网络,进行分析,过滤,然后以企业应用准备结果集。即使是历程格外笨重,然而,在数额好快的时节,许多集体机关还见面动用这种艺术。

因牵涉的纷繁,许多团队还转发一个近乎之模子,该型限制了企业网内的可信赖主机到多少解析网络的流量,如图12-4所显示,ETL处理过程可以超过网络开展,移除了之前描述的第一步。

 社会保险 14

图 12-4 单为传输的网隔离

微部门优先挑选Apache的Accumulo来对数码进行访问控制,他们将结果集进行数量过滤后,发布到商店网中–比如,创建一个“企业网用户”,该用户有的凭等该网最低级别之授权。根据拖欠用户过滤数据,通常会使结果集能够挺轻之传递,而非用担心信息的非故意的泄露。

纱隔离可以经过其它特别多种措施来贯彻–这就是中间的有些。其他涉嫌到Hadoop集群网络隔离措施亟待根据数量的类,一些不如限制的计需要允许连接到信用社网络被机器要从店网络中之机连接出来,这需要使用访问控制列表(ACLs)来对而信赖的主机进行限。

你的解决方案面临于商家安全性的各国一样组成部分都依靠让公的社机关的安全需要–两只机构颇少一样,无论如何,本章中示范和点意见该力所能及助你构建而企业的安全解决方案。

总结

本章从安全策略以及坐数据也主干的见出发,为汝提供了关怀被数的生命周期的商号安全视图。安全架构师在力所能及使Hadoop和任何补给安全工具来解决企业安全性的不同地方,要懂得是全局,这点杀要紧。

本章开头介绍了开支使用Hadoop的企业应用的平安关注点的一个总归的简图。你念了Hadoop自身没有缓解之局部安康挑战点–包括数据集安全,差异化隐私,静态数据加密。你瞧许多构成Hadoop构建企业安全的缓解方案的点子,并且上了有些点意见以及示范。你读书了哪以Apache
Accumulo来实现单元级的安,同时询问了静态数据加密和组成部分可用之精选。你而还学习了网隔离的有措施,这些方式被广大关怀敏感数据暴露的部门所采用。

安康题材即恰恰变为Hadoop中管发展之话题,在连片下去的几乎年时内Hadoop将会见成长之小圈子。第13段关注被外一些即将赶到之Hadoop的提高效能,其讨论趋势正涌现出,并且以会见于未来频频成长。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注