二、openldap整合kylin

本文详细介绍了如何在Kylin中配置LDAP用户认证及权限管理,包括创建用户和角色,导入配置,以及设置访问权限的过程。

一、kylin用户准备

编辑kylin用户配置文件,导入到openldap中,将kylin相关的账户数据放置到ou=kylin,dc=bigdata,dc=ly目录下,由于kylin需要维护用户和角色的相关信息,因此设置cn=People,ou=kylin,dc=bigdata,dc=ly下存放kylin的用户信息,ou=Group,ou=kylin,dc=bigdata,dc=ly存放kylin角色信息。编辑kylin_user.ldif配置文件,密码生成可以使用slappasswd -s 1234进行生成,采用ssha方式进行加密,还可以选择其他加密方式。内容如下:

#添加kylin分支,用于存放kylin相关用户和组信息
dn: ou=kylin,dc=bigdata,dc=ly
ou: kylin
objectClass: top
objectClass: organizationalUnit
#添加people分支
dn: cn=People,ou=kylin,dc=bigdata,dc=ly
cn: People
objectClass: organizationalRole
#添加kylin组分支
dn: cn=Groups,ou=kylin,dc=bigdata,dc=ly
cn: Groups
objectClass: organizationalRole
#ANALYST账户
dn: uid=ANALYST,cn=People,ou=kylin,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: ANALYST
sn: ANALYST
cn: ANALYST
userPassword: {SSHA}oFRigOdzHpq7laDh6E+OOqJQT36gubNF
#MODELER账户
dn: uid=MODELER,cn=People,ou=kylin,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: MODELER
sn: MODELER
cn: MODELER
userPassword: {SSHA}oFRigOdzHpq7laDh6E+OOqJQT36gubNF
#dockj账户
dn: uid=dockj,cn=People,ou=kylin,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: dockj
sn: dockj
cn: dockj
userPassword: {SSHA}oFRigOdzHpq7laDh6E+

#ADMIN账户
dn: uid=ADMIN,cn=People,ou=kylin,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: ADMIN
sn: ADMIN
cn: ADMIN
userPassword: {SSHA}oFRigOdzHpq7laDh6E+OOqJQT36gubNF
#给ADMIN用户添加组权限的节点
dn: cn=ADMIN,cn=Groups,ou=kylin,dc=bigdata,dc=ly
objectClass: groupOfNames
objectClass: top
cn: ADMIN
member: uid=ADMIN,cn=People,ou=kylin,dc=bigdata,dc=ly

#给MODELER用户添加组权限的节点
dn: cn=MODELER,cn=Groups,ou=kylin,dc=bigdata,dc=ly
objectClass: groupOfNames
objectClass: top
cn: MODELER
member: uid=dockj,cn=People,ou=kylin,dc=bigdata,dc=ly
member: uid=MODELER,cn=People,ou=kylin,dc=bigdata,dc=ly

#给ANALYST用户添加组权限的节点
dn: cn=ANALYST,cn=Groups,ou=kylin,dc=bigdata,dc=ly
objectClass: groupOfNames
objectClass: top
cn: ANALYST
member: uid=ANALYST,cn=People,ou=kylin,dc=bigdata,dc=ly
#添加system分组,用户存储系统用户,提供外界访问的openldap用户
dn: cn=System,ou=kylin,dc=bigdata,dc=ly
cn: System
objectClass: organizationalRole
#添加kylin分组的只读权限
dn: uid=kylin_read,cn=System,ou=kylin,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: kylin_read
sn: kylin_read
cn: kylin_read
userPassword: {SSHA}oFRigOdzHpq7laDh6E+OOqJQT36gubNF
#添加kylin分组的读写权限
dn: uid=kylin_write,cn=System,ou=kylin,dc=bigdata,dc=ly
objectClass: inetOrgPerson
uid: kylin_write
sn: kylin_write
cn: kylin_write
userPassword: {SSHA}oFRigOdzHpq7laDh6E+OOqJQT36gubNF

执行如下命令,将kylin账户信息导入到openldap中:

ldapadd -x -D "cn=admin,dc=bigdata,dc=ly" -w 1234 -f kylin_user.ldif -H ldap://10.100.203.117:18888

配置ou=kylin,dc=bigdata,dc=ly条目数据的访问权限,编辑文件kylin_acl.ldif文件,添加内容如下,设置用户uid=kylin_read,cn=System,ou=kylin,dc=bigdata,dc=ly对ou=kylin,dc=bigdata,dc=ly只用只读权限,在kylin中进行配置。

dn: olcDatabase={2}mdb,cn=config
changetype: modify
add: olcAccess
olcAccess: to dn.subtree="ou=kylin,dc=bigdata,dc=ly" 
    by dn.base="uid=kylin_read,cn=System,ou=kylin,dc=bigdata,dc=ly" read
    by dn.base="uid=kylin_write,cn=System,ou=kylin,dc=bigdata,dc=ly" write
    by * auth

执行如下命令,将配置导入到配置文件中去:

ldapmodify -x -D "cn=config" -w 1234 -f kylin_acl.ldif -H ldap://10.100.203.117:18888

二、配置kylin服务

在kylin.properties配置文件中添加如下内容:

## with "testing" profile, user can use pre-defined name/pwd like KYLIN/ADMIN to login
kylin.security.profile=ldap
#
## Admin roles in LDAP, for ldap and saml
kylin.security.acl.admin-role=ADMIN
#
## LDAP authentication configuration
kylin.security.ldap.connection-server=ldap://10.100.203.117:18888
kylin.security.ldap.connection-username=uid=kylin_read,cn=System,ou=kylin,dc=bigdata,dc=ly
kylin.security.ldap.connection-password=AntBN4PitasVrW9zrwyLRw==
#
## LDAP user account directory;
kylin.security.ldap.user-search-base=cn=People,ou=kylin,dc=bigdata,dc=ly
kylin.security.ldap.user-search-pattern=uid={0}
kylin.security.ldap.user-group-search-base=cn=Groups,ou=kylin,dc=bigdata,dc=ly
#kylin.security.ldap.user-group-search-filter=(|(member={0})(memberUid={1}))
## LDAP service account directory
kylin.security.ldap.user-search-base=cn=People,ou=kylin,dc=bigdata,dc=ly
kylin.security.ldap.user-search-pattern=uid={0}
kylin.security.ldap.user-group-search-base=cn=Groups,ou=kylin,dc=bigdata,dc=ly

由于kylin设置ldap密码是经过加密的,所以通过如下方式获取加密密码,注意jar包的版本,1234为要加密的密码:

cd $KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/lib
java -classpath kylin-server-base-2.3.2.jar:spring-beans-4.3.10.RELEASE.jar:spring-core-4.3.10.RELEASE.jar:commons-codec-1.7.jar org.apache.kylin.rest.security.PasswordPlaceholderConfigurer AES 1234

设置完成重启kylin。

kylin.sh stop
kylin.sh start
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值