天天看点

各组件配置LDAP认证手册

注:本手册以cm&cdh5.7.6为例

目前单个hive server2只能支持一种客户端认证方式,或者是kerberos认证,或者是ldap认证,所以要在一个集群内部同时支持两种认证方式,必须配置两个hiveserver

2。

注:目前新版本cdh已经可以同时支持两种认证方式,在cdh5.14.4上已验证过。

搜索“启用 ldap 身份验证”改为“true”

各组件配置LDAP认证手册

搜索“hive.server2.authentication.ldap.url”添加“ldap://192.168.1.62:389”

各组件配置LDAP认证手册

搜索“hive.server2.authentication.ldap.basedn”添加“ou=people,dc=bigdata,dc=hex,dc=com”

该配置必须指向用户所在的organizationunit(ou)

,因为hive会直接使用uid+basedn作为该用户的dn在ldap中进行查询。

各组件配置LDAP认证手册

配置完成并保存后,重启hive等相关服务。

注意1:老的cdh版本可能只能在“hive-site.xml 的 hiveserver2 高级配置代码段”配置如下参数:

<property>

  <name>hive.server2.authentication</name>

  <value>ldap</value>

</property>

  <name>hive.server2.authentication.ldap.url</name>

  <value>ldap://192.168.1.62:389</value>

  <name>hive.server2.authentication.ldap.basedn</name>

  <value>ou=people,dc=bigdata,dc=hex,dc=com</value>

各组件配置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认证手册

登录成功,并能进行相关操作,没有权限上的控制。测试成功!

同一个impala daemon是既可支持kerberos认证,又可支持ldap认证。

各组件配置LDAP认证手册

搜索“ldap_uri”添加“ldap://192.168.1.62:389”

各组件配置LDAP认证手册

搜索“ldap_basedn”添加“ou=people,dc=bigdata,dc=hex,dc=com”

各组件配置LDAP认证手册

没有启用ldap tls时(搜索“ldap_tls”可以查看是否启用),需要在“impala daemon命令行参数高级配置代码段(安全阀)”添加“-ldap_passwords_in_clear_ok=true”

各组件配置LDAP认证手册

配置完成并保存后,重启impala等相关服务。

注意1:仅当需要做严格的用户绑定,或用户名不是通过uid指定时,配置“ldap 模式”。此参数与 ldap 域和 ldap basedn 相互排斥。

搜索“ldap_bind_pattern”添加“uid=#uid,ou=people,dc=bigdata,dc=hex,dc=com”

各组件配置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

--auth_creds_ok_in_clear

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

默认情况下,hue使用内置的数据库存储用户名密码,而且第一个登陆的用户即是hue的管理员用户,可以用来创建其他用户。

搜索“ldap_url”添加“ldap://192.168.1.62:389”

各组件配置LDAP认证手册

搜索“search_bind_authentication”改为“true”

各组件配置LDAP认证手册

搜索“base_dn”添加“ou=people,dc=bigdata,dc=hex,dc=com”

各组件配置LDAP认证手册

搜索“bind_dn”添加“cn=manager,dc=bigdata,dc=hex,dc=com”

各组件配置LDAP认证手册

搜索“create_users_on_login”修为“false”

各组件配置LDAP认证手册

搜索“bind_password”添加“123456”

各组件配置LDAP认证手册

搜索“user_filter”添加“(objectclass=posixaccount)”

搜索“user_name_attr”添加“uid”

各组件配置LDAP认证手册

搜索“group_filter”添加“(objectclass=posixgroup)”

搜索“group_name_attr”添加“cn”

各组件配置LDAP认证手册

搜索“group_member_attr”添加“memberuid”

各组件配置LDAP认证手册

保存所有配置,并重启hue服务。注:在重启前需要之前有登录过hue。

打开hue服务使用第一次登陆的用户名和密码登录。

各组件配置LDAP认证手册

若要将组信息同步过来,还需要显式地进行ldap组的同步,这样才能将真正的用户组信息取过来。

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

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

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

将其中一个ldap账号设为高级管理员权限,因为之后使用ldap方式登录hue,第一次登陆的账号(这里是admin)将无法登录。

各组件配置LDAP认证手册

</h3>

搜索“backend”修为“desktop.auth.backend.ldapbackend”

各组件配置LDAP认证手册

如果hive已经设置ldap验证,需在hue中增加以下设置,否则hue无法正常连接hive进行查询。

搜索“hue_safety_valve.ini 的 hue 服务高级配置代码段”添加如下内容:

[desktop]

ldap_username=hue

ldap_password=111111

各组件配置LDAP认证手册

在hdfs的配置中搜索“core-site.xml 的群集范围高级配置代码段”添加如下内容:

&lt;name&gt;hadoop.proxyuser.hue.hosts&lt;/name&gt;

&lt;value&gt;*&lt;/value&gt;

&lt;name&gt;hadoop.proxyuser.hue.groups&lt;/name&gt;

各组件配置LDAP认证手册

注:目前cdh版本中这个已经默认配置

在impala的配置中搜索“impala daemon 命令行参数高级配置代码段”添加如下内容:

-authorized_proxy_user_config=hue=*

各组件配置LDAP认证手册

配置完成并保存后,重启hue等相关服务。

注意1:ldap的user和group的属性根据自己的ldap服务配置的实际情况填入。

打开hue的网页,使用ldap中的用户junjie登录,此时第一次登陆的账号(这里是admin)已经无法再次登录。

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

进行hive测试:

各组件配置LDAP认证手册

进行impala测试:

各组件配置LDAP认证手册