如果您希望使用LDAP中的用户登录Ranger WebUI时,可以使用Ranger admin对接LDAP。

背景信息

Ranger的用户可以分为internal user和external user,像LDAP、UNIX这种用户都属于external user,这些用户不会影响internal user,只有管理员用户才可以添加service、修改Policy等操作,普通用户只能进行查看。已有的管理员用户admin,可以在Setting菜单中对用户权限进行配置,将普通用户升级成管理员用户。

配置方法

  1. 打开install.properties文件。
    cd /usr/lib/ranger-admin-current
    vim install.properties
  2. 修改authentication_method = LDAP,其中几处关键配置如下所示。
    xa_ldap_url = ldap://emr-header-1:10389
    xa_ldap_userDNpattern = uid={0},ou=people,o=emr
    xa_ldap_base_dn = ou=people,o=emr
    xa_ldap_bind_dn = uid=admin,o=emr
    xa_ldap_bind_password = [password]

    示例给出的配置值均为对接EMR OpenLDAP,若要对接自建的LDAP,按照下文将各个参数的解释修改为自建LDAP对应的值即可,有关各个配置项的详细解释,请参见Ranger admin官方安装教程

    配置项 说明
    xa_ldap_url LDAP服务的地址。例如:ldap://127.0.0.1:389
    xa_ldap_userDNpattern 登录用户匹配LDAP dn的pattern。例如uid={0},ou=users,dc=example,dc=com表示当用户hadoop在WebUI登录时,其对应检查的LDAP dn为uid=hadoop,ou=users,dc=example,dc=com
    xa_ldap_base_dn LDAP中用户搜索域。例如:dc=example,dc=com
    xa_ldap_bind_dn 连接LDAP并且进行用户和用户组查询的dn。例如:cn=ldapadmin,ou=users,dc=example,dc=com
    xa_ldap_bind_password 用于连接的dn对应的密码。

生效配置

  1. 配置好以上内容之后,需要在emr-header-1节点的/usr/lib/ranger-admin-current路径下执行setup.sh
    cd /usr/lib/ranger-admin-current
    sh setup.sh
  2. 在EMR控制台Ranger集群服务中,重启RangerAdmin使得配置生效。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域(Region)和资源组
    3. 单击上方的集群管理页签。
    4. 集群管理页面,单击相应集群所在行的详情
    5. 在左侧导航栏单击集群服务 > RANGER
    6. 组件列表区域,单击RangerAdmin所在行的重启,使得配置生效。