The index mapping is used to configure different routes based on the hierarchy field. Routing the data into different indexes allows for setting up Kibana with role based access.

By default everything is routed into the default index.


{
    "default" : [
        "/.*",
        "[a-zA-Z]:/.*"
    ]
}

You can created different routes to setup role based access in Kibana. For example:

U:/share/departments/sales could be routed to the sales index and U:/share/deparments/dev to the dev index.


{
    "sales" : [
        "U:/share/departments/sales/.*"
    ],
    "dev" : [
        "U:/share/departments/dev/.*"
    ]
}

Then in Kibana you can create the roles accordingly (make sure you are running Elasticsearch and Kibana secure), use the following settings:

  • Elasticsearch - Cluster privileges - keep empty 
  • Elasticsearch - Run As privileges - keep empty
  • Elasticsearch - Index privileges - Indices -[insights_default_sales, insightsanalytics_structure_sales, insightsanalytics_link_sales] Replace sales to the name given to the route/mapping.
  • Elasticsearch - Index privileges - Privileges - read

Add a global space configuration to the Kibana section. Recommended is to only give read access to Discover, Visualize and Dashboard.