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可以设置集群中的Linux用户和LDAP用户的用户策略。

访问Ranger UI

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

  1. 登录阿里云E-MapReduce控制台
  2. 在顶部菜单栏处,根据实际情况选择地域(Region)和资源组
  3. 单击上方的集群管理页签。
  4. 集群管理页面,单击相应集群所在行的详情
  5. 在左侧导航栏中,选择访问链接与端口
  6. 单击RANGER UI所在行的链接。
    您可以通过链接访问Ranger UI。
  7. 在Ranger UI登录界面,输入用户名和密码(默认的用户名和密码均为admin)。
    Ranger UI
    说明 如果默认密码被修改无法登录时,请参见常见问题
  8. 首次登录后,需要修改密码。
    1. 单击上方的Settings
      修改密码
    2. 修改admin的密码。
      修改密码
    3. 单击右上角的admin > Log Out
      使用新的密码登录即可。

组件集成Ranger

通过插件的方式,Ranger与集群中的开源组件进行集成。通过Ranger可以对组件进行细粒度的访问权限控制。

您可以将集群中的组件集成到Ranger,以控制相关权限,详情请参见以下配置:

用户管理

您可以使用Ranger对用户或用户组进行权限管理。

用户或用户组可以来自本地Unix系统或者LDAP,推荐使用LDAP:

常见问题

Q:默认密码无法登录Ranger UI时,如何处理?

A:如果默认密码被修改,您可以按照如下方法处理:
  1. 登录集群的Master节点,详情请参见使用SSH连接主节点
  2. 执行如下命令重置admin的密码。
    mysql -urangeradmin -prangeradmin
    update ranger.x_portal_user set password="ceb4f32325eda6142bd65215f4c0f371" where login_id="admin";