基于Kerberos+Ldap复合认证的大数据权限

● 系统环境说明

Linux环境:centos7.4
CDH:5.16.1
Java:1.8.0_131
LDAP版本:2.4.44
Kerberos版本:1.15.1

● 集群配置

机器数量:50
内存:64G
硬盘:4T
CPU核心数:32

关于Kerberos与Ldap两个方案,此处就不再赘述,分别参考我的另外两篇文章:
Kerberos:基于Kerberos认证的大数据权限解决方案
Ldap:基于LDAP认证的大数据权限解决方案

本篇文章主要讲述如何将KDC与Ldap相整合,整合过程比较简单,下面我们来进行操作。

前提:集群已完成Kerberos、Ldap的权限认证。

为了使Kerberos能够绑定到OpenLDAP服务器,需要创建一个管理员用户和一个principal,并生成keytab文件
设置该文件的权限为LDAP服务运行用户可读(一般为ldap):

创建LDAP绑定管理员

kadmin.local -q "addprinc ldapadmin@CDH.AI.COM"
kadmin.local -q "addprinc -randkey ldap/cdh01.ali.aiwaystack.com@CDH.AI.COM"
kadmin.local -q "ktadd -k /etc/openldap/ldap.keytab ldap/cdh01.ali.aiwaystack.com@CDH.AI.COM"

chown ldap:ldap /etc/openldap/ldap.keytab && chmod 640 /etc/openldap/ldap.keytab

使用ldapadmin用户测试

kinit ldapadmin

增加KRB5_KTNAME配置

确保LDAP启动时使用上一步中创建的keytab文件,在/etc/sysconfig/ldap中增加:

export KRB5_KTNAME=/etc/openldap/ldap.keytab

引入 kerberos 的 schema:

cp /usr/share/doc/krb5-server-ldap-1.10.3/kerberos.schema /etc/openldap/schema/

修改配置

修改配置文件/etc/openldap/slapd.conf,在include下追加以下内容:

include /etc/openldap/schema/kerberos.schema

更新slapd.d

slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
chown -R ldap:ldap /etc/openldap/slapd.d && chmod -R 700 /etc/openldap/slapd.d

重启slapd服务

systemctl restart slapd
posted @ 2020-06-11 17:03  仓皇  阅读(825)  评论(0编辑  收藏  举报