如何为CM集成FreeIPA提供的LDAP认证

人工智能与算法增长营销数据安全

文档编写目的

本篇文章主要介绍如何为Cloudera Manager集成 FreeIPA提供的 LDAP认证。

内容概述

  1. 测试环境描述

  2. FreeIPA的LDAP介绍

  3. Cloudera Manager集成LDAP

  4. Cloudera Manager集成验证

  5. 总结

测试环境

  1. RedHat7.7

  2. CM和Cloudera Runtime版本为7.1.1

  3. FreeIPA版本为4.6.6

前置条件

  1. FreeIPA已安装且正常使用

  2. CDP-DC集群已搭建完毕且正常使用

测试环境描述

FreeIPA集群已安装完毕。

查看配置文件

从IPA 3.0开始,我们已经为/etc/openldap/ldap.conf配置了一些默认值:


          
[ec2-user@ip-10-0-0-170 ~]$ cat /etc/openldap/ldap.conf
          
# File modified by ipa-client-install
          

          
# We do not want to break your existing configuration, hence:
          
#   URI, BASE, TLS_CACERT and SASL_MECH
          
#   have been added if they were not set.
          
#   In case any of them were set, a comment has been inserted and
          
#   "# CONF_NAME modified by IPA" added to the line above.
          
# To use IPA server with openLDAP tools, please comment out your
          
# existing configuration for these options and uncomment the
          
# corresponding lines generated by IPA.
          

          

          
#
          
# LDAP Defaults
          
#
          

          
# See ldap.conf(5) for details
          
# This file should be world readable but not world writable.
          

          
#BASE  dc=example,dc=com
          
#URI  ldap://ldap.example.com ldap://ldap-master.example.com:666
          

          
#SIZELIMIT  12
          
#TIMELIMIT  15
          
#DEREF    never
          

          
TLS_CACERTDIR  /etc/openldap/certs
          

          
# Turning this off breaks GSSAPI used with krb5 when rdns = false
          
SASL_NOCANON  on
          
URI ldaps://ip-10-0-0-170.ap-southeast-1.compute.internal
          
BASE dc=ap-southeast-1,dc=compute,dc=internal
          
TLS_CACERT /etc/ipa/ca.crt
          
SASL_MECH GSSAPI
          
[ec2-user@ip-10-0-0-170 ~]$
      

picture.image

设置这些默认值意味着您无需将太多选项传递给 ldapsearch 之类的工具。 搜索更加容易:


        
            

          $ ldapsearch -x uid=admin
        
      

而不是:


        
            

          $ ldapsearch -x -h ipa.example.com -b dc=example,dc=com uid=admin
        
      

          
[ec2-user@ip-10-0-0-170 ~]$ ldapsearch -x uid=admin
          
# extended LDIF
          
#
          
# LDAPv3
          
# base <dc=ap-southeast-1,dc=compute,dc=internal> (default) with scope subtree
          
# filter: uid=admin
          
# requesting: ALL
          
#
          

          
# admin, users, compat, ap-southeast-1.compute.internal
          
dn: uid=admin,cn=users,cn=compat,dc=ap-southeast-1,dc=compute,dc=internal
          
objectClass: posixAccount
          
objectClass: ipaOverrideTarget
          
objectClass: top
          
gecos: Administrator
          
cn: Administrator
          
uidNumber: 1376400000
          
gidNumber: 1376400000
          
loginShell: /bin/bash
          
homeDirectory: /home/admin
          
ipaAnchorUUID:: OklQQTphcC1zb3V0aGVhc3QtMS5jb21wdXRlLmludGVybmFsOmJmYTI4NGI4LW
          
 E5MzktMTFlYS1iZmEzLTA2YTdiNzk2MzQwYQ==
          
uid: admin
          

          
# admin, users, accounts, ap-southeast-1.compute.internal
          
dn: uid=admin,cn=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal
          
objectClass: top
          
objectClass: person
          
objectClass: posixaccount
          
objectClass: krbprincipalaux
          
objectClass: krbticketpolicyaux
          
objectClass: inetuser
          
objectClass: ipaobject
          
objectClass: ipasshuser
          
objectClass: ipaSshGroupOfPubKeys
          
uid: admin
          
cn: Administrator
          
sn: Administrator
          
uidNumber: 1376400000
          
gidNumber: 1376400000
          
homeDirectory: /home/admin
          
loginShell: /bin/bash
          
gecos: Administrator
          

          
# search result
          
search: 2
          
result: 0 Success
          

          
# numResponses: 3
          
# numEntries: 2
          
[ec2-user@ip-10-0-0-170 ~]$
          

      

picture.image

CM与FreeIPA的LDAP集成

1.使用管理员用户登录Cloudera Manager,进入“管理”->“设置”界面

picture.image

2.通过左侧的筛选器过滤“外部身份验证”

picture.image

3.配置外部身份验证,具体配置参数如下:

参数名描述
身份验证后端顺序
先外部,后数据库
第一次配置时不能只用外部,预防配置失败无法进入
CM
Authorization Backend Order
Database and External
第一次配置时不能只用外部,预防配置失败无法进入
CM
外部身份验证类型
LDAP
LDAP URL
ldaps://ip-10-0-0-170.ap-southeast-1.compute.internal:636
配置
OpenLDAP
URL
LDAP
绑定用户可分辨名称
uid=
admin,cn
=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal
配置用于搜索
OpenLDAP
的管理员账号
LDAP
绑定密码
c
loudera
管理员
账号
密码
LDAP
用户搜索库
cn
=
users,cn
=
accounts,dc
=ap-southeast-1,dc=
compute,dc
=internal
搜索
LDAP
用户的基础域
LDAP
用户搜索筛选器
uid
={
0}
LDAP
组搜索库
cn
=
groups,cn
=
accounts,dc
=ap-southeast-1,dc=
compute,dc
=internal
搜索
LDAP
组的基础域
LDAP
组搜索筛选器
member
={
0}
过滤搜索的
LDAP
组条件,使用或者的关系过滤组中
cn
,针对用户名和组一致的情况
LDAP
可分辨名称模式
uid
={
0},cn=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal
LDAP
专有名称模式进行配置。

|

picture.image

picture.image

4.完成上述配置后,在命令行重启Cloudera- scm -server服务


        
            

          systemctl restart cloudera-scm-server
        
      

picture.image

以上完成Cloudera Manager与 FreeIPA的LDAP 的集成。

Cloudera Manager集成验证

打开Cloudera Manager,通过管理 -> Users&Roles

picture.image

可以看到用户角色管理页面增加了LDAP group的菜单。但没有任何LDAP用户组的映射。

查看FreeIPA的用户组信息

通过浏览器进入到FreeIPA的UI,通过身份 -> 用户组,查看系统中的用户组信息。

picture.image

目前FreeIPA的用户组有四个,我们讲admins和ipausers两个group配置到Cloudera Manager的LDAP映射。

添加LDAP Group Mapping

点击LDAP Group Mapping按钮,进入LDAP Group Mapping配置页面

picture.image

picture.image

admins组映射到完全管理员,ipausers映射为只读。

picture.image

picture.image

LDAP Group映射完成后,可以看到目前的配置结果。

picture.image

右边有菜单,可以进行角色重新分配和删除等。

picture.image

admins组测试

Admins组下只有一个成员admin,使用freeIPA中admin的用户信息登录。

picture.image

picture.image

使用原来数据库中的admin用户信息登录。

picture.image

picture.image

使用ipausers组的用户信息登录。

picture.image

picture.image

总结

CM 集成 FreeIPA 的 LDAP ,用户的权限管理是通过用户所属组实现,如果需要为用户配置相应的管理权限则需要将用户组添加到对应的权限组中,未配置的用户只拥有读权限。

  1. 在测试LDAP用户登录成功后,可以将CM的“身份验证后端顺序”和“Authorization Backend Order”修改为“仅外部”。

  2. 对于数据库用户登录,是可以通过CM进行修改密码;对于LDAP用户登录,则不提供修改密码功能。

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
字节跳动客户端性能优化最佳实践
在用户日益增长、需求不断迭代的背景下,如何保证 APP 发布的稳定性和用户良好的使用体验?本次分享将结合字节跳动内部应用的实践案例,介绍应用性能优化的更多方向,以及 APM 团队对应用性能监控建设的探索和思考。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论