# User based kibana access control

**URL:** <https://discuss.elastic.co/t/user-based-kibana-access-control/227646>\
**Category:** Kibana\
**Tags:** elastic-stack-security\
**Created:** [April 12, 2020, 7:59am UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646 "2020-04-12T07:59:31Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![MOHIT2710](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mohit2710/32/85213_2.png) [@MOHIT2710](https://discuss.elastic.co/u/MOHIT2710)\
**Post date:** [April 12, 2020, 7:59am UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/1 "2020-04-12T07:59:31Z")

</div>

Hi  
I have so many users and I want to give access to my user based on their Reports in Reporting.  
Example -A user can access only a report named as "Areport" B user can have only permission to access "Breport".  
How can I make permission based access control of data.  
Please Advise me.  
If you need more clarification I can explain my scenario in more details if you are not able to understand my problem.

---

<div class="post-metadata">

**Author:** ![dadoonet](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/dadoonet/32/137187_2.png) [@dadoonet](https://discuss.elastic.co/u/dadoonet)\
**Post date:** [April 12, 2020, 9:10am UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/2 "2020-04-12T09:10:56Z")

</div>

I think that if you are using Kibana Spaces, each space can have it's own reports.

Not sure though. But I'm moving the question to #kibana

---

<div class="post-metadata">

**Author:** ![rashmi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rashmi/32/16391_2.png) [@rashmi](https://discuss.elastic.co/u/rashmi)\
**Post date:** [April 13, 2020, 5:27pm UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/3 "2020-04-13T17:27:31Z")

</div>

Yes , Spaces is the way to achieve this. Version 6.5 introduces new Spaces feature. Spaces allows you to organize your dashboards, visualizations, and other saved objects into meaningful categories. Each space is independent, so objects that exist in one space don’t clutter other spaces. Kibana creates a default space for you. After you create your own spaces, you’re asked to choose a space when you log in to Kibana. You can change your current space at any time by using the menu.

Also How are your users configured? What roles are applied and in what order?

Thanks  
Rashmi

---

<div class="post-metadata">

**Author:** ![MOHIT2710](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mohit2710/32/85213_2.png) [@MOHIT2710](https://discuss.elastic.co/u/MOHIT2710)\
**Post date:** [April 14, 2020, 1:13pm UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/4 "2020-04-14T13:13:57Z")

</div>

Like I have posted some hospitals data in a index and now by using filter in kibana I have segregated each customer data and saved each customer reports with their name and now we want to let each customer access the kibana and can download their reports in CSV formats or can see their data in kibana itself.

But we don't want to show others data to anyone like customer A can only access their hospital data and customer B can only access their data and cannot see customer A data.

Please advise me can we achieve this using Spaces.

---

<div class="post-metadata">

**Author:** ![MOHIT2710](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/mohit2710/32/85213_2.png) [@MOHIT2710](https://discuss.elastic.co/u/MOHIT2710)\
**Post date:** [April 17, 2020, 5:20am UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/5 "2020-04-17T05:20:43Z")

</div>

Any suggestions.please advise me I need your help.If you didn't understand my use case I can explain a bit more

---

<div class="post-metadata">

**Author:** ![rashmi](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rashmi/32/16391_2.png) [@rashmi](https://discuss.elastic.co/u/rashmi)\
**Post date:** [April 19, 2020, 7:40pm UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/6 "2020-04-19T19:40:46Z")

</div>

@Larry_Gregory can help when he gets some time ...

But the general approach is to create an user, give sufficient privileges, generate reports. You can assign roles through the **Management** app in Kibana or with the [user API](https://www.elastic.co/guide/en/kibana/current/secure-reporting.html#reporting-roles-user-api). This example shows how to use **Management** to create a user who has a custom role and the `reporting_user` role.

1. Go to **Management \> Roles** , and click **Create role**.

2. Give the new role a name, for example, `custom_reporting_user` .

3. Specify the indices and privileges.Access to data is an index-level privilege, so in **Create role** , add a line for each index that contains the data for the report and give each index `read` and `view_index_metadata` privileges. For more information, see [Security privileges](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/security-privileges.html).  
You can assign roles through the **Management** app in Kibana or with the [user API](https://www.elastic.co/guide/en/kibana/current/secure-reporting.html#reporting-roles-user-api). This example shows how to use **Management** to create a user who has a custom role and the `reporting_user` role.

4. Go to **Management \> Roles** , and click **Create role**.

5. Give the new role a name, for example, `custom_reporting_user` .

6. Specify the indices and privileges.Access to data is an index-level privilege, so in **Create role** , add a line for each index that contains the data for the report and give each index `read` and `view_index_metadata` privileges. For more information, see [Security privileges](https://www.elastic.co/guide/en/elasticsearch/reference/7.6/security-privileges.html).

7. Add space privileges.Reporting users typically save searches, create visualizations, and build dashboards. They require a space that provides read and write privileges in **Discover** , **Visualize** , and **Dashboard**.

8. Save your new role.

9. Create a user account with the proper roles.Go to **Management \> Users** , add a new user, and assign the user the built-in `reporting_user` role and your new custom role, `custom_reporting_user` .

Thanks  
Rashmi

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 17, 2020, 7:40pm UTC](https://discuss.elastic.co/t/user-based-kibana-access-control/227646/7 "2020-05-17T19:40:46Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
