https://help.aliyun.com/document_detail/66410.html
Apache Ranger提供集中式的权限管理框架,可以对Hadoop生态中的HDFS、Hive、YARN、Kafka、Storm和Solr等组件进行细粒度的权限访问控制,并且提供了Web UI方便管理员进行操作。
组件介绍
Ranger主要由三个组件组成:
- Ranger Admin
用户可以创建、更新安全访问策略,这些策略被存储在数据库中。各个组件的Plugin定期对这些策略进行轮询。
- Ranger Plugins
Plugin嵌入在各个集群组件的进程里,是一个轻量级的Java程序。例如,Ranger对Hive的组件,就被嵌入在Hiveserver2里。这些Plugin从Ranger Admin服务端拉取策略,并把它们存储在本地文件中。当接收到来自组件的用户请求时,对应组件的plugin会拦截该请求,并根据安全策略对其进行评估。
- Ranger UserSync
Ranger提供了一个用户同步工具,可以从Unix或者LDAP中拉取用户和用户组的信息。这些用户和用户组的信息被存储在Ranger Admin的数据库中,可以在定义策略时使用。
组件安装
- 新建集群时,如果在E-MapReduce控制台创建EMR-2.9.2或EMR-3.9.0及以上的集群,直接勾选Ranger组件即可。
- 已有EMR-2.9.2或EMR-3.9.0及以上的集群,可以在集群管理页面添加Ranger服务。
说明
- 开启Ranger后,设置安全控制策略之前,不会对应用程序产生影响和限制。
- Ranger中设置的用户策略为集群Hadoop账号。
访问Ranger UI
在访问Ranger UI之前,需要确认已设置安全组,即Hadoop集群允许您通过当前网络访问该集群。具体详情请参见访问链接与端口。
组件集成Ranger
通过插件的方式,Ranger与集群中的开源组件进行集成。通过Ranger可以对组件进行细粒度的访问权限控制。目前已经支持的组件和EMR版本如下表所示。
组件名 | EMR版本 |
---|---|
HDFS | EMR-2.9.2/EMR-3.9.0及以上 |
Hive | EMR-2.9.2/EMR-3.9.0及以上 |
HBase | EMR-2.9.2/EMR-3.9.0及以上 |
Yarn | EMR-2.9.2/EMR-3.9.0及以上 |
Kafka | EMR-3.12.0及以上 |
Spark | EMR-3.24.0及以上 |
Presto | EMR-3.25.0及以上 |
可以将集群中的相关组件集成到Ranger,进行相关权限的控制,详情请参见以下配置。
用户管理
用户可以使用Ranger对用户或用户组进行权限管理。用户或用户组可以来自本地Unix系统或者LDAP,推荐使用LDAP。
- Ranger admin与LDAP集成
详情请参见Ranger admin与LDAP集成。
- Ranger usersync与LDAP集成
详情请参见Ranger usersync对接LDAP。
微信公众号: 架构师日常笔记 欢迎关注!