各组件配置LDAP认证手册
Posted 醉舞斜陽
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了各组件配置LDAP认证手册相关的知识,希望对你有一定的参考价值。
注:本手册以CM&CDH5.7.6为例
1、Hive配置LDAP认证
目前单个Hive Server2只能支持一种客户端认证方式,或者是Kerberos认证,或者是LDAP认证,所以要在一个集群内部同时支持两种认证方式,必须配置两个HiveServer 2。
注:目前新版本CDH已经可以同时支持两种认证方式,在CDH5.14.4上已验证过。
1.1、开启“启用LDAP身份验证”
搜索“启用 LDAP 身份验证”改为“true”
1.2、配置“LDAP URL”
搜索“hive.server2.authentication.ldap.url”添加“ldap://192.168.1.62:389”
1.3、配置“LDAP BaseDN”
搜索“hive.server2.authentication.ldap.baseDN”添加“ou=People,dc=bigdata,dc=hex,dc=com”
该配置必须指向用户所在的OrganizationUnit(ou) ,因为Hive会直接使用uid+baseDN作为该用户的dn在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>
2、HiveServer2通过LDAP认证测试
通过beeline连接HiveServer2,用户名输入junjie,密码随便输入一个比如000000
执行:beeline-u jdbc:hive2://192.168.1.61:10000/default -n junjie -p 000000
显示认证失败,再次登录,输入正确密码111111
执行:beeline-u jdbc:hive2://192.168.1.61:10000/default -n junjie -p 111111
登录成功,并能进行相关操作,没有权限上的控制。测试成功!
3、Impala配置LDAP认证
同一个Impala Daemon是既可支持Kerberos认证,又可支持LDAP认证。
3.1、开启“启用 LDAP 身份验证”
搜索“启用 LDAP 身份验证”改为“true”
3.2、配置“LDAP URL”
搜索“ldap_uri”添加“ldap://192.168.1.62:389”
3.3、配置“LDAP BaseDN”
搜索“ldap_baseDN”添加“ou=People,dc=bigdata,dc=hex,dc=com”
3.4、配置“Impala Daemon 命令行参数高级配置代码段”
没有启用LDAP TLS时(搜索“ldap_tls”可以查看是否启用),需要在“Impala Daemon命令行参数高级配置代码段(安全阀)”添加“-ldap_passwords_in_clear_ok=true”
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”
4、Impala通过LDAP认证测试
通过impala-shell连接某个daemon,使用用户junjie,随便输入一个密码比如000000
执行:impala-shell-l -i 192.168.1.61:21000 -u junjie
报错:LDAP凭证不能为非安全连接。可以启用SSL或设置--auth_creds_ok_in_clear
执行:impala-shell-l -i 192.168.1.61:21000 -u junjie --auth_creds_ok_in_clear
显示认证失败,再次登录,输入正确密码111111
执行:impala-shell-l -i 192.168.1.61:21000 -u junjie --auth_creds_ok_in_clear
登录成功,并能进行相关操作,没有权限上的控制。测试成功!
5、Hue配置LDAP认证
默认情况下,Hue使用内置的数据库存储用户名密码,而且第一个登陆的用户即是Hue的管理员用户,可以用来创建其他用户。
5.1、配置“LDAP URL”
搜索“ldap_url”添加“ldap://192.168.1.62:389”
5.2、开启“使用搜索绑定身份验证”
搜索“search_bind_authentication”改为“true”
5.3、配置“LDAP 搜索基础”
搜索“base_dn”添加“ou=People,dc=bigdata,dc=hex,dc=com”
5.4、配置“LDAP 绑定用户可分辨名称”
搜索“bind_dn”添加“cn=Manager,dc=bigdata,dc=hex,dc=com”
5.5、关闭“登录时创建 LDAP 用户”
搜索“create_users_on_login”修为“false”
5.6、配置“LDAP 绑定密码”
搜索“bind_password”添加“123456”
5.7、配置“LDAP 用户筛选”
搜索“user_filter”添加“(objectClass=posixAccount)”
5.8、配置“LDAP 用户名属性”
搜索“user_name_attr”添加“uid”
5.9、配置“LDAP 组筛选”
搜索“group_filter”添加“(objectClass=posixGroup)”
5.10、配置“LDAP 组名称属性”
搜索“group_name_attr”添加“cn”
5.11、配置“LDAP 组成员身份属性”
搜索“group_member_attr”添加“memberUid”
5.12、添加/同步LDAP用户
保存所有配置,并重启Hue服务。注:在重启前需要之前有登录过HUE。
打开Hue服务使用第一次登陆的用户名和密码登录。
若要将组信息同步过来,还需要显式地进行LDAP组的同步,这样才能将真正的用户组信息取过来。
Hue管理LDAP用户组的逻辑是用户和组的独立管理,添加LDAP用户是不会将对应的组信息获取的;“添加/同步LDAP用户”只会添加对应用户或更新已有用户的组信息,其他不存在Hue中的其他用户是不会同步过来的;随后在Hue中“同步LDAP用户/组”时可以将LDAP的信息同步过来。
将其中一个LDAP账号设为高级管理员权限,因为之后使用LDAP方式登录HUE,第一次登陆的账号(这里是admin)将无法登录。
5.13、修改“身份验证后端”
搜索“backend”修为“desktop.auth.backend.LdapBackend”
5.14、配置“hue_safety_valve.ini 的 Hue 服务高级配置代码段”
如果Hive已经设置LDAP验证,需在Hue中增加以下设置,否则Hue无法正常连接Hive进行查询。
搜索“hue_safety_valve.ini 的 Hue 服务高级配置代码段”添加如下内容:
[desktop]
ldap_username=hue
ldap_password=111111
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>
注:目前CDH版本中这个已经默认配置
5.16、Impala中配置“Impala Daemon 命令行参数高级配置代码段”(无需配置)
在Impala的配置中搜索“Impala Daemon 命令行参数高级配置代码段”添加如下内容:
-authorized_proxy_user_config=hue=*
注:目前CDH版本中这个已经默认配置
5.17、重启Hue等相关服务
配置完成并保存后,重启Hue等相关服务。
5.18、其他注意事项
注意1:LDAP的user和group的属性根据自己的LDAP服务配置的实际情况填入。
6、Hue通过LDAP认证测试
打开Hue的网页,使用LDAP中的用户junjie登录,此时第一次登陆的账号(这里是admin)已经无法再次登录。
进行Hive测试:
进行Impala测试:
以上是关于各组件配置LDAP认证手册的主要内容,如果未能解决你的问题,请参考以下文章