【发布时间】:2019-11-22 03:10:37
【问题描述】:
我花了很多天时间试图让 Grafana 通过 LDAPS 对 Active Directory 的用户进行身份验证。如果有人拥有让它工作所需的魔法,我会很高兴。
我在使用 Grafana 时遇到问题。我想这可能是个问的好地方。我正在尝试使用 LDAPS 身份验证进行用户身份验证,但失败了。
环境:ubuntu14.04 grafana6.2 openldap2.4.31
这是我的配置文件的相关部分:
----------------ldap.toml----------
[[servers]]
host = "xx.xxx.xx.xxx"
port = 389
use_ssl = false
start_tls = false
ssl_skip_verify = false
bind_dn = "cn=admin,dc=sscc,dc=com"
bind_password = '123456'
search_filter = "(cn=%s)"
search_base_dns = ["dc=sscc,dc=com"]
group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"
group_search_base_dns = ["cn=users,dc=sscc,dc=com"]
group_search_filter_user_attribute = "cn"
[servers.attributes]
name = "givenName"
surname = "sn"
username = "cn"
member_of = "dn"
email = "email"
[[servers.group_mappings]]
group_dn = "cn=admin,dc=sscc,dc=com"
org_role = "Admin"
[[servers.group_mappings]]
group_dn = "cn=users,dc=sscc,dc=com"
org_role = "Editor"
org_id = 2
-------------default.ini---------
[auth.ldap]
enabled = true
config_file = /etc/grafana/ldap.toml
allow_sign_up = true
# LDAP backround sync (Enterprise only)
sync_cron = @hourly
active_sync_enabled = false
这里是 ldap 用户信息:
ldapsearch -LLL -w 123456 -x -H ldap://127.0.0.1 -D "cn=admin,dc=sscc,dc=com" -b
"cn=users,dc=sscc,dc=com"
dn: cn=users,dc=sscc,dc=com
gidNumber: 500
cn: users
objectClass: posixGroup
objectClass: top
dn: cn=test1,cn=users,dc=sscc,dc=com
cn:: IHRlc3Qx
gidNumber: 500
homeDirectory: /home/users/test1
sn: test1
loginShell: /bin/sh
objectClass: inetOrgPerson
objectClass: posixAccount
objectClass: top
userPassword:: MTIzNDU2
uidNumber: 1000
uid: test1
mail: test1@sscc.com
当我使用“test1”登录时,它会失败。
这是失败的日志:
t=2019-11-21T21:16:25-0500 lvl=info msg="Searching for user's groups" logger=ldap filter="(&(objectClass=posixGroup)(memberUid= test1))"
t=2019-11-21T21:16:25-0500 lvl=info msg="Second bind failed" logger=ldap error="LDAP Result Code 49 \"Invalid Credentials\": "
t=2019-11-21T21:16:25-0500 lvl=eror msg="Error while trying to authenticate user" logger=context userId=0 orgId=0 uname= error="Invalid Username or Password"
t=2019-11-21T21:16:25-0500 lvl=eror msg="Request Completed" logger=context userId=0 orgId=0 uname= method=POST path=/login status=500 remote_addr=xx.xxx.xx.x time_ms=9 size=53 referer=http://xx.xxx.xx.xxx:3000/login
但是当我设置 group_mappings 时:
[[servers.group_mappings]]
# If you want to match all (or no ldap groups) then you can use wildcard
group_dn = "*"
org_role = "Viewer"
org_id = 3
我可以通过使用“test1”成功。我不知道为什么。 我认为可能有一些不正确的参数设置。
欢迎任何帮助!
【问题讨论】:
标签: authentication ldap grafana