各组件配置LDAP认证手册

春衣少年当酒歌,起舞四顾以笑和。这篇文章主要讲述各组件配置LDAP认证手册相关的知识,希望能为你提供帮助。
注:本手册以CM& CDH5.7.6为例
1、Hive配置LDAP认证目前单个Hive Server2只能支持一种客户端认证方式,或者是Kerberos认证,或者是LDAP认证,所以要在一个集群内部同时支持两种认证方式,必须配置两个HiveServer 2。
注:目前新版本CDH已经可以同时支持两种认证方式,在CDH5.14.4上已验证过。
1.1、开启“启用LDAP身份验证”
搜索“启用 LDAP 身份验证”改为“true”
 

各组件配置LDAP认证手册

文章图片

1.2、配置“LDAP URL”
搜索“hive.server2.authentication.ldap.url”添加“ldap://192.168.1.62:389”
 
各组件配置LDAP认证手册

文章图片

1.3、配置“LDAP BaseDN”
搜索“hive.server2.authentication.ldap.baseDN”添加“ou=People,dc=bigdata,dc=hex,dc=com”
该配置必须指向用户所在的OrganizationUnit(ou) ,因为Hive会直接使用uid+baseDN作为该用户的dn在LDAP中进行查询。
 
各组件配置LDAP认证手册

文章图片

1.4、重启Hive等相关服务
配置完成并保存后,重启Hive等相关服务。
 
1.5、其他注意事项
注意1:老的CDH版本可能只能在“hive-site.xml 的 HiveServer2 高级配置代码段”配置如下参数:
< property>
  < name> hive.server2.authentication< /name>
  < value> LDAP< /value>
< /property>
< property>
  < name> hive.server2.authentication.ldap.url< /name>
  < value> ldap://192.168.1.62:389< /value>
< /property>
< property>
  < name> hive.server2.authentication.ldap.baseDN< /name>
  < value> ou=People,dc=bigdata,dc=hex,dc=com< /value>
< /property>
 
 
各组件配置LDAP认证手册

文章图片

2、HiveServer2通过LDAP认证测试通过beeline连接HiveServer2,用户名输入junjie,密码随便输入一个比如000000
执行:beeline-u jdbc:hive2://192.168.1.61:10000/default -n junjie -p 000000
各组件配置LDAP认证手册

文章图片

显示认证失败,再次登录,输入正确密码111111
执行:beeline-u jdbc:hive2://192.168.1.61:10000/default -n junjie -p 111111
各组件配置LDAP认证手册

文章图片

登录成功,并能进行相关操作,没有权限上的控制。测试成功!
 
3、Impala配置LDAP认证同一个Impala Daemon是既可支持Kerberos认证,又可支持LDAP认证。
 
3.1、开启“启用 LDAP 身份验证”
搜索“启用 LDAP 身份验证”改为“true”
 
各组件配置LDAP认证手册

文章图片

3.2、配置“LDAP URL”
搜索“ldap_uri”添加“ldap://192.168.1.62:389”
 
各组件配置LDAP认证手册

文章图片

3.3、配置“LDAP BaseDN”
搜索“ldap_baseDN”添加“ou=People,dc=bigdata,dc=hex,dc=com”
 
各组件配置LDAP认证手册

文章图片

3.4、配置“Impala Daemon 命令行参数高级配置代码段”
没有启用LDAP TLS时(搜索“ldap_tls”可以查看是否启用),需要在“Impala Daemon命令行参数高级配置代码段(安全阀)”添加“-ldap_passwords_in_clear_ok=true”
 
各组件配置LDAP认证手册

文章图片

3.5、重启Impala等相关服务
配置完成并保存后,重启Impala等相关服务。
 
3.6、其他注意事项
注意1:仅当需要做严格的用户绑定,或用户名不是通过uid指定时,配置“LDAP 模式”。此参数与 LDAP 域和 LDAP BaseDN 相互排斥。
搜索“ldap_bind_pattern”添加“uid=#UID,ou=People,dc=bigdata,dc=hex,dc=com”
 
各组件配置LDAP认证手册

文章图片

4、Impala通过LDAP认证测试通过impala-shell连接某个daemon,使用用户junjie,随便输入一个密码比如000000
执行:impala-shell-l -i 192.168.1.61:21000 -u junjie
各组件配置LDAP认证手册

文章图片

报错:LDAP凭证不能为非安全连接。可以启用SSL或设置--auth_creds_ok_in_clear
执行:impala-shell-l -i 192.168.1.61:21000 -u junjie --auth_creds_ok_in_clear
各组件配置LDAP认证手册

文章图片

显示认证失败,再次登录,输入正确密码111111
执行:impala-shell-l -i 192.168.1.61:21000 -u junjie --auth_creds_ok_in_clear
各组件配置LDAP认证手册

文章图片

登录成功,并能进行相关操作,没有权限上的控制。测试成功!
 
5、Hue配置LDAP认证默认情况下,Hue使用内置的数据库存储用户名密码,而且第一个登陆的用户即是Hue的管理员用户,可以用来创建其他用户。
 
5.1、配置“LDAP URL”
搜索“ldap_url”添加“ldap://192.168.1.62:389”
 
各组件配置LDAP认证手册

文章图片

5.2、开启“使用搜索绑定身份验证”
搜索“search_bind_authentication”改为“true”
 
各组件配置LDAP认证手册

文章图片

5.3、配置“LDAP 搜索基础”
搜索“base_dn”添加“ou=People,dc=bigdata,dc=hex,dc=com”
 
各组件配置LDAP认证手册

文章图片

5.4、配置“LDAP 绑定用户可分辨名称”
搜索“bind_dn”添加“cn=Manager,dc=bigdata,dc=hex,dc=com”
 
各组件配置LDAP认证手册

文章图片

5.5、关闭“登录时创建 LDAP 用户”
搜索“create_users_on_login”修为“false”
 
各组件配置LDAP认证手册

文章图片

5.6、配置“LDAP 绑定密码”
搜索“bind_password”添加“123456”
 
各组件配置LDAP认证手册

文章图片

5.7、配置“LDAP 用户筛选”
搜索“user_filter”添加“(objectClass=posixAccount)”
 
5.8、配置“LDAP 用户名属性”
搜索“user_name_attr”添加“uid”
 
各组件配置LDAP认证手册

文章图片

5.9、配置“LDAP 组筛选”
搜索“group_filter”添加“(objectClass=posixGroup)”
 
5.10、配置“LDAP 组名称属性”
搜索“group_name_attr”添加“cn”
 
各组件配置LDAP认证手册

文章图片

5.11、配置“LDAP 组成员身份属性”
搜索“group_member_attr”添加“memberUid”
 
各组件配置LDAP认证手册

文章图片

5.12、添加/同步LDAP用户
保存所有配置,并重启Hue服务。注:在重启前需要之前有登录过HUE。
打开Hue服务使用第一次登陆的用户名和密码登录。
各组件配置LDAP认证手册

文章图片

若要将组信息同步过来,还需要显式地进行LDAP组的同步,这样才能将真正的用户组信息取过来。
   
各组件配置LDAP认证手册

文章图片

各组件配置LDAP认证手册

文章图片

各组件配置LDAP认证手册

文章图片

 
Hue管理LDAP用户组的逻辑是用户和组的独立管理,添加LDAP用户是不会将对应的组信息获取的;“添加/同步LDAP用户”只会添加对应用户或更新已有用户的组信息,其他不存在Hue中的其他用户是不会同步过来的;随后在Hue中“同步LDAP用户/组”时可以将LDAP的信息同步过来。
各组件配置LDAP认证手册

文章图片

各组件配置LDAP认证手册

文章图片

将其中一个LDAP账号设为高级管理员权限,因为之后使用LDAP方式登录HUE,第一次登陆的账号(这里是admin)将无法登录。
 
各组件配置LDAP认证手册

文章图片

5.13、修改“身份验证后端”
搜索“backend”修为“desktop.auth.backend.LdapBackend”
 
各组件配置LDAP认证手册

文章图片

5.14、配置“hue_safety_valve.ini 的 Hue 服务高级配置代码段”
如果Hive已经设置LDAP验证,需在Hue中增加以下设置,否则Hue无法正常连接Hive进行查询。
搜索“hue_safety_valve.ini 的 Hue 服务高级配置代码段”添加如下内容:
[desktop]
ldap_username=hue
ldap_password=111111
 
各组件配置LDAP认证手册

文章图片

5.15、HDFS中配置“core-site.xml 的群集范围高级配置代码段”(无需配置)
在HDFS的配置中搜索“core-site.xml 的群集范围高级配置代码段”添加如下内容:
< property>
< name> hadoop.proxyuser.hue.hosts< /name>
< value> *< /value>
< /property>
< property>
< name> hadoop.proxyuser.hue.groups< /name>
< value> *< /value>
< /property>
各组件配置LDAP认证手册

文章图片

注:目前CDH版本中这个已经默认配置
 
5.16、Impala中配置“Impala Daemon 命令行参数高级配置代码段”(无需配置)
在Impala的配置中搜索“Impala Daemon 命令行参数高级配置代码段”添加如下内容:
-authorized_proxy_user_config=hue=*
各组件配置LDAP认证手册

文章图片

注:目前CDH版本中这个已经默认配置
 
5.17、重启Hue等相关服务
配置完成并保存后,重启Hue等相关服务。
 
5.18、其他注意事项
注意1:LDAP的user和group的属性根据自己的LDAP服务配置的实际情况填入。
 
6、Hue通过LDAP认证测试打开Hue的网页,使用LDAP中的用户junjie登录,此时第一次登陆的账号(这里是admin)已经无法再次登录。
各组件配置LDAP认证手册

文章图片

各组件配置LDAP认证手册

文章图片

各组件配置LDAP认证手册

文章图片

 
进行Hive测试:
 
各组件配置LDAP认证手册

文章图片

进行Impala测试:
 
各组件配置LDAP认证手册

文章图片

【各组件配置LDAP认证手册】


    推荐阅读