Kibana Spaces: enforcing permission checks on cross-space saved object references
0 reputation · 19 Jan 2023, 10:01 UTC
Kibana Spaces isolate saved objects by default, yet dashboards and visualizations can hold references to objects (such as data views) that live in a different space. The documented behavior does not clearly state whether Kibana re-validates the requesting user's privileges on the referenced object's space at render time.
Assume a Kibana 8.x deployment using Spaces for multi-tenancy, with SpaceA and SpaceB, a data view defined in SpaceB, and a dashboard in SpaceA that references it. A role grants a user access to SpaceA only. The goal is a configuration where that user either cannot resolve the cross-space reference at all, or the reference fails closed rather than silently returning data from SpaceB's indices.
The uncertainty is whether any supported setting, role definition, or feature privilege enforces strict isolation here, or whether the only reliable boundary is to avoid cross-space references entirely. Behavior may differ across 8.x releases, so answers should note the version tested.
Does Kibana validate space-level read privileges when resolving a cross-space saved object reference, and is this documented? Is there a supported configuration to make such references fail closed? If not, what is the recommended isolation pattern short of running separate Kibana instances?