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

说明

本文描述问题及解决方法同样适用于 弹性 MapReduce(EMR)

  • 系统环境说明

Linux环境:centos7.4

CDH:5.16.1

Java:1.8.0_131

LDAP版本:2.4.44

Kerberos版本:1.15.1

背景

关于Kerberos与Ldap两个方案,此处就不再赘述,分别参考我的另外两篇文章:

Kerberos:基于Kerberos认证的大数据权限解决方案

Ldap:基于LDAP认证的大数据权限解决方案

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

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

创建LDAP绑定管理员

为了使Kerberos能够绑定到OpenLDAP服务器,需要创建一个管理员用户和一个principal,并生成keytab文件

设置该文件的权限为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

至此,则完成了基于Kerberos+Ldap大数据复合认证权限的整合。

本站文章资源均来源自网络,除非特别声明,否则均不代表站方观点,并仅供查阅,不作为任何参考依据!
如有侵权请及时跟我们联系,本站将及时删除!
如遇版权问题,请查看 本站版权声明
THE END
分享
二维码
海报
基于Kerberos+Ldap复合认证的大数据权限
关于Kerberos与Ldap两个方案,此处就不再赘述,分别参考我的另外两篇文章:
<<上一篇
下一篇>>