Grafna之LDAP认证接入配置说明¶
一 简介¶
LDAP是轻量目录访问协议,英文全称是Lightweight Directory Access Protocol。使用LDAP作为Grafna的认证方式,管理员不需要关心登录账号密码的分配,只需要管理相应的用户组和权限即可。
二 原理说明¶
LDAP管理员为Grafna接入分配一个只读账号(user/password),给定LDAP接入的域信息,如OU=mygrafna,DC=mygrafna,DC=com,DC=cn。windows下使用ldapadmin客户端连接。
查看任意一个用户信息,如
cn: 张三 sn: 张 givenName: 三 name: 张三 sAMAccountName: 10000 … 等相关信息,Grafna接入LDAP之后,会定时同步一份LDAP里面用户名、密码到自身的认证服务里。在配置Grafna时,登录使用的LDAP用户名字段是sAMAccountName,用户信息里姓、名可以配置sn、cn(英文中姓、名排序和中文是反的,可以配置成自己习惯的即可)
当前使用的域在ldapadmin客户端中也可以查看。
三 接入流程¶
向LDAP管理员申请只读账号密码、LDAP服务器与域信息
使用LDAP客户端(ldapadmin)验证信息的准确性
在Grafna中配置接入LDAP,如认证不通过,启用debug模式进行调试
/etc/grafana/grafana.ini
python [log] filters = ldap:debug
配置修改后重启Grafna,使用LDAP账号登录
对LDAP权限控制由Grafna默认admin账号分配
四 配置说明¶
官方配置参考地址:http://docs.grafana.org/auth/ldap/
Grafna启用LDAP认证(默认/etc/grafana/grafana.ini)
config_file = /etc/grafana/ldap.toml allow_sign_up = true
配置需要接入的LDAP服务端信息(默认/etc/grafana/ldap.toml)
host = "192.168.12.123" # LDAP服务器IP port = 389 # 默认端口,未开启SSL
bind_dn = "user@mygrafna.com.cn" # LDAP管理用户名以及相关域信息
bind_password = 'password' #LDAP管理用户的密码
search_filter = "(sAMAccountName=%s)" # LDAP中存储用户的字段名
search_base_dns = ["DC=mygrafna,DC=com,DC=cn"]
五 配置参考
[[servers]]
host = "192.168.12.123"
port = 389
use_ssl = false
start_tls = false
ssl_skip_verify = true
bind_dn = "readonly@mygrafna.com.cn"
bind_password = 'password'
search_filter = "(sAMAccountName=%s)"
search_base_dns = ["DC=mygrafna,DC=com,DC=cn"]
[servers.attributes]
name = "sn"
surname = "givenName"
username = "sAMAccountName"
member_of = "memberOf"
email = "mail"
[[servers.group_mappings]]
group_dn = "DC=mygrafna,DC=com,DC=cn"
org_role = "Admin"
org_id = 3
[[servers.group_mappings]]
group_dn = "DC=mygrafna,DC=com,DC=cn"
org_role = "Editor"
[[servers.group_mappings]]
group_dn = "*"
org_role = "Viewer"