前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在CDP-DC中Ranger集成FreeIPA的LDAP用户

在CDP-DC中Ranger集成FreeIPA的LDAP用户

作者头像
大数据杂货铺
发布2020-06-19 11:35:29
2K0
发布2020-06-19 11:35:29
举报
文章被收录于专栏:大数据杂货铺

文档编写目的

Cloudera从CM6.3版本开始,引入了Red Hat IdM来做整个集群的认证,Red Hat IdM对应的软件为FreeIPA,在本文中描述如何使用FreeIPA来做CDP-DC集群的认证。关于FreeIPA服务器搭建参考<使用FreeIPA对Linux用户权限统一管理>。之前的文章包括<使用FreeIPA为CDP DC7.1集群部署安全>,<CDP-DC中为CM集成FreeIPA提供的LDAP认证>。

本篇文章主要介绍如何为CDP-DC平台上的Ranger集成FreeIPA提供的LDAP用户。

内容概述

1) 测试环境描述

2) FreeIPA的LDAP介绍

3) Ranger集成LDAP

4) Ranger集成验证

5) 总结

测试环境

1) RedHat7.7

2) CM和Cloudera Runtime版本为7.1.1

3) FreeIPA版本为4.6.6

前置条件

1) FreeIPA已安装且正常使用

2) CDP-DC集群已搭建完毕且正常使用,已经启用FreeIPA提供的Kerberos认证。

测试环境描述

FreeIPA集群已安装完毕。

查看配置文件

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

代码语言:javascript
复制
[ec2-user@ip-10-0-0-170 ~]$ cat /etc/openldap/ldap.conf
代码语言:javascript
复制
# 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 ~]$

[ec2-user@ip-10-0-0-170 ~]$

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

代码语言:javascript
复制
$ ldapsearch -x uid=admin

而不是:

代码语言:javascript
复制
$ ldapsearch -x -h ipa.example.com  -b dc=example,dc=com uid=admin
代码语言:javascript
复制
[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 ~]$

Ranger与LDAP集成

使用管理员用户登录Cloudera Manager,进入“群集”->Ranger ->“配置”界面

2.通过配置下方的搜索器搜索LDAP,可以看到涉及到Ranger Admin和Ranger Usersync两部分

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

参数名

描述

ranger.ldap.url

ldaps://ip-10-0-0-170.ap-southeast-1.compute.internal:636

配置FreeIPA的LDAP URL

ranger.ldap.bind.dn

uid=admin,cn=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

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

ranger.ldap.bind.password

cloudera

管理员账号的密码

ranger.ldap.user.dnpattern

uid={0},cn=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

ranger.ldap.user.searchfilter

uid={0}

LDAP用户搜索过滤器。仅在身份验证方法为LDAP时使用。

ranger.ldap.group.searchbase

cn= groups,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

ranger.ldap.group.searchfilter

member={0}

ranger.ldap.group.roleattribute

cn

ranger.ldap.base.dn

cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

ranger.ldap.referral

follow

如果将多个LDAP服务器配置为返回结果的连续引用,则设置为遵循。如果不应该引用,则设置为忽略(默认)。当将此参数设置为throw时,在抛出ReferralException之前,所有常规条目都首先在枚举中返回。

ranger.usersync.source.impl.class

org.apache.ranger.ldapusersync.process.LdapUserGroupBuilder

分别对应Unix用户同步,文件系统同步,和LDAP用户同步。这些选择LDAP

ranger.usersync.ldap.url

ldaps://ip-10-0-0-170.ap-southeast-1.compute.internal:636

ranger.usersync.ldap.binddn

uid=admin,cn=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

ranger.usersync.ldap.ldapbindpassword

cloudera

ranger.usersync.ldap.deltasync

Ranger Usersync Default Group

复选

ranger.usersync.ldap.searchBase

cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

ranger.usersync.ldap.user.searchbase

cn=users,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal

ranger.usersync.ldap.user.searchscope

sub

用户的搜索范围。值“ base”表示仅应考虑在ranger.usersync.ldap.user.searchbase中指定为搜索基础的条目。“one”表示仅应考虑在ranger.usersync.ldap.user.searchbase中指定为搜索基础的条目的直接子级。“ Sub”表示应该考虑在ranger.usersync.ldap.user.searchbase中指定为搜索基础的条目及其所有子级的任何深度。

ranger.usersync.ldap.user.searchfilter

(|(memberOf=cn=ipausers,cn= groups,cn=accounts,dc=ap-southeast-1,dc=compute,dc=internal))

ranger.usersync.ldap.user.nameattribute

uid

ranger.usersync.ldap.user.nameattribute

ignore

ranger.usersync.group.usermapsyncenabled

Ranger Usersync Default Group

复选

ranger.usersync.user.searchenabled

Ranger Usersync Default Group

复选

ranger.usersync.group.searchenabled

Ranger Usersync Default Group

复选

ranger.authentication.method

LDAP

登录到Ranger Admin的身份验证方法。

清除LDAP搜索筛选项,然后搜索enable,选择Ranger Usersync范围,在结果中找到ranger.usersync.user.searchenabled,确保复选中。

4.完成上述配置后,保存更改,重启Ranger服务应用配置

以上完成Ranger与FreeIPA的LDAP的集成。

Ranger用户同步

通过Cloudera Manager-> 群集 -> Ranger,进入到Ranger组件,点击操作下的刷新Ranger Usersync,进行用户同步

点击刷新 Ranger Usersync,进行用户同步

点击关闭。

切换到Ranger管理员登陆Ranger UI,进入Audit-> User Sync菜单;

可以看到系统所有的用户同步记录。点击当前记录的Sync Details查看详细信息:

从审计中可以看到,总共同步了52个用户5个group。可以看到上面的几个参数都是true的状态。

Ranger集成验证

Ranger集成LDAP用户验证

打开CM管理器->群集->Ranger->Ranger Admin Web UI,打开Ranger的UI管理界面

输入LDAP中admin用户和密码,进入到Ranger的管理界面:

Ranger可以顺利登陆,说明Ranger系统集成了LDAP的用户。

注意:Ranger管理员可以看到Audit菜单,非管理员看不到Audit菜单。

Ranger用户同步验证

通过Settings->Users/Groups/Roles,进入用户及角色管理页面:

通过搜索只存在freeipa而不存在操作系统的用户superuser来进行用户验证:

从上图可以看到,superuser存在Ranger的用户中,对应的组为ipausers,这是freeipa的组。

使用superuser用户登录ranger,可以看到功能菜单少了,只保留了access Manager和Security Zone两个菜单。

总结

提供CM将Ranger集成FreeIPA的LDAP,这个整个权限管理系统可以使用一套用户管理体系,减少了用户同步的维护操作。

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

本文分享自 大数据杂货铺 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档