AD LDAP finds user but "No teams found via LDAP" for some users only

  • What Grafana version and what operating system are you using?
    v9.4.3

  • What are you trying to achieve?
    Configure LDAP with Active Directory

  • How are you trying to achieve it?
    via the ldap.toml file

  • What happened?
    I have set up security groups for LDAP access for Admins. Some members of this group can log in whereas others get “No teams found via LDAP”.

  • What did you expect to happen?
    All members of the security group to have Admin access

  • Can you copy/paste the configuration(s) that you are having problems with?

# To troubleshoot and get more log info enable ldap debug logging in grafana.ini
# [log]
# filters = ldap:debug

[[servers]]
# Ldap server host (specify multiple hosts space separated)
host = "DC IP"
# Default port is 389 or 636 if use_ssl = true
port = 3269
# Set to true if LDAP server should use an encrypted TLS connection (either with STARTTLS or LDAPS)
use_ssl = true
# If set to true, use LDAP with STARTTLS instead of LDAPS
start_tls = false
# set to true if you want to skip ssl cert validation
ssl_skip_verify = true
# set to the path to your root CA certificate or leave unset to use system defaults
# root_ca_cert = "/path/to/certificate.crt"
# Authentication against LDAP servers requiring client certificates
# client_cert = "/path/to/client.crt"
# client_key = "/path/to/client.key"

# Search user bind dn
bind_dn = "CN=ldap_Grafana Admin,OU=Grafana,OU=Departments,DC=domain,DC=local"
# Search user bind password
# If the password contains # or ; you have to wrap it with triple quotes. Ex """#password;"""
bind_password =
# We recommend using variable expansion for the bind_password, for more info https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#variable-expansion
# bind_password = '$__env{LDAP_BIND_PASSWORD}'

# Timeout in seconds (applies to each host specified in the 'host' entry (space separated))
timeout = 10

# User search filter, for example "(cn=%s)" or "(sAMAccountName=%s)" or "(uid=%s)"
search_filter = "(sAMAccountName=%s)"

# An array of base dns to search through
search_base_dns = ["dc=domain,dc=local"]

## For Posix or LDAP setups that does not support member_of attribute you can define the below settings
## Please check grafana LDAP docs for examples
#group_search_filter = "(&(objectClass=posixGroup)(memberUid=%s))"
#group_search_base_dns = ["OU=Grafana,OU=Departments,DC=domain,DC=local"]
#group_search_filter_user_attribute = "uid"

# Specify names of the ldap attributes your ldap uses
[servers.attributes]
name = "givenName"
surname = "sn"
username = "sAMAccountName"
member_of = "memberOf"
email =  "mail"

# Map ldap groups to grafana org roles
[[servers.group_mappings]]
group_dn = "CN=Grafana-Admins,OU=Grafana,OU=Departments,DC=domain,DC=local"
org_role = "Admin"
# To make user an instance admin  (Grafana Admin) uncomment line below
grafana_admin = true
# The Grafana organization database id, optional, if left out the default org (id 1) will be used
# org_id = 1

[[servers.group_mappings]]
group_dn = "CN=Grafana-Editors,OU=Grafana,OU=Departments,DC=domain,DC=local"
org_role = "Editor"

[[servers.group_mappings]]
# If you want to match all (or no ldap groups) then you can use wildcard
group_dn = "CN=Grafana-Viewers,OU=Grafana,OU=Departments,DC=domain,DC=local"
org_role = "Viewer"
  • Did you receive any errors in the Grafana UI or in related logs? If so, please tell us exactly what they were.
    When I search for the LDAP user in Grafana LDAP section, I get “No teams found via LDAP”

  • Did you follow any online instructions? If so, what is the URL?
    No

I cannot find the difference in the user accounts who are able to login vs denied login. I tried copying a user account who is able to login but no luck.

Fix: I gave the bind_dn AD user “Domain Admin” rights and it started working. Will look into the most restrictive permissions instead.