Configuring User Roles and Permissions in Kibana

Kibana is a powerful visualization and analytics tool that allows users to interact with data stored in Elasticsearch. In order to ensure appropriate access and maintain data security, it is essential to configure user roles and permissions in Kibana. This article will guide you through the process of setting up user roles and assigning specific permissions within Kibana.

Understanding User Roles in Kibana

User roles in Kibana are used to define sets of permissions that determine what actions a user can perform within the application. By default, Kibana provides three built-in roles: superuser, kibana_admin, and kibana_user. These roles grant different levels of access and control over data and functionality.

  • superuser role: This role has the highest level of access and can perform all actions within Kibana, including managing other user roles and permissions.
  • kibana_admin role: Users with this role have administrative privileges within Kibana but cannot create or modify user roles.
  • kibana_user role: This role is assigned to regular users who can interact with visualizations, dashboards, and perform basic data exploration.

Managing User Roles in Kibana

To configure user roles and permissions in Kibana, follow these steps:

  1. Open Kibana in your web browser and log in with the credentials of a user with administrative privileges.
  2. Click on the Management tab in the left-hand navigation pane.
  3. Select Security from the displayed options.
  4. Under the Roles section, you can view existing roles and create new ones.
  5. To create a new role, click on the Create role button and provide a name and description for the role.
  6. Next, define the desired set of permissions for the role by enabling or disabling specific checkboxes under Cluster Permissions and Index Permissions.
    • Cluster Permissions allow users to perform actions on an entire Elasticsearch cluster, such as managing indices and executing administrative tasks.
    • Index Permissions grant users access to specific indices and determine the types of actions they can perform, such as read, write, or delete operations.
  7. Once you have configured the permissions, save the role.
  8. To assign the newly created role to users, navigate to the Users section in the left-hand menu.
  9. Select the user for whom you want to assign the role or create a new user.
  10. In the user settings, locate the Roles field and add the desired role to the user.
  11. Save the changes, and the user will now have the assigned permissions when accessing Kibana.

Fine-Grained Access Control with Role Mapping

In addition to assigning roles directly to users, Kibana also supports role mapping. Role mapping allows you to associate roles with users based on various attributes like user name, active directory group membership, or IP address range. This provides a more flexible and dynamic approach to managing user access and permissions.

To configure role mapping, follow these steps:

  1. In Kibana, navigate to the Management tab and select Security.
  2. Under the Roles section, select the desired role for role mapping.
  3. In the role settings, find the Mapped users field and provide the necessary criteria for role mapping. For example, you can map the role to a specific active directory group or match based on IP address ranges.
  4. Save the changes, and the assigned users will inherit the associated role's permissions.


Configuring user roles and permissions in Kibana is crucial for maintaining data security and controlling access to Elasticsearch resources. By assigning appropriate roles and permissions, you can ensure that users can perform their required tasks while protecting sensitive data. Through the simple steps outlined in this article, you can easily manage user roles and fine-tune access control within Kibana.

noob to master © copyleft