Kibana LDAP Authentication

Published
Length
3 min read

Luis Felipe Dias

All posts

You set up kibana ldap authentication by linking your Elasticsearch cluster to your directory server. Then you map your directory groups to internal cluster roles. Most teams start this setup by creating broad group rules for their engineers. They map a single directory group to a wide admin role to save time. This fast setup lets users log in right away. Still, wide roles give too many people full read and write power over production data. How kibana ldap authentication works in your cluster

Multi-Factor Authentication (MFA) + LDAP Directory Services: the complete guide

Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.

Free white paper. No spam. Unsubscribe anytime.

You set up kibana ldap authentication by linking your Elasticsearch cluster to your directory server. Then you map your directory groups to internal cluster roles. Most teams start this setup by creating broad group rules for their engineers. They map a single directory group to a wide admin role to save time. This fast setup lets users log in right away. Still, wide roles give too many people full read and write power over production data.

How kibana ldap authentication works in your cluster

Kibana does not handle directory checks on its own. Instead, it passes the user login details straight to the Elasticsearch cluster. The cluster holds the realm rules that talk to your directory server. You must set up these realm rules inside the cluster settings first.

The login flow follows two main steps. First, the cluster finds the user record in the directory tree. It can use a bind account to search the tree for the matching user. It can also build the user path from a set pattern. Second, the cluster checks the user password against the directory server.

Once the directory server approves the login, the cluster looks up the user groups. A role mapping rule then matches those directory groups to internal cluster roles. Kibana reads those internal roles to decide which spaces and dashboards the user sees. You must keep these group mappings clean as your team grows.

Why directory group mappings need TLS and tight scope

Directory checks send login names and passwords across your network. If you use plain text links, anyone on the network can read those passwords. You must turn on TLS between the cluster and the directory server. The cluster needs to trust the certificate authority that signed your directory server certificate.

Teams also run into trouble when directory trees change. If an admin moves a group in the directory, the role mapping breaks. Users can still log in, but they lose their cluster roles. To avoid tickets, admins often fall back to broad catch-all roles. They give every person in the engineering group full access to all indices.

Multi-Factor Authentication (MFA) + LDAP Directory Services: architecture patterns and best practices

Continue reading? Get the full guide.

Free. No spam. Unsubscribe anytime.

What directory login checks solve and what they miss

Linking your directory server to your cluster solves user lifecycle problems. When a person leaves the team, you disable their account in one place. They lose their dashboard login right away. You do not need to hunt down local accounts across many clusters.

Still, directory checks only decide who can log into the app. They do not inspect what a user does after the session starts. Once an engineer logs in with a broad role, they can run any query. They can pull raw customer logs that hold emails, phone numbers, and card numbers. Native role rules are static and hard to change for brief tasks. They also cannot rewrite sensitive fields in query results on the fly. Teams need a way to control live requests and mask private fields in results.

Check database and API queries on the wire

Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev runs beside those services as an open-source proxy, a sidecar for your Postgres or API. It inspects requests coming in and results going back on the wire.

Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run. On responses, hoop.dev data masking rewrites matched sensitive values in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.

Frequently asked questions

Does Kibana talk directly to the LDAP server?

No, Kibana sends the login details to the backing Elasticsearch cluster. The cluster talks to the directory server, checks the password, and returns the user roles.

How do directory groups control Kibana spaces?

Cluster role mapping rules link your directory groups to internal Elasticsearch roles. Each internal role defines which Kibana spaces and features that group can use.

Why can a user log in but see no data?

This happens when the directory check passes, but the role mapping rule fails. Check that the user group path in the directory matches your cluster mapping rule.

Save the open-source gateway.

hoop is MIT-licensed infrastructure for controlling how AI agents reach production data. Star hoophq/hoop so you can inspect it, deploy it, or share it when your team starts governing agent access.