首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >6.如何为Hue集成RedHat7的OpenLDAP认证

6.如何为Hue集成RedHat7的OpenLDAP认证

作者头像
Fayson
发布2018-04-18 10:39:59
2.7K1
发布2018-04-18 10:39:59
举报
文章被收录于专栏:Hadoop实操Hadoop实操

温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

Fayson的github:https://github.com/fayson/cdhproject

提示:代码块部分可以左右滑动查看噢

1.文档编写目的


在前面的文章Fayson讲了《1.如何在RedHat7上安装OpenLDA并配置客户端》、《2.如何在RedHat7中实现OpenLDAP集成SSH登录并使用sssd同步用户》、《3.如何RedHat7上实现OpenLDAP的主主同步》、《4.如何为Hive集成RedHat7的OpenLDAP认证》以及《5.如何为Impala集成Redhat7的OpenLDAP认证》。本篇文章主要介绍如何为Hue集成RedHat7的OpenLDAP认证。

  • 内容概述

1.测试环境描述

2.导入hive用户到OpenLDAP

3.Hue集成OpenLDAP

4.Hue集成Hive和Impala

5.Hue集成验证

  • 测试环境

1.RedHat7.3

2.OpenLDAP版本2.4.44

3.CM和CDH版本为5.13.1

4.OpenLDAP未启用TLS加密认证

5.集群已启用Kerberos

  • 前置条件

1.OpenLDAP已安装且正常使用

2.测试环境描述


  • OpenLDAP服务信息

这里我们将172.31.24.169做为OpenLDAP的主节点,172.31.16.68做为OpenLDAP的备节点,具体RedHat7下OpenLDAP的HA实现可以参考《3.如何RedHat7上实现OpenLDAP的主主同步》

3.导入hive用户到OpenLDAP


这里以hive用户为例来测试,该用户也属于一个特殊用户,涉及到Hive和Impala的超级管理员权限问题。

注意:在添加hive和impala用户时要为用户设置密码。

1.编辑group-hive.ldif内容如下

[root@ip-172-31-24-169 ~]# vim group-hive.ldif 
dn: cn=impala,ou=Group,dc=fayson,dc=com
objectClass: posixGroup
objectClass: top
cn: impala
userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
gidNumber: 975
dn: cn=hive,ou=Group,dc=fayson,dc=com
objectClass: posixGroup
objectClass: top
cn: hive
userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
gidNumber: 981
memberUid: impala

(可左右滑动)

向OpenLDAP中导入hive和impala组

[root@ip-172-31-24-169 ~]# ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f group-hive.ldif 

(可左右滑动)

2.编辑user-hive.ldif文件内容如下

[root@ip-172-31-24-169 ~]# vim user-hive.ldif 
dn: uid=hive,ou=People,dc=fayson,dc=com
uid: hive
cn: Hive
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
shadowLastChange: 17564
loginShell: /bin/false
uidNumber: 985
gidNumber: 981
homeDirectory: /var/lib/hive
gecos: Hive
dn: uid=impala,ou=People,dc=fayson,dc=com
uid: impala
cn: Impala
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {SSHA}KYgsfyI/uny0dKPNeMRNG54BdwV6KlWA
shadowLastChange: 17564
loginShell: /bin/bash
uidNumber: 979
gidNumber: 975
homeDirectory: /var/lib/impala
gecos: Impala

(可左右滑动)

向OpenLDAP中导入hive和impala用户

[root@ip-172-31-24-169 ~]# ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f user-hive.ldif

3.查看是否导入成功

ldapsearch -D "cn=Manager,dc=fayson,dc=com" -W |grep hive
ldapsearch -D "cn=Manager,dc=fayson,dc=com" -W |grep impala

(可左右滑动)

4.Hue集成OpenLDAP


1.使用管理员登录CM,进入Hue配置页面,修改Hue的认证方式为LDAP

2.配置LDAP信息

修改完以上配置后保存,在重启Hue服务前将认证方式修改为desktop.auth.backend.AllowFirstUserDjangoBackend

再次保存配置并重启Hue服务。

3.重启成功后使用Hue的超级管理员登录,我们这里是admin用户为超级管理员

4.登录成功后,进入用户管理界面

点击“Add/Sync LDAP user”

点击“Add/Sync user”按钮,同步testldap用户

将testldap用户设置为超级管理员,因为我们启用LDAP认证后admin用户则无法登陆

上图可以看到testldap用户已被同步,但testldap所属的用户组并为被同步过来,我们还需要通过“Add/Sync LDAP Group”的方式将testldap的用户组也同步过来

点击同步将testldap的用户组信息同步

修改testldap用户的属组为testldap

以上完成了testldap用户的同步及超级管理员配置。

5.回到CM界面修改Hue的配置

将hue的用户的认证方式修改为LDAP,保存并重启Hue。

6.用户登录测试

这里看到admin用户已无法正常登录,因为在OpenLDAP中并不存在admin这个用户。

testldap用户可以正常登录。

5.Hue集成Impala和Hive


注意:如果Hive/Impala已设置了LDAP认证,需要在Hue中增加以下设置,否则Hue无法正常连接Hive或Impala进行查询。

1.通过CM在hue_safety_valve.ini中增加如下配置

[desktop]
ldap_username=hive
ldap_password=123456

(可左右滑动)

2.HDFS配置中增加代理设置

<property>
    <name>hadoop.proxyuser.hive.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hive.groups</name>
    <value>*</value>
</property>

(可左右滑动)

3.在Impala中增加代理用户的所有权限

--authorized_proxy_user_config=hive=*

保存以上修改的配置后,回到CM主页根据提示重启相应服务。

6.未同步到Hue的用户登录测试


使用faysontest2用户直接登录Hue测试是否会在登录的时候自动创建LDAP用户。

[root@ip-172-31-24-169 ldap]# id faysontest2
uid=1999(faysontest2) gid=1989(faysontest2) groups=1989(faysontest2)
[root@ip-172-31-24-169 ldap]# more /etc/passwd |grep faysontest2
[root@ip-172-31-24-169 ldap]# 

(可左右滑动)

使用testldap用户查看faysontest2的LDAP的账号是否同步,faysontest2用户不存在

使用faysontest2用户登录Hue

使用faysontest2用户登录成功

使用testldap用户登录查看用户列表,可以看到faysontest2用户已被同步

7.Hue集成功能验证


1.使用Hue超级管理员登录,进入用户管理界面,同步hive的LDAP用户

同步成功

2.进入group管理界面,同步hive的LDAP组

同步成功

3.更新hive用户的用户组为hive

更新成功

4.退出Hue使用hive用户登录,进入权限管理界面

添加admin角色,并授权给hive组

5.使用Hive操作SQL

执行count操作

6.使用Impala操作SQL

执行count操作

5.总结


  • Hue默认第一个登录的用户为管理员账号,在集成LDAP时需要配置LDAP信息后再将Hue登录的认证方式修改为AllowFirstUserDjangoBackend,需要使用管理员用户先登录Hue将LDAP用户同步后,再修改为LDAP认证。
  • 如果Hive或者Impala已集成LDAP,则需要在Hue、HDFS、Impala中增加额外的配置。
  • Hue管理LDAP用户组的逻辑是独立管理用户和组,在同步用户的时候是不会将用户的组信息同步。
  • 在Hue集成OpenLDAP的时候有勾选“登录时创建OpenLDAP用户”,所以我们不需要先登录Hue管理员到用户界面去同步LDAP的用户。

提示:代码块部分可以左右滑动查看噢

为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:要看高清无码套图,请使用手机打开并单击图片放大查看。

推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
专用宿主机
专用宿主机(CVM Dedicated Host,CDH)提供用户独享的物理服务器资源,满足您资源独享、资源物理隔离、安全、合规需求。专用宿主机搭载了腾讯云虚拟化系统,购买之后,您可在其上灵活创建、管理多个自定义规格的云服务器实例,自主规划物理资源的使用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档