Briefly, this error occurs when an anonymous user tries to access Elasticsearch REST API without the necessary permissions. This could be due to incorrect configuration settings or lack of authentication. To resolve this issue, you can either enable anonymous access in the Elasticsearch configuration file or provide valid credentials for the user. Alternatively, you can also set up an authentication mechanism like Basic Authentication or Token-based Authentication to secure your Elasticsearch REST API.
This guide will help you check for common problems that cause the log ” {}[rest] [anonymous_access_denied]\t{}; uri=[{}]{}; request_body=[{}] ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.
Log Context
Log “{}[rest] [anonymous_access_denied]\t{}; uri=[{}]{}; request_body=[{}]” classname is DeprecatedLoggingAuditTrail.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :
@Override public void anonymousAccessDenied(String requestId; RestRequest request) { if (events.contains(ANONYMOUS_ACCESS_DENIED) && (eventFilterPolicyRegistry.ignorePredicate().test(AuditEventMetaInfo.EMPTY) == false)) { if (includeRequestBody) { logger.info("{}[rest] [anonymous_access_denied]\t{}; uri=[{}]{}; request_body=[{}]"; localNodeInfo.prefix; hostAttributes(request); request.uri(); opaqueId(); restRequestContent(request)); } else { logger.info("{}[rest] [anonymous_access_denied]\t{}; uri=[{}]{}"; localNodeInfo.prefix; hostAttributes(request); request.uri(); opaqueId()); }