Apache Ranger

Apache Ranger™ 是一个用于管理和监控 Hadoop 平台复杂数据权限的框架。Apache Ranger 从2.0版本开始支持Ozone鉴权。但由于在2.0中存在一些bug,因此我们更推荐使用Apache Ranger 2.1及以后版本。

你需要先在你的 Hadoop 集群上安装 Apache Ranger,安装指南可以参考 Apache Ranger 官网.

如果你已经安装好了 Apache Ranger,那么 Ozone 的配置十分简单,你只需要启用 ACL 支持并且将 ACL 授权类设置为 Ranger 授权类,在 ozone-site.xml 中添加下面的参数:

参数名 参数值
ozone.acl.enabled true
ozone.acl.authorizer.class org.apache.ranger.authorization.ozone.authorizer.RangerOzoneAuthorizer

为了使用 RangerOzoneAuthorizer,还需要在 ozone-env.sh 中增加下面环境变量:

export OZONE_MANAGER_CLASSPATH="${OZONE_HOME}/share/ozone/lib/libext/*"
  • ranger-ozone-plugin jars 具体路径取决于 Ranger Ozone plugin 安装配置。
  • 如果 ranger-ozone-plugin jars 安装在其他节点,需要拷贝到 Ozone 安装目录。

Ozone各类操作对应Ranger权限如下:

operation&permission Volume permission Bucket permission Key permission
Create volume CREATE
List volume LIST
Get volume Info READ
Delete volume DELETE
Create bucket READ CREATE
List bucket LIST, READ
Get bucket info READ READ
Delete bucket READ DELETE
List key READ LIST, READ
Write key READ READ CREATE, WRITE
Read key READ READ READ