测试你的ladp服务
ldapsearch -x-bdc=example,dc=com -H ldap://ldap.forumsys.com
应该输出类似以下的内容
# extended LDIF
#
# LDAPv3
# base <dc=example,dc=com> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
#
# example.com
dn: dc=example,dc=com
objectClass: top
objectClass: dcObject
objectClass: organization
o: example.com
dc: example
...
clickhouse配置ldap服务
vi /etc/clickhouse-server/config.xml
搜索 ldap_servers :/ldap
在<ldap_servers ></ldap_servers >中添加 ldap服务片段,按需替换 bind_dn,hdp201_ldap就是为这个ldap服务起个名字
<ldap_servers>
<hdp201_ldap>
<host>ldap.forumsys.com</host>
<port>389</port>
<bind_dn>uid={user_name},dc=example,dc=com</bind_dn>
<enable_tls>no</enable_tls>
<tls_require_cert>never</tls_require_cert>
</hdp201_ldap>
</ldap_servers>
登录default账号
clickhouse-client --port 9001 --password
创建ldap账号
创建用户uid2,根据我们配置的ldap server服务器来创建,hdp201_ldap 就是上边创建的服务名称
注意:在执行这个命令前,ldap服务器上必须已经存在uid2用户
CREATE USER uid2 IDENTIFIED WITH ldap server 'hdp201_ldap';
tip:如果出现以下错误
需要开启default用户创建用户、授权的权限
开启创建用户权限
vi /etc/clickhouse-server/users.xml
打开default用户此处的注释,使default用户拥有创建用户、赋权的权限
然后重启clickhouse服务
测试新建的ldap用户
clickhouse-client -u uid2 --password root --port 9001
这样配置clickhouse整合ldap有个好处,clickhouse不需要重启
但是需要在ldap中创建一次用户,然后再clickhouse中再创建一次