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,登陆正常

后面学习后再做补充

相关推荐

  1. Grafana 配置实时开通LDAP认证-基于AD

    2024-07-18 06:06:01       56 阅读
  2. SpringBoot集成ClickHouse,含集成kerberos认证

    2024-07-18 06:06:01       27 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 06:06:01       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 06:06:01       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 06:06:01       62 阅读
  4. Python语言-面向对象

    2024-07-18 06:06:01       72 阅读

热门阅读

  1. PHP + Swoole 与 Go 技术选型对比调研报告

    2024-07-18 06:06:01       18 阅读
  2. Spring Boot 注解 @PostConstruct 介绍

    2024-07-18 06:06:01       24 阅读
  3. 从零手写实现 nginx-31-load balance 负载均衡介绍

    2024-07-18 06:06:01       26 阅读
  4. Elasticsearch数据迁移

    2024-07-18 06:06:01       18 阅读
  5. 构建管理大师:如何在Gradle中配置源代码目录

    2024-07-18 06:06:01       21 阅读
  6. 深入解析:如何在Gradle中配置签名插件

    2024-07-18 06:06:01       23 阅读
  7. LeetCode 算法:括号生成 c++

    2024-07-18 06:06:01       22 阅读
  8. Apache Omid TSO 组件源码实现原理

    2024-07-18 06:06:01       22 阅读
  9. php 方法追踪其被调用的踪迹

    2024-07-18 06:06:01       20 阅读
  10. 山东航空小程序查询

    2024-07-18 06:06:01       25 阅读
  11. 怎么查看占用端口的 PID

    2024-07-18 06:06:01       20 阅读
  12. 算法1.快速幂【a^b、(a^b)%p】

    2024-07-18 06:06:01       23 阅读