Apache Ranger 2.9 介绍与选型指南
Apache Ranger 2.9.0 的集中式细粒度授权与审计框架认知篇:Admin 加插件架构、资源/标签/属性三类策略、授权 API、官方构建快速上手,以及与 OPA、Casbin、Sentry 的选型对比。
Apache Ranger 2.9 介绍与选型指南
目标:讲清 Apache Ranger(下文简称 Ranger)是什么、如何以「集中管控 + 插件内嵌执行」模型实现大数据平台的集中式细粒度授权与审计,以及 2026 年 10 月当前最新稳定版 2.9.0 下的同类授权框架选型对比。本文为 A1 认知篇:全部内容基于官方仓库 README、官方站点与官方发行记录联网查证编写,查询日期统一为 2026-10-18,不含本地安装实测。
一、信息基准
| 项目 | 内容 |
|---|---|
| 查询日期 | 2026-10-18 |
| 版本依据 | GitHub apache/ranger 仓库发行记录 release-ranger-2.9.0(2026-08-05);ASF 官方发行目录 https://downloads.apache.org/ranger/ 当前最高在架 2.9.0/(目录时间戳 2026-08-05) |
| 系列状态 | 2.9.0(2026-08-05)为最新版;上一版本 2.8.0(2026-02-27)、2.7.0(2025-07-29),官方保持约每年两个 minor 的发布节奏 |
| 许可证 | Apache License 2.0(仓库 LICENSE.txt) |
| 构建要求 | 官方 README:Linux 或 macOS;JDK 17;Apache Maven 3.6.3 或更新;Git;Python 3(用于 Python 客户端测试,跳过测试时不需要) |
官方来源清单:
- 项目主页:https://ranger.apache.org/
- ASF 发行目录:https://downloads.apache.org/ranger/
- 官方仓库(含 README 快速上手与插件清单):https://github.com/apache/ranger
- 2.9.0 发行标签:https://github.com/apache/ranger/releases/tag/release-ranger-2.9.0
- ASF Attic(Sentry 退役佐证):https://attic.apache.org/projects/sentry.html
二、软件概述
本文介绍的版本为 Apache Ranger 2.9.0(2026-08-05 发布)。
Ranger 官方定位为「面向数据与 AI 平台的集中式、细粒度授权与审计框架」(a framework for centralized, fine-grained authorization and auditing across data and AI platforms,官方 README)。它在统一的地方(Ranger Admin)集中管理策略,由受保护服务内部的 Ranger 插件执行授权:插件从 Admin 拉取所属服务的策略,在服务本地对每个请求做授权判定,并把访问决策写入审计记录。策略可以基于资源(resource)、标签(tag)或属性(attribute),并支持行级过滤(row filter)与列脱敏(masking)。
Ranger 源自 Hadoop 生态的数据安全实践,当前官方插件清单已覆盖 HDFS、YARN、Hive、HBase、Kafka、Solr、Knox、Storm、NiFi、Atlas、Ozone、Kudu、Impala、Trino、Presto、Elasticsearch、Kylin、Sqoop、Schema Registry、Polaris 等组件(部分插件随 Ranger 发行,部分由目标服务自带),README 同时给出面向未 listed 应用的授权 API。社区方面,GitHub apache/ranger 仓库 stars 约 1.1k(shields.io 实查 2026-10-18)。
三、核心架构
3.1 管理面:Ranger Admin
Ranger Admin 是策略的唯一权威来源(策略仓库),提供 Web UI 与 REST API 两种管理通道,负责存储、版本化与下发策略。Admin 依赖关系型数据库存储策略数据(官方发行物提供 ranger-admin 组件包)。
3.2 执行面:Ranger Plugin(策略执行点 PEP + 本地判定点)
每个受保护服务内嵌一个 Ranger 插件,职责有三(官方 README):从 Admin 下载该服务的策略;在本地对每个访问请求执行授权判定(避免中心化判定的延迟瓶颈);向审计存储上报访问事件。插件以 ranger-<version>-<service>-plugin.tar.gz 形式随 Ranger 发布,或由目标服务(如 Trino、NiFi、Polaris、Kudu、Impala、Schema Registry)自行打包内置。
3.3 授权 API(2.9 系列新形态)
对不在插件清单中的应用,官方 README 提供统一授权 API(authz-api)的两种接入方式:在进程内评估策略(authz-embedded),或将每个请求发送到独立判定服务(authz-remote,自 2.9 版本起提供)。这使 Ranger 从「Hadoop 插件矩阵」扩展为可编程引用的授权服务。
3.4 审计与密钥管理
插件产生的审计事件发送到审计存储(官方 README 提到审计存储组件 ranger-solr,亦可按官方文档配置其他审计后端);Ranger KMS 作为仓库内组件提供密钥管理服务,服务对象包括 Hadoop 透明加密等场景(KMS 插件属于 ranger 仓库本体)。
四、功能特性
依据官方 README 与官方站点(https://ranger.apache.org/ )归纳:
4.1 三类策略模型
- 基于资源的策略:按服务类型 + 资源路径/库表/主题等资源定义 allow/deny 规则;
- 基于标签的策略:借助元数据服务(如 Apache Atlas)给资源打标签,按标签批量授权,实现策略与物理资源解耦;
- 基于属性的条件:策略条件支持表达式,配合行级过滤与列脱敏实现数据行/列两级细粒度控制。
4.2 集中管控与本地执行
策略集中管理、就地(in-process)执行,授权判定不依赖网络往返;插件周期性拉取策略更新,Admin 不可达时可沿用已下载策略(官方 README 描述的插件工作方式)。
4.3 全面的审计轨迹
所有访问决策记录审计轨迹(audit trail),支持按策略/按审计后端检索,满足合规审计需求。
4.4 广泛的生态插件矩阵
官方 README 列出 22 类服务插件及其运行位置(如 HDFS 插件运行于 NameNode、Hive 插件运行于 HiveServer2、Kafka 插件运行于 broker 等),并标注各插件由 Ranger 还是目标服务发行。
4.5 Ranger KMS
随主仓库发布的密钥管理服务组件,与 Hadoop 生态加密体系集成。
五、快速上手(引自官方 README,未本地实测)
以下为官方 README「Build from source」给出的最小构建路径(来源:https://github.com/apache/ranger ):
git clone https://github.com/apache/ranger.git
cd ranger
mvn clean install # 完整构建:单元测试与代码检查
mvn clean package -DskipTests # 更快:跳过单元测试与代码检查
构建完成后,target/ 目录会产出各组件与插件的发行包 ranger-<version>-<component>.tar.gz(例如 ranger-<version>-admin.tar.gz),部署 Ranger Admin 后即可通过 Web UI 或 REST API 创建服务与策略,再按官方 README 的插件清单为目标服务配置对应插件(插件从 Admin 下载策略并在本地执行授权)。以上为官方文档记载路径,本文未在本地执行验证。
六、适用场景与限制
适合选择的场景:
- Hadoop/数据湖多组件并存(HDFS/Hive/HBase/Kafka/Ozone/Trino 等)且需要统一授权入口与统一审计的弹性的数据平台;
- 需要行级过滤、列脱敏等细粒度数据控制的数据仓库/湖仓场景;
- 已使用 Atlas 等元数据平台、希望按标签批量治理授权的场景;
- 合规要求「策略集中可审计、执行本地低延迟」的安全架构。
需要权衡的限制:
- 体系围绕 JVM 生态构建,非 JVM 技术栈需走 2.9 引入的 authz-remote 或自行集成;
- 需要额外维护 Admin 数据库与审计存储,组件面比单机授权库大;
- 策略规模大、插件多时,策略同步与审计写入需要专门容量规划(官方文档提供的运维章节);
- 对不使用 Hadoop 生态的纯应用层鉴权,Ranger 显得偏重,轻量需求更适合 OPA/Casbin 类方案。
七、同类选型对比
对比对象为集中式授权/策略引擎领域三个常被并列的方案。下表数据均为 2026-10-18 联网实查:stars 来自 shields.io 实时徽章;最近发版来自 GitHub Releases。
| 维度 | Apache Ranger 2.9.0 | OPA(Open Policy Agent)v1.21.2 | Apache Casbin(Incubating)3.11.0 | Apache Sentry(已退役) |
|---|---|---|---|---|
| 开源许可 | Apache-2.0 | Apache-2.0 | Apache-2.0 | Apache-2.0 |
| GitHub stars / 最近发版 | 约 1.1k / 2026-08-05 | 约 12k / 2026-10-12 | 约 20k / 2026-08-20 | 已入 ASF Attic(2020-12 移出维护),最新版官方未公布 |
| 版本节奏 | 约 2 个 minor/年(2.7.0→2.8.0→2.9.0) | 高频 patch(1.x 系列持续滚动) | 中频 minor(v3.x 持续演进) | 无(退役归档) |
| 兼容矩阵要点 | 22 类数据平台插件矩阵;JDK 17 构建;REST API 与 Web UI | Go 编写的通用策略引擎,Rego 语言,以 sidecar/服务方式对外提供判定 API | Go 编写的应用内授权库,PERM 元模型(ACL/RBAC/ABAC),多语言移植生态 | 面向 Hadoop 的细粒度 RBAC,仅历史系统维护 |
| 架构取向 | 集中策略管理 + 服务内插件执行 + 审计 | 决策与执行解耦(PDP 独立部署,应用作为 PEP 调用) | 嵌入应用进程的授权模型库 | 已退役,不建议新项目采用 |
选型建议:大数据平台统一授权与合规审计选 Ranger 2.9;需要通用策略语言、云原生决策服务选 OPA;应用内轻量 RBAC/ABAC 库选 Casbin;Sentry 已退役,存量系统应规划迁移,不建议新项目采用。
八、参考链接
- Apache Ranger 官网:https://ranger.apache.org/
- ASF 发行目录(Ranger):https://downloads.apache.org/ranger/
- 官方仓库与 README:https://github.com/apache/ranger
- 2.9.0 发行标签:https://github.com/apache/ranger/releases/tag/release-ranger-2.9.0
- 2.8.0 发行标签:https://github.com/apache/ranger/releases/tag/release-ranger-2.8.0
- OPA 官网:https://www.openpolicyagent.org/
- OPA Releases:https://github.com/open-policy-agent/opa/releases
- Apache Casbin Releases:https://github.com/apache/casbin/releases
- ASF Attic 项目列表(Sentry 退役佐证):https://attic.apache.org/projects.html