在Apache Hadoop中使用Rhino项目进行数据加密

  Cloudera最近发布了一条关于Rhino项目和Apache Hadoop中静态数据(data at-rest)加密的新闻。Rhino项目是由Cloudera、Intel和Hadoop社区合力打造的一个项目。这个项目旨在为数据保护提供一个全面的安全框架。

  Hadoop中的数据加密有两方面:静态数据,存在持久存储器上的数据,如硬盘;传输数据,数据从一个进程或系统传输到另一个进程或系统。大部分 Hadoop组件提供了对传输数据加密的功能,但是不支持对静态数据进行加密。安全监管机构,如HIPAA、PCI DSS和FISMA,也提倡要注意数据保护和加密。

  Rhino项目为HBase 0.98贡献了关键的安全特性。它提供了数据单元(cell)级别的加密和细粒度访问权限控制的功能。

  InfoQ最近和Cloudera安全部门的产品经理Steven Ross进行了交谈,了解到了Rhino项目的更多信息。

InfoQ:Rhino项目是何时启动的?这个项目的目标是什么?

Steven Ross:为了推动一个全面的、用于Apache Hadoop数据保护的安全框架的开发,Intel在2013年早期发起了Rhino项目的倡议,并为项目制定了几个大目标:

利用硬件提升加密性能为Hadoop支持企业级认证和单点登录服务为Hadoop提供基于角色的访问权限控制功能,并在HBase中支持数据单元粒度的权限控制确保对Apache Hadoop重要组件的一致性审查

InfoQ:Rhino项目是一个综合性项目。Apache Sentry也被包含在Rhino项目中。Rhino包含了哪些不同的子项目,能请你分享一些这些项目的细节吗?

SR:在2013年的夏天,Cloudera发布的开源软件成为Apache Sentry项目(孵化中)的基础。这个项目得到了Oracle、IBM和Intel工程师们的鼎力相助。Apache Sentry为Hadoop集群的数据和元数据提供了细粒度的认证支持,并且已经被一些大型企业部署在产品中。

Cloudera和Intel有着战略伙伴关系。来自两个团队的安全架构师和工程师都已重申了加速对Apache Hadoop安全功能开发的承诺。为Apache Hadoop开发出更健壮的认证机制,Rhino项目和Apache Sentry的目标是完全一致的。两家公司的安全专家的成果已经被合并在一起,并且他们现在在这两个项目上都有投入。

InfoQ:Apache Sentry是个什么样的项目?

SR:Apache Sentry(孵化中)是一个高度模块化的系统。它为存储在Apache Hadoop集群中的数据和元数据提供了细粒度的、基于角色的认证功能。

Hadoop生态圈中的项目有着各自不同的、需要单独配置的认证系统。Hadoop的灵活性使得生态圈中不同的项目(如Hive、Solr、 MapReduce,Pig)能访问相同的数据。由于每个项目的认证配置都是独立的,管理员很可能在企图保证策略一致的情况下得到不一致的、相重叠的策 略。

Sentry提供了一套集中的策略。这套策略能被应用于许多不同的访问途径。通过这个方法,Sentry解决了这个IT管理和安全上的挑战。因此,IT管理员能够对数据集进行权限设置。并且知道无论通过何种途径访问数据,这些权限控制都会得到一致地执行。

Sentry的技术细节:

Sentry通过一组特权,如SELECT和INSERT,控制着对Hive Metastore中每个schema对象的访问。schema对象是数据管理中常见的实体,例如SERVER、DATABASE、TABLE、 COLUMN和URI,也就是HDFS中文件的位置。Cloudera Search有它自己的一组特权(如QUERY)和对象(如COLLECTION)。

和IT团队已经熟悉的其他RBAC系统一样,Sentry提供了:

有层次结构的对象,自动地从上层对象继承权限;包含了一组多个对象/权限对的规则;用户组可以被授予一个或多个角色;用户可以被指定到一个或多个用户组中。

Sentry通常被配制成默认不允许访问服务和数据。因此,在被划分到设有指定访问角色的用户组之前,用户只有有限的权限访问系统。

InfoQ:什么是高级加密标准新指令(Advanced Encryption Standard New Instructions,AES-NI)?它和Rhino项目有什么关系?

SR:Intel AES-NI是Intel Xeon处理器系列和Intel Core处理器系列中新的加密指令集。它对高级加密标准(AES)算法进行了改进,并提高了数据的加密速度。

当启用加密时,企业主要关心的是CPU所需的“开销”。这些“开销”会导致数据的存储和获取操作变慢。AES-NI将加密处理的工作交由专门的硬件负责。这个硬件能够更快地完成加密和解密操作,从而减小CPU的负载。

AES-NI对Rhino项目中那些加密子项目的成功起到了重要的作用。然而并没有要求使用HDFS加密的Hadoop用户必须使用Intel芯片或者AES-NI。尽管这些技术确实能在开启加密时改善加密/解密的性能,降低对系统性能的影响。

InfoQ:Rihno项目未来的路线图是什么样的?

SR:下一步,Rhino项目的大目标很可能保持不变。而其下的子项目(这些子项目通常会以两种形式存在,Apache项目或者已存在项目中的一些JIRA)有可能会逐步发展。在达到HBase细粒度安全(如上所述)的里程碑后,另两个子项目当前正在势头上:

HDFS静态数据的加密。统一认证:致力于提供一套强制执行的访问策略,且不关心用户访问数据的方式,不论是Hive、MapReduce或其他访问途径。这项工作正在通过Apache Sentry项目完成。

所有集成工作已经完成,整个解决方案的测试和文档编写工作也已全面完成。

Rhino项目实现了Apache Hadoop(以及其他相关的Apahce项目)一部分的子项目。CDH捆绑了Apache Hadoop和生态圈中其他相关的项目。

查看英文原文:Data Encryption in Apache Hadoop with Project Rhino - Q&A with Steven Ross

时间: 2024-10-21 16:49:07

在Apache Hadoop中使用Rhino项目进行数据加密的相关文章

比较Apache Hadoop 生态系统中不同的文件格式和存储引擎的性能

主题 这篇文章提出了在Apache Hadoop 生态系统中对比一些当前流行的数据格式和可用的存储引擎的性能:Apache Avro, Apache Parquet, Apache HBase 和 Apache Kudu 空间效率, 提取性能, 分析扫描以及随机数据查找等领域.这有助于理解它们中的每一个如何(何时)改善你的大数据工作负载的处理能力. 引言 最初把hadoop文件格式和存储引擎做比较的想法是在初始系统修订版之一的驱动下完成的 –这个系统是在CERN中大规模调节Hadoop-ATLA

绿盟科技网络安全威胁周报2017.23 关注Apache Hadoop远程提权漏洞CVE-2017-7669

绿盟科技发布了本周安全通告,周报编号NSFOCUS-17-23,绿盟科技漏洞库本周新增41条,其中高危5条.本次周报建议大家关注 Apache Hadoop远程权限提升漏洞 .目前厂商已经发布了升级补丁以修复此安全问题,请用户及时升级补丁修复此漏洞. 焦点漏洞 Apache Hadoop远程权限提升漏洞 NSFOCUS ID  36777 CVE ID  CVE-2017-7669 受影响版本 Apache Group Hadoop 3.0.0-alpha2 Apache Group Hadoo

《深入理解Hadoop(原书第2版)》——第2章 Hadoop中的概念 2.1 Hadoop简介

第2章 Hadoop中的概念 价格实惠的普通计算机经常满足不了应用程序的计算资源需求,很多企业的业务应用程序已经不再适合在单台廉价的计算机上运行.这时,一个简单昂贵的解决方案就是购买一些具有多CPU的高端服务器,这通常需要巨额资金.只要能买到最高端的服务器,这个解决方案就能够达到理想的效果,但预算往往是个大问题.另一个替代方案,就是搭建一个高可用的集群,这个集群经过专业的安装和精心的管理服务,使用起来就像一台计算机一样.很多高可用的集群都是企业专有的而且价格也十分贵. 为了获取所需的计算资源,一

《Spark与Hadoop大数据分析》一一2.1 Apache Hadoop概述

2.1 Apache Hadoop概述 Apache Hadoop 是一个软件框架,可以在具有数千个节点和 PB 级数据的大型集群上进行分布式处理.Apache Hadoop 集群可以使用故障率一般较高的低价通用硬件来构建.Hadoop 的设计能够在没有用户干预的情况下优雅地处理这些故障.此外,Hadoop 采用了让计算贴近数据(move computation to the data)的方法,从而显著降低了网络流量.它的用户能够快速开发并行的应用程序,从而专注于业务逻辑,而无需承担分发数据.分

大数据的救世主:Apache Hadoop和Hive

Apache Hadoop和MapReduce吸引了大量大数据分析专家和商业智能专家的眼球.然而将Hadoop分散文件系统广泛化,或能用Java语言编写或执行Mapreduce工作则需要真正严格上乘的软件开发技术.Apache Hive将是唯一的解决办法. Apache软件基础工程Hive的数据库组成部分,也是基于云的Hadoop生态系统,提供了基于语境的查询语句称作Hive查询语句.这套语句将SQL类查询语句自动翻译成MapReduce工作指令. 相关数据库,如IBM DB2,Oracle和S

建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们

建立HBase的集群和HDInsight在Hadoop中使用Hive来查询它们 在本教程中,您将学习如何创建和查询HDInsight使用HiveHadoop的HBase的表.下列步骤描述:•如何使用提供在Azure门户的HBase的集群.•如何启用和使用RDP访问HBase的外壳,并使用HBase的外壳创建HBase的示例表,添加行,然后列出表中的行.•如何创建一个Hive表映射到一个现有的HBase的表,使用HiveQL查询数据在HBase的表.•如何使用Microsoft HBase的RES

满满的技术干货!Hadoop顶级会议Apache Hadoop Summit精华讲义分享

Apache Hadoop Summit是Hadoop技术的顶级会议,这里大咖云集,一同探讨世界上最新的Hadoop发展动态以及产品应用和技术实践. 本文整理了Apache Hadoop Summit  Tokyo 2016上的精选演讲的讲义,无论是你想要的是Hadoop发展前沿,是Hadoop优化技巧,还是技术最佳实践,统统都在这里! [Hadoop Summit Tokyo 2016]Apache NiFi速成课 [Hadoop Summit Tokyo 2016]重建大规模Web跟踪设施

Hadoop中的Python框架的使用指南_python

 最近,我加入了Cloudera,在这之前,我在计算生物学/基因组学上已经工作了差不多10年.我的分析工作主要是利用Python语言和它很棒的科学计算栈来进行的.但Apache Hadoop的生态系统大部分都是用Java来实现的,也是为Java准备的,这让我很恼火.所以,我的头等大事变成了寻找一些Python可以用的Hadoop框架. 在这篇文章里,我会把我个人对这些框架的一些无关科学的看法写下来,这些框架包括:     Hadoop流     mrjob     dumbo     hadoo

在 Apache Hive 中轻松生存的12个技巧

在 Apache Hive 中轻松生存的12个技巧 Hive 可以让你在 Hadoop 上使用 SQL,但是在分布式系统上优化 SQL 则有所不同.这里是让你可以轻松驾驭 Hive 的12个技巧. Hive 并不是关系型数据库(RDBMS),但是它大多数时候都表现得像是一个关系型数据库一样,它有表.可以运行 SQL.也支持 JDBC 和 ODBC. 这种表现既有好的一面,也有不好的一面:Hive 并不像关系型数据库那样执行 SQL 查询.我在 Hive 上花费了大量时间,光是我自己在工作中就为了