平台集成LDAP

平台的Hiveserver2和Impalaserver对外(tableau类似的商业BI工具)没有权限控制,需要内置一层用户管理策略。

在此平台对集群内部的Hiveserver2、Hue、Impala引入LDAP的认证服务,通过用户名和密码的方式来访问平台内数据。

EMR集群内部自带了LDAP服务,所以不需要在集成Openldap进行管理;Openldap安装和使用指南、可视化工具phpldapadmin的使用可以参考:

http://cxy7.com/articles/2018/07/16/1531724839393.html

关于LDAP的简单命令使用:

https://blog.csdn.net/aliaichidantong/article/details/80015605

关于LDAP中几个术语的解释:

https://blog.csdn.net/educast/article/details/46492511

如何在EMR集群简单配置一个LDAP的用户
1、配置一个LDAP文件
首先我们要先了解LDAP配置中的格式,这里我们的LDAP用户的配置主要用到了DN(Distinguished Name)区分名、o(Organization)组织名、ou(Organization Unit)组织单元、cn(Common Name)用户名、uid 用户标示、userPassword 用户密码。

下面拿一个案例来解释:

dn: uid=emr-guest,ou=people,o=emr
objectclass:top
objectclass:person
objectclass:organizationalPerson
objectclass:inetOrgPerson
cn: EMR GUEST
sn: User
uid: emr-guest
userPassword:emr-guest-password

dn就相当于每一个条目的唯一区分名,在emr集群自带的LDAP中,我们统一以:uid+ou+o的形式进行定义dn;在OpenLDAP中我们可以用uid(cn)+ou+dc的形式来定义du。

objectclass对应的值在这里我们用到的只是用户的添加,不需要进行修改使用即可。

uid和cn都可以作为我们传统意义的UserName,这里我们规定使用uid来作为UserName,userPassword即为Password。

所以在这个案例中,我们只需要修改emr-guest为我们对应的 u s e r N a m e ; u s e r P a s s w o r d 修 改 为 对 应 的 {userName};userPassword修改为对应的 userNameuserPassword{password}自己对应修改即可。

2、添加LDAP用户
创建文件完成之后我们就在ldap中有了改用户吗?并不是,还需要我们进行一步简单的添加操作即可。

在这里我们将文件命名为:test.idif。在上文的LDAP命令中就有一个叫做ldapmodify的命令,命令执行需要管理员的账号密码manager_dn和manager_password

ApacheDS 的 LDAP 服务的管理员用户名和密码在 EMR 控制台集群的配置管理 /ApacheDS 的配置中可以查看 manager_dn 和 manager_password,在EMR控制台的ApacheDS配置文件中即可获取。

然后执行命令:ldapmodify -x -h localhost -p 10389 -D " m a n a g e r d n " − w " {manager_dn}" -w " managerdn"w"{manager_password}” -a -f test.ldif

将对应的变量修改为从控制台获取的对应值即可。

到此,在EMR集群中简单的添加一个LDAP用户就已经完成了。

你可能感兴趣的:(平台集成LDAP)