Hadoop 安全访问控制开源组件:Apache Sentry 1.4 版本发布

  • 李士窑

2014 年 8 月 28 日

话题:Apache语言 & 开发架构

Hadoop 在文件系统层有很强的安全性,但对于保证用户数据访问和 BI 应用程序的充分安全方面,它缺乏细粒度的支持。因此,许多对安全系数要求较高的业内组织被迫做出选择,要么将数据置于非保护状态,要么将所有的用户拒之门外,大多数企业选择后者,严格限制对 Hadoop 数据的访问。Apache Sentry 的问世弥补了 Hadoop 的安全漏洞。Sentry 是一个 Hadoop 的权限控制的开源组件。为了对正确的用户和应用程序提供精确的访问级别,Sentry 提供了细粒度级、基于角色的授权以及多租户的管理模式。近日,Sentry 1.4 版本发布,此版本不仅新增了许多重要的特性,还做了多方面的改进和修复了大量的 bug,现已提供下载,更多内容请查看发行说明,此版本值得关注的改进包括:

  • 新增了模式工具用来通过 SQL 脚本创建 Sentry 存储模式
  • 将 PRIVILEGE_NAME 长度扩展到了 4000 个字符以满足长 URI 存储需要
  • 能够对一个数据库所有表进行 SELECT/INSERT 操作的权限的授予或收回
  • 为 Sentry 的发布新增了配置目录
  • 为配置验证创建了一个新的配置验证工具
  • 实现了一个新的数据库备份策略
  • Hive 绑定具有访问组映射的能力
  • 使用过滤器减少数据从 DB Store 服务端到客户端的传递
  • Hive 绑定可以做到 MR 级别的访问控制列表
  • 在 SentryHiveAuthorizationTaskFactoryImpl 类中实现了 createShowRolesTask 方法
  • 新增了查询角色和权限的 API
  • 创建了策略文件保存到数据库工具
  • 修复了 JAAS 登录选择不能兼容 IBM JDK 的问题
  • 修复了不能打包 Hadoop、Hive 等一些 jar 包的问题

在这里不得不说下 Sentry 的由来, 由于 Hadoop 的安全短板,Cloudera、Intel 等多个 Hadoop 发行版厂商都在实行或制定安全方面的计划。作为 Hadoop 厂商中的佼佼者,Cloudera 发布了 Sentry 来弥补 Hadoop 的安全漏洞,并于 2013 年 5 月份贡献给了 Apache 开源社区。Sentry 的出现推动了大数据技术在更多行业、组织和终端用户的使用,同时为管理员提供灵活、多租户的管理,以及统一的平台。通过引进 Sentry,Hadoop 可在安全授权、细粒度访问控制、基于角色的管理、多租户管理、统一平台等方面满足企业和政府用户的基于角色权限控制的需求。


感谢郭蕾对本文的审校。

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

Apache语言 & 开发架构