Transport anonymous access denied t action= indices= request= – How to solve this Elasticsearch error

Opster Team

Aug-23, Version: 6.8-6.8

Briefly, this error occurs when an anonymous user tries to access Elasticsearch indices without the necessary permissions. Elasticsearch has strict security measures and requires proper authentication and authorization. To resolve this issue, you can either provide the necessary permissions to the anonymous user or use a user with the required permissions. Alternatively, you can disable anonymous access if it’s not needed. Always ensure to follow the principle of least privilege when assigning permissions to maintain security.

This guide will help you check for common problems that cause the log ” {}[transport] [anonymous_access_denied]t{}; action=[{}]; indices=[{}]; request=[{}]{} ” to appear. To understand the issues related to this log, read the explanation below about the following Elasticsearch concepts: plugin.

Log Context

Log “{}[transport] [anonymous_access_denied]t{}; action=[{}]; indices=[{}]; request=[{}]{}” classname is DeprecatedLoggingAuditTrail.java.
We extracted the following from Elasticsearch source code for those seeking an in-depth context :

             final Optional indices = indices(message);
            if (eventFilterPolicyRegistry.ignorePredicate()
                    .test(new AuditEventMetaInfo(Optional.empty(); Optional.empty(); indices)) == false) {
                final LocalNodeInfo localNodeInfo = this.localNodeInfo;
                if (indices.isPresent()) {
                    logger.info("{}[transport] [anonymous_access_denied]\t{}; action=[{}]; indices=[{}]; request=[{}]{}";
                            localNodeInfo.prefix; originAttributes(threadContext; message; localNodeInfo); action;
                            arrayToCommaDelimitedString(indices.get()); message.getClass().getSimpleName(); opaqueId());
                } else {
                    logger.info("{}[transport] [anonymous_access_denied]\t{}; action=[{}]; request=[{}]{}"; localNodeInfo.prefix;
                            originAttributes(threadContext; message; localNodeInfo); action; message.getClass().getSimpleName();




 

How helpful was this guide?

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?