温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

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认证

》、《

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

》、《

7.如何在RedHat7的OpenLDAP中实现将一个用户添加到多个组

》和《

8.如何使用RedHat7的OpenLDAP和Sentry权限集成

2.通过左侧的筛选器过滤Navigator Metadata服务的外部身份验证

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(1)

3.配置为LDAP认证方式,具体配置参数如下:

参数名

描述

身份验证后端顺序

nav.auth.backend.order

先外部,后 Cloudera Manager

外部身份验证类型

nav.external.auth.type

LDAP

LDAP URL

nav.ldap.url

ldap://chd01.fayson.com

配置LDAP URL及Domain

LDAP 绑定用户可分辨名称

nav.ldap.bind.dn

cn=Manager,dc=fayson,dc=com

配置用于搜索LDAP的管理员账号

LDAP 绑定密码

nav.ldap.bind.pw

123456

账号密码

LDAP 用户搜索库

nav.ldap.user.search.base

ou=People,dc=fayson,dc=com

搜索LDAP用户的基础域

LDAP 用户搜索筛选器

nav.ldap.user.search.filter

(uid={0})

搜索的LDAP用户结果过滤条件

LDAP 组搜索库

nav.ldap.group.search.base

ou=Group,dc=fayson,dc=com

搜索LDAP组的基础域

已登录用户的 LDAP 组搜索筛选器

nav.ldap.group.search.filter

(|(memberUid={1})(cn={1}))

过滤搜索的LDAP组条件,使用或者的关系过滤组中cn,针对用户名和组一致的情况

LDAP 组搜索筛选器

nav.ldap.groups.search.filter

(&(objectClass=posixGroup)(cn=nav_*))

搜索Group时的过滤条件,已nav_开头的组

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(2)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(3)

4.完成上述配置后,回到实例列表选择Navigator Metadata服务并重启

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(4)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(5)

重启成功

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(6)

以上完成Navigator与OpenLDAP的集成。

4.OpenLDAP导入测试用户


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

1.编辑navigator_group.ldif内容如下

[root@cdh01 openladp]# vim navigator_group.ldif dn: cn=nav_admin,ou=Group,dc=fayson,dc=com objectClass: posixGroup objectClass: top cn: nav_admin userPassword: {crypt}x gidNumber: 100010 memberUid: nav_a dn: cn=nav_groupa,ou=Group,dc=fayson,dc=com objectClass: posixGroup objectClass: top cn: nav_groupa userPassword: {crypt}x gidNumber: 100011 memberUid: nav_b dn: cn=nav_groupb,ou=Group,dc=fayson,dc=com objectClass: posixGroup objectClass: top cn: nav_groupb userPassword: {crypt}x gidNumber: 100012 memberUid: nav_c

(可左右滑动)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(7)

向OpenLDAP中导入Navigator测试组

[root@cdh01 openladp]# ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f navigator_group.ldif

(可左右滑动)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(8)

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

[root@cdh01 openladp]# vim navigator_user.ldif dn: uid=nav_a,ou=People,dc=fayson,dc=com uid: nav_a cn: nav_a objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: 123456 shadowLastChange: 17694 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /bin/bash uidNumber: 10001 gidNumber: 100010 homeDirectory: /home/nav_a dn: uid=nav_b,ou=People,dc=fayson,dc=com uid: nav_b cn: nav_b objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: 123456 shadowLastChange: 17110 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /sbin/bash uidNumber: 10002 gidNumber: 100011 homeDirectory: /home/nav_b dn: uid=nav_c,ou=People,dc=fayson,dc=com uid: nav_c cn: nav_c objectClass: account objectClass: posixAccount objectClass: top objectClass: shadowAccount userPassword: 123456 shadowLastChange: 17110 shadowMin: 0 shadowMax: 99999 shadowWarning: 7 loginShell: /sbin/nologin uidNumber: 10003 gidNumber: 100012 homeDirectory: /home/nav_c

(可左右滑动)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(9)

向OpenLDAP中导入Navigator测试用户

[root@cdh01 openladp]# ldapadd -D "cn=Manager,dc=fayson,dc=com" -W -x -f navigator_user.ldif

(可左右滑动)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(10)

3.查看是否导入成功

ldapsearch -h cdh01.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W "(&(objectClass=posixGroup)(cn=nav_*))" ldapsearch -h cdh01.fayson.com -b "dc=fayson,dc=com" -D "cn=Manager,dc=fayson,dc=com" -W "(&(objectClass=account)(uid=nav_*))"

(可左右滑动)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(11)

4.在命令行查看用户导入的测试用户

[root@cdh01 openladp]# id nav_a [root@cdh01 openladp]# id nav_b [root@cdh01 openladp]# id nav_c

(可左右滑动)

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(12)

5.分配角色组及验证


1.使用admin用户登录Cloudera Navigator管理平台,进入角色管理界面

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(13)

2.通过截图中的搜索栏查看nav_开头的OpenLDAP组

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(14)

3.点击搜索出来的组名,进入角色分配界面

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(15)

为nav_admin组分配超级管理员角色

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(16)

为nav_groupb组分配角色

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(17)

为nav_groupc组分配角色

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(18)

以上完成了对OpenLDAP组权限分配,拥有相应组的用户即有对应的Navigator的操作权限。

4.使用测试用户登录测试,查看用户拥有的权限

nav_a用户拥有的权限

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(19)

nav_b用户拥有的权限

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(20)

nva_c用户拥有的权限

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(21)

5.使用fayson用户所属组为fayson,未分配角色的组登录测试,提示用户没有权限访问

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(22)

6.总结


1.Navigator与OpenLDAP集成需要配置LDAP的访问地址,用户查询域“ou=People,dc=fayson,dc=com”,查询组的域“ou=Group,dc=fayson,dc=com”等。

2.在搜索用户组的参数中fayson添加了只能搜索指定前缀的组,以方便Navigator为相应组授权,以防止为其它用户组授权。

3.Navigator集成OpenLDAP后,需要为用户所在组分配角色,否则用户是没有权限访问Navigator服务。

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

为天地立心,为生民立命,为往圣继绝学,为万世开太平。

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

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

openwrt防火墙配置设置(0361-如何为Navigator集成RedHat7的OpenLDAP认证)(23)

原创文章,欢迎转载,转载请注明:转载自微信公众号Hadoop实操

,