云计算-OpenStack+LDAP集成-第十节-Grafana对接LDAP认证
最后一公里:连Grafana 自己的登录也交给 LDAP。做完这一节,学生用一套账号能进云平台、共享目录和监控大屏,管理员也不用再在 Grafana 里手工建用户——这正是“统一认证”的完全体。

一、原理:两个文件 + 组映射
- /etc/grafana/grafana.ini:总开关,声明「启用 LDAP 认证」并指向详细配置文件;
- /etc/grafana/ldap.toml:连接细节——LDAP 在哪、用哪个账号查、按什么过滤用户、把哪些属性映射过来;
- 组映射 group_mappings:LDAP 里的组对应 Grafana 的角色。Admin 全权、Editor 能改面板、Viewer 只能看。
二、操作步骤
第一步:打开 LDAP 认证开关。
vi /etc/grafana/grafana.ini [auth.ldap] enabled = true config_file = /etc/grafana/ldap.toml allow_sign_up = true
systemctl restart grafana-server
第二步:写 ldap.toml 连接细节。
vi /etc/grafana/ldap.toml verbose_logging = true # 排错时打开,会详细记录认证过程 [[servers]] host = "192.168.100.10" # LDAP 服务器地址 port = 389 # 默认 389,SSL 一般 636 use_ssl = false start_tls = false ssl_skip_verify = false # 生产环境建议 false bind_dn = "cn=admin,dc=example,dc=com" bind_password = '12345678' search_filter = "(cn=%s)" # %s 会被替换成登录名 search_base_dns = ["ou=users,dc=example,dc=com"] [servers.attributes] name = "givenName" surname = "sn" username = "cn" member_of = "memberOf" email = "email"
第三步:配置组 → 角色映射。匹配规则自上而下,命中即停;最后的 * 是兜底,所有人都落为 Viewer。
[[servers.group_mappings]] group_dn = "cn=grafana-admins,ou=groups,dc=example,dc=com" org_role = "Admin" [[servers.group_mappings]] group_dn = "cn=grafana-editors,ou=groups,dc=example,dc=com" org_role = "Editor" [[servers.group_mappings]] group_dn = "*" org_role = "Viewer"
systemctl restart grafana-server
验证:用 LDAP 里的账号登录 Grafana。用 grafana-admins 组的账号应看到管理菜单,普通账号则只能查看面板。
三、角色对照
| LDAP 组 | Grafana 角色“, ”能做什么 | |
|---|---|---|
| grafana-admins | Admin | 管用户、改数据源、删仪表板 |
| grafana-editors | Editor | 新建/修改面板与仪表板 |
| 其他所有人(*) | Viewer | 只读查看 |
四、常见问题与排错
| 现象“, ”原因“, ”解决办法 | |
|---|---|
| 登录仍走本地账号 | [auth.ldap] 没生效“, ”确认 enabled=true 且重启了服务 |
| 日志报 bind 失败 | bind_dn / bind_password 错“, ”先用 ldapsearch 验证同样凭据 |
| 登录成功但没权限 | member_of 属性取不到组“, ”核对 servers.attributes 的 member_of |
| 所有人都成了 Admin | 映射顺序不对“, ”把 * 兜底放到最后一项 |
五、系列收尾
整套流程回顾:本地 yum 源(一)→ 在线源与系统更新(二)→ OpenLDAP 账号中心(三)→ phpLDAPadmin 管理端(四)→ Keystone 对接 LDAP(五)→ Prometheus 采集(六)→ Grafana 大屏(七)→ Samba 共享接入(八)→ 三路径联调(九)→ Grafana 也统一登录(十)。一套 LDAP,四套系统,账号从此只记一个。

