Grant users access to Metricbeat indices

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.