ClickHouse集成LDAP实现简单的用户认证

1.这里我的ldap安装的是docker版的

docker安装的化就yum就好了
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start docker
使用下面的命令验证
 sudo docker run hello-world
docker pull osixia/openldap:1.5.0
docker pull osixia/phpldapadmin:0.9.0

#服务
docker run \
   -d -p 389:389 -p 636:636 \
  --name ldap-service \
  --restart=always \
  --hostname openldap \
  -v /opt/docker-data/slapd/database:/var/lib/ldap \
  --volume /opt/docker-data/slapd/config:/etc/ldap/slapd.d \
  --env LDAP_ORGANISATION="abc.com" \
  --env LDAP_DOMAIN="abc.com" \
  --env LDAP_BASE_DN="dc=abc,dc=com" \
  --env LDAP_ADMIN_PASSWORD=123456 \
  osixia/openldap:1.5.0

#可视化界面
docker run  \
  -d -p 8000:80 \  
  -p 6443:443 \
  --name ldapadmin \
  --link ldap-service:ldap \
  --env PHPLDAPADMIN_LDAP_HOSTS=ldap \
  --detach osixia/phpldapadmin:0.9.0

参考https://www.cnblogs.com/hahaha111122222/p/17865368.html

登陆上分别创建了对于的组和用户

在clickhouse的配置路径下创建了个data.xml

/wsdck/clickhouse/config/clickhouse-server/config.d

dn那部分根据自己的用户组的去设置吧

<yandex>
<ldap_servers>
  <my_ldap_server>
            <host>localhost</host>
            <port>389</port>
            <tls_require_cert>never</tls_require_cert>
            <auth_dn_prefix>cn=</auth_dn_prefix>
            <auth_dn_suffix>,cn=data,cn=technology,ou=depts,dc=abc,dc=com</auth_dn_suffix>
            <enable_tls>no</enable_tls>
        </my_ldap_server>
</ldap_servers>
<users>
         <ldap_user_data>
            <ldap_server>my_ldap_server</ldap_server>
           <!--  <profile>default_profile</profile>
            <quota>default</quota> -->
        </ldap_user_data>
        </users>
<!--
<profiles>
        <default_profile>
            <allow_ddl>1</allow_ddl>
            <readonly>0</readonly>
        </default_profile>
    </profiles>
 <quotas>
        <default>
            <interval>
                <duration>3600</duration>
                <queries>0</queries>
                <errors>0</errors>
                <result_rows>0</result_rows>
                <read_rows>0</read_rows>
                <execution_time>0</execution_time>
            </interval>
        </default>
</quotas> -->
  <user_directories>
        <ldap>
        <server>my_ldap_server</server>
        <roles>
            <ldap_data_role />
        </roles>
        </ldap>
</user_directories>
</yandex>

ldap_data_role 这个是预先在clickhouse里创建好的角色

角色权限控制参考官网的语法

CREATE ROLE | ClickHouse Docs

配置好后重启clickhouse,即可使用对应的用户

这里改一下用户名和密码试试,也是正常登陆

增加用户test,登陆正常

后面学习后再做补充

相关推荐
是小崔啊3 分钟前
开源轮子 - EasyExcel02(深入实践)
java·开源·excel
myNameGL35 分钟前
linux安装idea
java·ide·intellij-idea
青春男大37 分钟前
java栈--数据结构
java·开发语言·数据结构·学习·eclipse
HaiFan.1 小时前
SpringBoot 事务
java·数据库·spring boot·sql·mysql
我要学编程(ಥ_ಥ)1 小时前
一文详解“二叉树中的深搜“在算法中的应用
java·数据结构·算法·leetcode·深度优先
music0ant1 小时前
Idea 添加tomcat 并发布到tomcat
java·tomcat·intellij-idea
cdg==吃蛋糕1 小时前
docker代理配置
docker·容器·eureka
计算机徐师兄2 小时前
Java基于SSM框架的无中介租房系统小程序【附源码、文档】
java·微信小程序·小程序·无中介租房系统小程序·java无中介租房系统小程序·无中介租房微信小程序
源码哥_博纳软云2 小时前
JAVA智慧养老养老护理帮忙代办陪诊陪护小程序APP源码
java·开发语言·微信小程序·小程序·微信公众平台
忒可君3 小时前
C# winform 报错:类型“System.Int32”的对象无法转换为类型“System.Int16”。
java·开发语言