Granting Users Access to Heartbeat Indices

edit

To enable users to access the indices a Heartbeat creates, grant them read and view_index_metadata privileges on the Heartbeat indices:

  1. Create a role that has the read and view_index_metadata privileges for 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 heartbeat_reader role:

    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:

    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 role:

      POST /_xpack/security/user/heartbeat_user
      {
        "password" : "x-pack-test-password",
        "roles" : [ "heartbeat_reader"],
        "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 role:

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

      For more information, see Using Role Mapping Files.