IMPORTANT: This documentation is no longer updated. Refer to Elastic's version policy and the latest documentation.

Grant users access to Heartbeat indices

edit

To enable users to access the indices Heartbeat creates, grant them read and view_index_metadata privileges on the Heartbeat indices. If they’re using Kibana, they also need the kibana_user role.

  1. Create a reader role that has the read and view_index_metadata privileges on the Heartbeat indices.

    You can create roles from the Management > Roles UI in Kibana or through the role API. For example, the following request creates a role named heartbeat_reader:

    POST _xpack/security/role/heartbeat_reader
    {
      "indices": [
        {
          "names": [ "heartbeat-*" ], 
          "privileges": ["read","view_index_metadata"]
        }
      ]
    }

    If you use a custom Heartbeat index pattern, specify that pattern instead of the default heartbeat-* pattern.

  2. Assign your users the reader role so they can access the Heartbeat indices. For Kibana users who need to visualize the data, also assign the kibana_user role:

    1. If you’re using the native realm, you can assign roles with the Management > Users UI in Kibana or through the user API. For example, the following request grants heartbeat_user the heartbeat_reader and kibana_user roles:

      POST /_xpack/security/user/heartbeat_user
      {
        "password" : "YOUR_PASSWORD",
        "roles" : [ "heartbeat_reader","kibana_user"],
        "full_name" : "Heartbeat User"
      }
    2. If you’re using the LDAP, Active Directory, or PKI realms, you assign the roles in the role_mapping.yml configuration file. For example, the following snippet grants Heartbeat User the heartbeat_reader and kibana_user roles:

      heartbeat_reader:
        - "cn=Heartbeat User,dc=example,dc=com"
      kibana_user:
        - "cn=Heartbeat User,dc=example,dc=com"

      For more information, see Using Role Mapping Files.