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

Grant users access to Metricbeat indices

edit

To enable users to access the indices Metricbeat creates, grant them read and view_index_metadata privileges on the Metricbeat 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 Metricbeat 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 metricbeat_reader:

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

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

  2. Assign your users the reader role so they can access the Metricbeat 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 metricbeat_user the metricbeat_reader and kibana_user roles:

      POST /_xpack/security/user/metricbeat_user
      {
        "password" : "YOUR_PASSWORD",
        "roles" : [ "metricbeat_reader","kibana_user"],
        "full_name" : "Metricbeat 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 Metricbeat User the metricbeat_reader and kibana_user roles:

      metricbeat_reader:
        - "cn=Metricbeat User,dc=example,dc=com"
      kibana_user:
        - "cn=Metricbeat User,dc=example,dc=com"

      For more information, see Using Role Mapping Files.