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
官方网址:https://ranger.apache.org/