You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

LDAP服务器正常但Grafana LDAP登录失败求助

Grafana LDAP认证失败排查方案(提示invalid username/password或未找到用户)

1. 验证LDAP搜索规则的准确性

  • 核对ldap.toml中的search_filter:如果用户用邮箱登录,需确保规则为(mail=%s);AD环境通常用(sAMAccountName=%s),OpenLDAP常用(uid=%s),必须匹配用户实际的登录属性。
  • 检查search_base_dns:确认其覆盖了用户所在的LDAP组织单元(OU),比如用户在ou=employees,dc=company,dc=com,配置的搜索基DN不能是ou=admin,dc=company,dc=com。
  • 用ldapsearch在容器内测试搜索有效性:
    docker exec -it <grafana容器名> ldapsearch -x -H ldap://<LDAP服务器地址>:389 -b "<搜索基DN>" "(<搜索属性>=<测试用户名>)"
    
    若返回空结果,说明搜索规则或基DN配置错误。

2. 确认绑定DN的权限与有效性

  • 验证绑定DN是否有读取用户条目的权限:部分LDAP服务器要求绑定用户具备目录读取权限,否则无法搜索到用户。
  • 测试绑定DN的登录有效性:
    docker exec -it <grafana容器名> ldapwhoami -x -H ldap://<LDAP服务器地址>:389 -D "<绑定DN>" -W
    
    输入绑定DN密码后,若返回dn:<绑定DN>则有效,否则检查绑定DN或密码是否正确。

3. 检查容器内配置文件的加载情况

  • 确认Docker Compose挂载路径正确:默认Grafana配置路径为/etc/grafana/,需确保grafana.ini和ldap.toml挂载到该目录,示例挂载配置:
    volumes:
      - ./grafana.ini:/etc/grafana/grafana.ini
      - ./ldap.toml:/etc/grafana/ldap.toml
    
  • 进入容器核对配置内容:
    docker exec -it <grafana容器名> cat /etc/grafana/ldap.toml
    
    确保内容与本地配置完全一致,避免挂载错误。
  • 检查容器内文件权限:确保Grafana运行用户(UID 472)可读取配置文件:
    docker exec -it <grafana容器名> ls -l /etc/grafana/
    

4. 核对用户属性映射配置

  • 确认ldap.toml中的username_attribute与用户LDAP条目中的登录属性一致,比如AD用sAMAccountName,OpenLDAP用uid。
  • 若配置了email_attribute,确保该属性在用户LDAP条目中存在且非空,部分场景下Grafana依赖该属性完成用户创建。

5. 开启LDAP调试日志定位问题

  • 修改grafana.ini,开启调试日志:
    log_level = debug
    [auth.ldap]
    verbose_logging = true
    
  • 重启容器后查看详细日志:
    docker logs -f <grafana容器名>
    
    日志会输出LDAP连接、搜索、绑定的完整过程,可精准定位是搜索无结果还是密码验证失败。

6. 排查LDAP连接细节

  • 若使用LDAPS(端口636),需确认容器是否信任LDAP服务器证书,测试阶段可临时关闭证书验证:在ldap.toml中添加ssl_skip_verify = true。
  • 检查防火墙规则:确保Grafana容器能访问LDAP服务器的对应端口(389/636)。

内容的提问来源于stack exchange,提问作者OmerFaruk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:58:16