本页不适用于 ClickHouse Cloud。本文档介绍的功能不适用于 ClickHouse Cloud 服务。
更多信息,请参阅 ClickHouse 的 Cloud Compatibility 指南。
在 ClickHouse 中配置 LDAP 连接设置
-
测试与此公共 LDAP 服务器的连接:
返回结果大致如下:
-
编辑
config.xml文件,并添加以下内容来配置 LDAP:
<test_ldap_server> 标签是一个任意标识,用于标识特定的 LDAP 服务器。| Parameter | Description | Example |
|---|---|---|
| host | LDAP 服务器的主机名或 IP | ldap.forumsys.com |
| port | LDAP 服务器的目录服务端口 | 389 |
| bind_dn | 用户 DN 模板路径 | uid={user_name},dc=example,dc=com |
| enable_tls | 是否使用安全 LDAP | no |
| tls_require_cert | 连接时是否要求证书 | never |
在此示例中,由于该公共服务器使用 389 端口且不使用安全端口,我们出于演示目的禁用了 TLS。
有关 LDAP 设置的更多详细信息,请参阅 LDAP 文档页面。
-
在
<user_directories>部分中添加<ldap>部分,以配置用户角色映射。此部分定义了用户通过身份验证后将被授予的角色。在这个基础示例中,任何通过 LDAP 进行身份验证的用户都将获得scientists_role,该角色会在 ClickHouse 的后续步骤中定义。该部分应类似如下:上面使用的是以下基础设置:Parameter Description Example server 前面 ldap_servers 部分中定义的标签 test_ldap_server roles 用户将映射到的、在 ClickHouse 中定义的角色名称 scientists_role base_dn 开始搜索包含该用户的组时使用的基础路径 dc=example,dc=com search_filter 用于识别并选择要映射给用户的组的 LDAP 搜索过滤器 (&(objectClass=groupOfUniqueNames)(uniqueMember={bind_dn}))attribute 应返回其值的属性名称 cn - 重启 ClickHouse server 以应用这些设置。
配置 ClickHouse 数据库角色和权限
本节中的操作步骤假定 ClickHouse 中已启用 SQL 访问控制与账户管理。要启用该功能,请参阅 SQL Users and Roles 指南。
-
在 ClickHouse 中创建一个角色,其名称与
config.xml文件中角色映射部分使用的名称相同 -
为该角色授予所需权限。以下语句会向任何能够通过 LDAP 进行身份验证的用户授予管理员权限:
测试 LDAP 配置
- 使用 ClickHouse 客户端登录
在步骤 1 中使用
ldapsearch 命令可查看目录中所有可用用户,并且所有用户的密码均为 password-
验证该用户是否已正确映射到
scientists_role角色,并具有管理员权限