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 )关注我们,并与我们的编辑和其他读者朋友交流。
评论