Apache Ranger 是一个用在 Hadoop 平台上并提供操做、监控、管理综合数据安全的框架。Ranger 的愿景是在 Apache Hadoop 生态系统中提供全面的安全性。 目前,Apache Ranger 支持如下 Apache 项目的细粒度受权和审计:安全
Apache Hadoop架构
Apache Hiveapp
Apache HBase框架
Apache Stormide
Apache Knoxoop
Apache Solrspa
Apache Kafka插件
YARNorm
对于上面那些受支持的 Hadoop 组件,Ranger 经过访问控制策略提供了一种标准的受权方法。做为标准,Ranger提供了一种集中式的组件,用于审计用户的访问行为和管理组件间的安全交互行为。blog
Ranger 使用了一种基于属性的方法定义和强制实施安全策略。当与 Apache Hadoop 的数据治理解决方案和元数据仓储组件Apache Atlas一块儿使用时,它能够定义一种基于标签的安全服务,经过使用标签对文件和数据资产进行分类,并控制用户和用户组对一系列标签的访问。
Ranger 的整体架构以下图所示,主要由如下三个组件构成:
AdminServer: 以RESTFUL形式提供策略的增删改查接口,同时内置一个Web管理页面。
AgentPlugin: 嵌入到各系统执行流程中,按期从AdminServer拉取策略,根据策略执行访问决策树,而且按期记录访问审计。插件的实现原理将在后文详细介绍。
UserSync: 按期从LDAP/File中加载用户,上报给AdminServer。
整个过程以下: