AICon 北京站 Keynote 亮点揭秘,想了解 Agent 智能体来就对了! 了解详情
写点什么

在 Apache Hadoop 中使用 Rhino 项目进行数据加密-Steven Ross 专访

  • 2014-08-24
  • 本文字数:2281 字

    阅读完需:约 7 分钟

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


感谢赵震一对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-24 08:453406

评论

发布
暂无评论
发现更多内容

InnoDB解决幻读的方案——LBCC&MVCC

阿Q说代码

MySQL innodb MVCC 8月日更 LBCC

Vue进阶(六十四):iframe更改src后页面未刷新问题解决

No Silver Bullet

Vue iframe 跨域 8月日更

接口管理工具ApiPost使用——(响应结果可视化)

Proud lion

大前端 后端 Postman 开发工具 接口文档

使用明道云搭建电梯维修与保养系统

明道云

微信业务架构图 & 学生管理系统方案

缘分呐

架构 设计

sql task4 集合运算

橙橙橙橙汁丶

面对不同的业务场景,选择零码还是低码?

华为云开发者联盟

开发者 低代码 零代码 AppCube 业务场景

Go,一文搞懂 defer 实现原理

微客鸟窝

Go 语言 8月日更

JavaScript 有关数组的 slice 截断函数

HoneyMoose

Week1 Homework

Ray_c

#架构实战营

mock.js的作用

与风逐梦

大前端 后端 Mock

华为海外女科学家为您揭秘:GaussDB(for MySQL)云栈垂直集成的力量有多大?

华为云数据库小助手

华为云 GaussDB GaussDB(for MySQL)

在线JSON转YAML工具

入门小站

工具

面试侃集合 | SynchronousQueue公平模式篇

码农参上

队列 SynchronousQueue 8月日更

游戏“外挂”?—— AI生成游戏最强攻略

华为云开发者联盟

AI 游戏 华为云

带你入门antv.g6流程图

华为云开发者联盟

可视化 流程图 API graph 图可视化引擎

微信业务架构和学生管理系统架构设计

Geek_db27b5

微信业务架构 学生管理系统架构

微信业务架构图-外包学生管理系统架构

毛先生

架构实战营

netty系列之:在netty中使用protobuf协议

程序那些事

Java Netty 程序那些事

多云管理中的多租户解决方案

鲸品堂

多租户 多云管理 实践案例

Rust从0到1-高级特性-Traits 进阶

rust Traits 高级特性

docker入门:vue和可视化界面的部署,另附ngxin配置

小鲍侃java

8月日更

redis6安装和可视化工具

4ye

redis 后端 8月日更

LeetCode刷题09-简单 回文数

ベ布小禅

8月日更

Linux之nc命令

入门小站

Linux

百度地图开发-显示实时位置信息 04

Andy阿辉

android Android 小菜鸟 Android端 8月日更

微信业务架构

一叶知秋

架构实战营

IntelliJ IDEA 如何显示提交输入的信息历史

HoneyMoose

从Docker到Kubernetes | 爱数云原生演进历程

爱数技术范儿

Kubernetes 云原生

5年程序员问我:什么是断言?

CodeNongXiaoW

测试 后端 接口工具

干货 | 数据为王,携程国际火车票的 ShardingSphere 之路

SphereEx

数据库 开源

在Apache Hadoop中使用Rhino项目进行数据加密-Steven Ross专访_安全_Abhishek Sharma_InfoQ精选文章