Grafana:将组与LDAP集成

时间:2017-03-08 11:48:14

标签: grafana

我需要一些帮助整合Grafana和LDAP。假设我在LDAP中有一个需要映射到Grafana组织“MyGroup”的组。 下面的ldap.conf是否具有正确的配置,以便如果用户'Rag Cho'是MyGroup的成员,那么用户将成为Grafana中MyGroup org的管理员?我尝试了以下配置,用户在Grafana中可见,但用户似乎不是Grafana中“MyGroup”组织的一部分。

ldap entry:
dn: cn=MyGroup,ou=root
cn: MyGroup
objectClass: groupOfNames
member: cn=Rag Cho,ou=root

Grafana ldap.conf的一部分:

...
search_base_dns = ["ou=root"]
group_search_filter = "(&(objectClass=groupOfNames)(member=%s))"
group_search_base_dns = ["ou=root"]

[servers.attributes]
name = "givenName"
surname = "sn"
username = "uid"
member_of = "cn" # is cn value correct or should it be member?
email =  "mail"

[[servers.group_mappings]]
group_dn = "cn=MyGroup,ou=root"
org_role = "Admin"
...

2 个答案:

答案 0 :(得分:3)

在ldap.toml中启用result = checkfile(file.strip()) 。连接时查看grafana日志文件中的输出。您应该看到LDAP响应的转储。

verbose_logging = true

我发现Grafana对群组名称响应区分大小写。我的客户合作中的LDAP返回大写Ldap User found" logger=ldap info="(*login.LdapUserInfo)(0xc42010a2a0)({\n DN: (string) (len=91) \"CN=Username,OU=User,OU=your ou,OU=Accounts,DC=your company,DC=corp\", ... MemberOf: ([]string) (len=28 cap=32) {\n (string) (len=84) \"CN=your GroupName"

我必须完全匹配(我猜它是一个错误,花了我一些时间来弄清楚)。

要验证的另一件事是组映射: CN=

此外,如果您启用了group_filter,这可能会破坏您的LDAP组响应(至少在我的设置中会这样做)。我({memberOf = CN =您的Groupname,OU = [...],DC = corp)附加到我的[[servers.group_mappings]] group_dn = "CN=your GroupName,[... what ever in between],DC=corp" org_role = "Viewer"

答案 1 :(得分:0)

member_of属性必须设置为memberOf。其他一切看起来都有效。
关于您的要求

如果用户'Rag Cho'是MyGroup的成员,则该用户将成为Grafana中MyGroup org的管理员

您必须将org_id设置为Grafana中MyGroup的整数,才能将MyGroup(LDAP)的用户映射到MyGroup(Grafana)的管理员角色

[[servers.group_mappings]]
group_dn = "cn=MyGroup,ou=root"
org_role = "Admin"
org_id   = 23

Grafana documentation很好。也许您应该看看那里的例子。