2017-03-08 58 views
0

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

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

部分:

... 
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" 
... 

回答

1

启用ldap.toml 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" 

我发现Grafana正在区分大小写上的组名称响应。在我的客户端合作LDAP是返回大写CN=

我必须完全匹配(我想它的错误,花费我一些时间来弄清楚)。

另一件事来验证是组映射: [[servers.group_mappings]] group_dn = "CN=your GroupName,[... what ever in between],DC=corp" org_role = "Viewer"

此外,如果有group_filter启用,这可能会破坏你的LDAP组应答(至少在我的设置一样)。我的(| memberOf = CN =您的Groupname,OU = [...],DC = corp)附加到我的search_filter=