ML
Kibana

Spaces, Roles, and Saved-Object Security in Kibana

Multi-tenant Kibana is doable, but the permissions model has sharp edges. Here's how to set it up without leaking dashboards.

October 12, 20257 min readKibanaSecurity

A Kibana Space is a namespace for saved objects — dashboards, Data Views, rules, maps. It's the right unit for "one product area, one team." Roles grant access to spaces and features.

The layered model

  1. Elasticsearch role. What indices can the user read? Enforced in ES — nothing Kibana does can override this.
  2. Kibana feature privilege. Within a space, what apps (Dashboards, Dev Tools, Alerting) can the user open, and at what level (all / read)?
  3. Space membership. Which spaces does the role apply to?

All three must align. The most common misconfiguration: "why can analysts create alerts but can't see the target index?" — Kibana says yes; Elasticsearch says no; the alert silently returns zero hits.

Document-level and field-level security

For a real multi-tenant setup, don't try to express tenancy through Kibana alone. Use ES's DLS/FLS — a query attached to the role that filters every search automatically.

"indices": [{
  "names": ["events-*"],
  "privileges": ["read"],
  "query": { "term": { "tenant_id": "{{_user.metadata.tenant}}" } }
}]

Now an analyst in tenant A physically cannot see tenant B's data, regardless of which dashboard they open.

Shared dashboards across tenants

A dashboard saved in space shared-ops still resolves data through each user's role. The dashboard is shared; the rows in the charts aren't. This is the cleanest way to hand ops dashboards to customers without maintaining 40 copies.

Audit and rotation

  • Enable the audit log. Every saved-object read/write is captured.
  • Rotate API keys created for service accounts. A rule runs as the user who created it — deactivated users leave orphaned rules.
  • Don't hand out the superuser role "just for now." It doesn't come back.
SharePostLinkedIn

Reader Discussion

6 replies// weighed in

TopNewestAuthor
Add to the thread
Disagree, agree harder, or share your own experience…
Email instead →markdown okbe kind
  1. Evi Papadopoulou· Tech LeadFrom experience

    canvas is great until someone makes a 47-element dashboard and the page hangs for 8s. happy mediums exist somewhere between "4 KPI tiles" and "art project". still love it for exec readouts though.

    Oct 18, 2025·6 days later
  2. Clara Jensen· SREAgrees

    splitting on-call vs fyi connectors is one of those changes that pays for itself in two weeks and you spend the next two years wondering how you ever lived without it. people stopped muting #alerts. that's the metric.

    Oct 14, 2025·2 days later
  3. Minh Vũ🇻🇳 Đà Nẵng· DevOpsFrom experience

    rules-as-code đúng. team mình từng có 247 rules, không ai biết ai tạo, ai sửa, half of them duplicate. export ra git, code review, blame là biết ai phá. fix overnight, kg ai phàn nàn.

    Oct 15, 2025·3 days later
  4. Hannah Kaur· Product EngAgrees

    tbh TSVB is powerful but the learning curve filters out non-SREs. Lens is the right default for cross-team dashboards in 2026. Hot take: TSVB should have been deprecated by now.

    Oct 18, 2025·6 days later·edited
  5. Rodrigo Alves· Data AnalystFrom experience

    the KQL/Lucene gotcha on analyzed fields has bitten me 5+ times. status: "Active" returning zero hits because the field is text-analyzed and lowercased to "active". it's not a bug, it's a foundational pain.

    Oct 17, 2025·5 days later
  6. Léa Dubois· SREAsks

    any chance you'd publish these as a PDF collection? would love to print and read offline on flights. screen-fatigue is real.

    Oct 18, 2025·6 days later

Worked on something similar? Email ducminhldm@gmail.com — I read every one. The good ones become future posts.

Comments seeded · live discussion via email