首页›云计算›云计算-OpenStack+LDAP集成-第十节-Grafana对接LDAP认证

云计算-OpenStack+LDAP集成-第十节-Grafana对接LDAP认证

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

第十节 Grafana 对接 LDAP:grafana.ini 开关 → ldap.toml → 组映射角色
第十节 Grafana 对接 LDAP:grafana.ini 开关 → ldap.toml → 组映射角色

一、原理:两个文件 + 组映射

  • /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,四套系统,账号从此只记一个。

上一篇
下一篇