Apache Ranger:统一授权管理框架

1. 简介

Apache Ranger 是一个用在 Hadoop 平台上并提供操作、监控、管理综合数据安全的框架。Ranger 的愿景是在 Apache Hadoop 生态系统中提供全面的安全性。 目前,Apache Ranger 支持以下 Apache 项目的细粒度授权和审计:

  • Apache Hadoop
  • Apache Hive
  • Apache HBase
  • Apache Storm
  • Apache Knox
  • Apache Solr
  • Apache Kafka
  • YARN

对于上面那些受支持的 Hadoop 组件,Ranger 通过访问控制策略提供了一种标准的授权方法。作为标准,Ranger提供了一种集中式的组件,用于审计用户的访问行为和管理组件间的安全交互行为。

最新版本的Apache Ranger已经支持Elasticsearch等组件。

2. 整体架构

Ranger 使用了一种基于属性的方法定义和强制实施安全策略。当与 Apache Hadoop 的数据治理解决方案和元数据仓储组件Apache Atlas一起使用时,它可以定义一种基于标签的安全服务,通过使用标签对文件和数据资产进行分类,并控制用户和用户组对一系列标签的访问。

Ranger 的总体架构如下图所示,主要由以下三个组件构成:

  • AdminServer: 以RESTFUL形式提供策略的增删改查接口,同时内置一个Web管理页面。

  • AgentPlugin: 嵌入到各系统执行流程中,定期从AdminServer拉取策略,根据策略执行访问决策树,并且定期记录访问审计。插件的实现原理将在后文详细介绍。

  • UserSync: 定期从LDAP/File中加载用户,上报给AdminServer

    整个过程如下:
    Apache Ranger:统一授权管理框架
    Apache Ranger 官方网址:https://ranger.apache.org/