Apache Ranger提供集中式的权限管理框架,可以对Hadoop生态中的HDFS、Hive、YARN、Kafka、Storm和Solr等组件进行细粒度的权限访问控制,并且提供了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的数据库中,可以在定义策略时使用。

组件安装

  • 新建集群时,如果在E-MapReduce控制台创建EMR-2.9.2或EMR-3.9.0及以上的集群,直接勾选Ranger组件即可。create_cluster
  • 已有EMR-2.9.2或EMR-3.9.0及以上的集群,可以在集群管理页面添加Ranger服务。add_service
    说明
    • 开启Ranger后,设置安全控制策略之前,不会对应用程序产生影响和限制。
    • Ranger中设置的用户策略为集群Hadoop账号。

访问Ranger UI

在访问Ranger UI之前,需要确认已设置安全组,即Hadoop集群允许您通过当前网络访问该集群。具体详情请参见访问链接与端口

  1. 登录阿里云E-MapReduce控制台
  2. 单击上方的集群管理页签。
  3. 集群管理页面,单击相应集群所在行的详情
  4. 在左侧导航栏中,选择访问链接与端口,可以通过链接访问Ranger UI。
  5. 单击RANGER UI所在行的链接。
  6. 在Ranger UI登录界面,输入用户名和密码(默认的用户名和密码均为admin)。
    Ranger UI
  7. 修改密码。
    1. 管理员首次登录后,需单击上方的Settings
      修改密码
    2. 修改admin的密码。
      修改密码
    3. 单击右上角的admin > Log Out
      使用新的密码登录即可。

组件集成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。