Kibana 7.2 display different heartbeat data to different users

Hi,
I am trying to understand, how I can show different data to multiple users.
Using heartbeat to insert uptime data for eg. 3 different urls.
www1, www2, www3
I want to show www1 to user1, but he should not see uptime of www2 or www3.
Also I want as a superior user to be able to see all the data.
Reading through the documentation didnt really bring me forward. Any suggestions, where I can look or how to solve this?
Thanks :slight_smile:

You can set up document level security for different roles/users. This is done by defining a query for each role. https://www.elastic.co/guide/en/elastic-stack-overview/7.2/document-level-security.html

e.g.

POST /_security/role/some-role1
  "indices": [
    {
      "names": [ "heartbeat-*" ],
      "privileges": [ "read" ],
      "query": "{\"match\": {\"http.url\": \"www1\"}}"
    }
  ]
}

Hello and thanks for the answer, unfortunately we need to solve this problem with features of the basic licence in 7.2
How could this be achieved ?

You could either differentiate at the index level or create a dedicated space with filters of the dashboard being used to differentiate the data. The users will be mapped to respective spaces.

Will this filtering be save, so nobody can read other data, even if he knows where to look for it?

If the data is indexed separately then it is possible to make sure that the users are restricted to a particular index using XPack Security.

If the both type of data are indexed in together then it is possible to give the users a dedicated access to each Space and then assign the role as a dashboard only user.

In both the cases, users will not be able to access data (apart from what they have been assigned) even if they knew how to search for it.