Apache Ranger提供集中式的权限管理框架,可以对Hadoop生态中的HDFS、Hive和YARN等组件进行细粒度的权限访问控制,并且提供了Web UI方便管理员操作。
Ranger组件介绍
Ranger主要由三个组件组成:
- Ranger Admin
您可以创建和更新安全访问策略,这些策略被存储在数据库中。各个组件的Plugin定期对这些策略进行轮询。
- Ranger Plugins
Plugin嵌入在各个集群组件的进程里,是一个轻量级的Java程序。例如,Ranger对Hive的组件,就被嵌入在Hiveserver2里。这些Plugin从Ranger Admin服务端拉取策略,并把它们存储在本地文件中。当接收到来自组件的用户请求时,对应组件的Plugin会拦截该请求,并根据安全策略对其进行评估。
- Ranger UserSync
Ranger提供了一个用户同步工具。您可以从Unix或者LDAP中拉取用户和用户组的信息。这些用户和用户组的信息被存储在Ranger Admin的数据库中,可以在定义策略时使用。
访问Ranger UI
常见问题
Q:如果忘记密码无法登录Ranger UI时,该如何处理?
A:您可以按照如下方法处理:
- 登录集群的Master节点,详情请参见登录集群。
- 执行如下命令重置admin的密码为初始密码。
- DataLake集群
- EMR-3.44.0及后续版本、EMR-5.10.0及后续版本
mysql -urangeradmin -pRangeradmin1234 update ranger.x_portal_user set password="07e47d323c1c36c1dc2cc3966027d6f9" where login_id="admin";
- EMR-3.44.0之前版本、EMR-5.10.0之前版本
mysql -urangeradmin -prangeradmin1234 update ranger.x_portal_user set password="257e4521fee681b67583e2e7a4ac1c28" where login_id="admin";
- EMR-3.44.0及后续版本、EMR-5.10.0及后续版本
- Hadoop集群
mysql -urangeradmin -prangeradmin update ranger.x_portal_user set password="ceb4f32325eda6142bd65215f4c0f371" where login_id="admin";
- DataLake集群