We noticed that when a srchFilter is configured for a role in authorize.conf, the srchIndexesDefault setting is ignored unless the srchFilter contains the wildcard(*) character by itself.
As a result, all indexes a user is allowed to access are searched when the index clause is not specified in the query.
Regardless of the srchFilter definition, srchIndexesDefault should be respected when the index clause is not explicity specified in the query.
Here's what I did;
If the srchFilter is removed altogether or a wildcard character is included, the results is index4test2 as expected. This works as designed for the admin role as it has srchFilter = *.
As per our doc - I agree it's not very clear, the srchIndexesDefault is used when there is no index listed in the search but when you use srchFilter with index, like "index!=main" which is eventually added into the search, " index!=main ". Because of this replacement the srchIndexesDefault will not be considered during the search time.
Here's excerpts from doc
srchIndexesDefault = semicolon-separated list
A list of indexes to search when no index is specified.
To work around it, adjust srchIndexesAllowed and srchIndexesDisallowed so that it doesn't include the indexes you do not want for the roles, or change your searches to explicitly specify the index(es) that a search should look at.
https://docs.splunk.com/Documentation/Splunk/latest/Admin/authorizeconf
As per our doc - I agree it's not very clear, the srchIndexesDefault is used when there is no index listed in the search but when you use srchFilter with index, like "index!=main" which is eventually added into the search, " index!=main ". Because of this replacement the srchIndexesDefault will not be considered during the search time.
Here's excerpts from doc
srchIndexesDefault = semicolon-separated list
A list of indexes to search when no index is specified.
To work around it, adjust srchIndexesAllowed and srchIndexesDisallowed so that it doesn't include the indexes you do not want for the roles, or change your searches to explicitly specify the index(es) that a search should look at.
https://docs.splunk.com/Documentation/Splunk/latest/Admin/authorizeconf
If you believe the docs should be more clear feel free to send constructive feedback via the documentation page! Perhaps it could mention srchFilters may change this ?