1. 简介
Apache Ranger 是一个用在 Hadoop 平台上并提供操作、监控、管理综合数据安全的框架。Ranger 的愿景是在 Apache Hadoop 生态系统中提供全面的安全性。 目前,Apache Ranger 支持以下 Apache 项目的细粒度授权和审计:
Apache HadoopApache HiveApache HBaseApache StormApache KnoxApache SolrApache KafkaYARN
对于上面那些受支持的 Hadoop 组件,Ranger 通过访问控制策略提供了一种标准的授权方法。作为标准,Ranger提供了一种集中式的组件,用于审计用户的访问行为和管理组件间的安全交互行为。
最新版本的
Apache Ranger已经支持Elasticsearch等组件。
2. 整体架构
Ranger 使用了一种基于属性的方法定义和强制实施安全策略。当与 Apache Hadoop 的数据治理解决方案和元数据仓储组件Apache Atlas一起使用时,它可以定义一种基于标签的安全服务,通过使用标签对文件和数据资产进行分类,并控制用户和用户组对一系列标签的访问。
Ranger 的总体架构如下图所示,主要由以下三个组件构成:
-
AdminServer: 以RESTFUL形式提供策略的增删改查接口,同时内置一个Web管理页面。 -
AgentPlugin: 嵌入到各系统执行流程中,定期从AdminServer拉取策略,根据策略执行访问决策树,并且定期记录访问审计。插件的实现原理将在后文详细介绍。 -
UserSync: 定期从LDAP/File中加载用户,上报给AdminServer。整个过程如下:
Apache Ranger官方网址:https://ranger.apache.org/