Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >CDP-DC中Hue集成FreeIPA的LDAP认证

CDP-DC中Hue集成FreeIPA的LDAP认证

作者头像
大数据杂货铺
发布于 2020-06-24 02:46:55
发布于 2020-06-24 02:46:55
1.6K00
代码可运行
举报
文章被收录于专栏:大数据杂货铺大数据杂货铺
运行总次数:0
代码可运行

文档编写目的

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用户>。

本文主要介绍如何在CDP-DC中对Hue组件集成FreeIPA的LDAP认证。

内容概述

1) 测试环境描述

2) Hue集成FreeIPA的LDAP

3) Hue集成Hive和Impala

4) Hue集成验证

测试环境

1) RedHat版本为7.7

2) FreeIPA的版本为4.6.6

3) CM和Cloudera Runtime版本为7.1.1

4) FreeIPA未启用TLS加密认证

5) 集群已启用FreeIPA提供的Kerberos

前置条件

1) FreeIPA已安装且正常使用

2) CDP-DC集群已经部署,且启用了Kerberos

测试环境描述

FreeIPA集群已安装完毕。

查看配置文件

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[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 ~]$

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
$ ldapsearch -x uid=admin

而不是:

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

Hue集成FreeIPA提供的LDAP认证

修改Hue的认证方式为LDAP

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

配置LDAP信息

参数名

描述

ldap_url

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

配置FreeIPA的LDAP URL

ldap_username_pattern

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

base_dn

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

bind_dn

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

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

bind_password

cloudera

管理员账号的密码

user_filter

(objectClass=person)

user_name_attr

uid

search_bind_authentication

true

复选

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
desktop.auth.backend.AllowFirstUserDjangoBackend

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

测试LDAP是否配置成功

通过Cloudera Manager-> 群集 -> Hue ->操作 -> Test LDAP Configuration,进行测试:

点击Test LDAP Configuration,进行测试。

如果测试成功,继续后续的步骤。如果测试失败,则调整配置,然后再进行测试。

同步LDAP用户组

重启成功后使用Hue的超级管理员登录,我们这里是admin用户为超级管理员,同时admin用户在freeipa中也存在,如果不存在,则需要根据第四章同步一个ldap的用户到hue系统中。

需要通过“Add/Sync LDAP Group”的方式将freeipa的用户组也同步过来,这里同步ipausers这个用户组。

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

修改hue为LDAP认证

回到CM界面修改Hue的配置,将hue的用户的将认证方式修改为desktop.auth.backend.LdapBackend

保存配置并重启Hue服务。

保存并重启Hue。

用户登录测试

这里看到使用原来的admin用户密码已无法正常登录,因为在freeIPA的LDAP中admin这个用户的密码不是数据库中的密码。

使用freeIPA中的admin账户也可以正常登陆。

使用freeipa的test用户也可以正常登陆。

将Hue与LDAP服务器同步

通过将Hue配置为轻型目录访问协议(LDAP),您可以从目录服务导入用户和组,手动或自动登录时同步组成员身份,并通过LDAP进行身份验证

本页说明如何导入Hue用户和组并将其与LDAP服务器同步。请参阅使用LDAP对Hue用户进行身份验证以确保配置正确。

提示:导入和同步后,学习如何限制组权限。

将Hue用户和组与LDAP同步

Hue中有四个LDAP导入和同步选项:

LDAP同步操作

描述

添加/同步LDAP用户

一次导入和同步一个用户

同步LDAP用户/组

同步所有组中的用户成员身份

添加/同步LDAP组

导入并同步一组中的所有用户

sync_groups_at_login

登录时自动同步组成员身份

先决条件

注意: Hue不支持一次导入所有组。

要将Hue用户和组与LDAP服务器同步:

• 必须将Hue配置为通过LDAP进行身份验证。请参阅使用LDAP验证Hue用户。

• 登录的用户必须具有Hue超级用户权限。这里demo使用admin用户。

用户

导入和同步一个用户

要在Hue中导入和同步一个LDAP用户,请执行以下操作:

1. 以超级用户身份登录到Hue UI。

2. 转到用户管理 > 用户

3. 单击添加/同步LDAP用户

4. 添加用户名,选中创建主目录,然后单击添加/同步用户

同步所有用户成员

要将组成员身份(对于已导入的用户)同步到LDAP服务器的当前状态,请执行以下操作:

1. 以超级用户身份登录到Hue UI。

2. 转到用户管理 > 用户

3. 点击同步LDAP用户/组

4. 选中创建主目录,然后单击同步

导入并同步一个组(与一个或多个用户)

导入和同步组(及其多个用户):

1. 以超级用户身份登录到Hue UI。

2. 转到用户管理 >

3. 单击添加/同步LDAP组

4. 选中创建主目录,然后单击同步

总结

• Hue默认第一个登录的用户为管理员账号,在集成LDAP时需要配置LDAP信息后再将Hue登录的认证方式修改为AllowFirstUserDjangoBackend,需要使用管理员用户先登录Hue将LDAP用户同步后,再修改为LDAP认证。

• Hue管理LDAP用户组的逻辑是独立管理用户和组,在同步用户的时候是不会将用户的组信息同步。

• 在Hue集成LDAP的时候有勾选“登录时创建LDAP用户”,所以我们不需要先登录Hue管理员到用户界面去同步LDAP的用户。

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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java面试之Linux常用命令
原作者:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html
黄桂期
2018/07/25
6780
Linux下Shell加密-shc脚本加密
今天在LInux了接触到一个命令:“shc”,以前还真没遇到过,这个也不是内置的 ,不过挺有意思的 记录一下
pooky
2021/01/06
4.5K0
Shell脚本加密与解密
我们写的shell脚本里面通常会包含帐号密码等信息或者你不想让别人看到的信息,那么把写好的shell脚本进行简单的加密显得有些必要了。 常用的shell加密方法有两种,一种是通过gzexe加密,另一种是通过shc加密。 我们先给一个简单的脚本,然后用它来进行加密解密演示,脚本abc.sh内容如下 1 2 #!/bin/bash echo "hello world!" gzexe加密与解密shell脚本 (tips:绿色为输出内容) 1 2 3 4 5 6 7 8 9 bash abc.sh       
神无月
2018/07/13
14.5K0
【Python全栈100天学习笔记】Day35 Linux系统软件安装、Shell编程及配置服务工具
下面以MySQL为例,演示如何使用rpm安装软件。要安装MySQL需要先到MySQL官方网站下载对应的RPM文件,当然要选择和你使用的Linux系统对应的版本。MySQL现在是Oracle公司旗下的产品,在MySQL被收购后,MySQL的作者重新制作了一个MySQL的分支MariaDB,可以通过yum进行安装。
天道Vax的时间宝藏
2022/04/02
2800
【应急响应】Linux入侵排查思路
当企业发生黑客入侵、系统崩溃或其它影响业务正常运行的安全事件时,急需第一时间进行处理,使企业的网络信息系统在最短时间内恢复正常工作,进一步查找入侵来源,还原入侵事故过程,同时给出解决方案与防范措施,为企业挽回或减少经济损失。
Bypass
2019/07/08
2.7K0
【应急响应】Linux入侵排查思路
CentOS6下rpm打包实战
最近的工作需要将以前编译安装的软件包打包成rpm包,这里将打包过程记录一下以备忘。 准备rpm打包环境 我这里用的操作系统是CentOS6.7,redhat系的其它发行版应该也类似。 安装rpm-build 1 sudo yum install -y gcc make rpm-build redhat-rpm-config vim lrzsz 创建必须的文件夹和文件 mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} echo '%_topdir %(
jeremyxu
2018/05/10
1.6K0
Linux 文件类型+目录结构+常用命令(二)
1、/- 根 每一个文件和目录从根目录开始。 只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
wuweixiang
2018/08/14
1.9K0
Linux 文件类型+目录结构+常用命令(二)
shell脚本中的一大段乱码内容是什么鬼?
曾经有段时间使用Blackduck扫描docker image,在扫描过程中发现一个奇怪的shell脚本,shell脚本中上半部份是一段shell脚本内容,下半部分是一大段的乱码,就很好奇,这段乱码是干啥用的呢?
金鹏
2023/10/15
6350
如何保护你的密码:应用侧数据库&redis密码加密实践
1. 应用密码安全定义 应用密码包含:数据库密码、redis密码、通讯密码、pin密钥等。 本文的目标是确保上述密码在应用中不以明文形式,而是以加密形式存在,并且加密机制要相对安全,不易破解。 2. 本文关注范围 由于pin密钥之类的是通过硬件加密机实现的,不在本文论述范围内,本文重点关注应用侧配置文件中的数据库密码、**redis密码、FTP/FTPS**密码等。 3. 现状描述 1、很多系统并没有对密码安全足够重视,密码依然以明文状态为主。 例如:(以下配图均为测试环境的模拟举例) 数据库密码明文写在配
FB客服
2023/04/26
2K0
如何保护你的密码:应用侧数据库&redis密码加密实践
kubernetes工作记录(1)——kubernetes1.7.4版集群的离线安装搭建过程记录
之前将近一个月的时间算是初步入门了kubernetes,现在对之前的学习工作进行整理记录,将所有的内容有机的串联起来。 对照网上已有的内容和自己过去的博客,整理shell脚本 安装包结构示意如下(
胡了了
2017/12/28
1.8K0
kubernetes工作记录(1)——kubernetes1.7.4版集群的离线安装搭建过程记录
Linux入门所必备的Linux命令和C语言基础
touch -t 0712250000 file1 修改一个文件或目录的时间戳 - (YYMMDDhhmm)
用户6754675
2020/04/27
1.3K0
Linux 源码包安装
SRPM 包,比 RPM 包多了一个“S”,是“Source”的首字母,所以 SRPM 可直译为“源代码形式的 RPM 包”。也就是说,SRPM 包中不再是经过编译的二进制文件,都是源代码文件。可以这样理解,SRPM 包是软件以源码形式发布后直接封装成 RPM 包的产物。
芯动大师
2023/11/14
4240
Linux 源码包安装
Linux基础 | shell脚本编译成二进制可执行文件
1、安装编译软件,编译后生成shc文件就是命令程序yum install glibc-devel gcc c++ -ycd /usr/srcwget http://www.datsi.fi.upm.es/~frosal/sources/shc-3.8.9.tgztar xzf shc-3.8.9.tgzcd shc-3.8.9/make查看帮助手册[root@localhost shc-3.8.9]# ./shc -helpshc Version 3.8.9, Generic Script Compiler
凡人学运维
2022/06/10
4.5K0
如何构建自己的PHP静态可执行文件
static-php-cli 是一个用于构建静态编译的 PHP 二进制的工具,目前支持 Linux 和 macOS 系统。在本章节中,你将了解到如何使用 static-php-cli 构建独立的 php 程序。
Tinywan
2024/08/12
2620
如何构建自己的PHP静态可执行文件
shell脚本文件加密
生产上,有些场景下(例如一次性的归档数据等)可能需要在脚本里面声明账号密码之类的敏感信息。 可以使用python、valut等更强大的加密方法,但是对于一些临时性的工作,有时候有种杀鸡用牛刀的感觉。
保持热爱奔赴山海
2022/09/23
1.6K0
Centos6 安装python3 pip3 ipython3
因为是Centos6,前面安装3.7.x系列在SSL这块有些问题,考虑使用3.6.x系列看看。
Devops海洋的渔夫
2019/06/26
4K0
Centos6 安装python3 pip3 ipython3
使用LNMP搭建Zabbix并对接Elasticsearch
不然修改密码之后密码会过期,会提示让你重新设置密码 You must reset your password using ALTER USER statement before executing this statement/usr/local/mysql/bin/mysql -uroot -p #登录MySQLuse mysql #切换MySql数据库
没有故事的陈师傅
2019/07/28
7590
CentOS下对shell脚本加密的二种方法
 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_37757403/article/details/78114748
拓荒者
2019/07/01
1.5K0
Linux系统运维问题解决(一)
Q:挂载的目录进行卸载挂载繁忙,如:umount: /var: device is busy A:解决方法
全栈工程师修炼指南
2022/09/28
3K0
Linux系统运维问题解决(一)
Linux—软件管理
包名具体格式说明: bash(软件名称):软件名为bash 4(主版本号):重大改进 2(次版本号):某个子功能发生重大变化 46(修正号):修正了部分bug,调整了一点功能 28.el7(发布版本号):用于标识rpm包本身的发行号,还包含适应的操作系统 x86_64(硬件平台):表示包的适用的硬件平台
Alone-林
2022/12/09
4.2K0
Linux—软件管理
推荐阅读
相关推荐
Java面试之Linux常用命令
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验