--- title: "未找到已认证用户 - 如何解决此 Elasticsearch 异常" date: 2026-01-11 lastmod: 2026-01-11 description: "Elasticsearch 无法为特定操作找到已认证用户时的错误解决方法" tags: ["身份认证", "用户权限", "安全异常"] summary: "版本: 6.8-8.9 简要来说,当 Elasticsearch 无法为特定操作找到已认证用户时,会出现此错误。这可能是由于凭证不正确或缺失,或者用户可能没有执行该操作所需的权限。要解决此问题,您可以检查提供的凭证并确保它们是正确的。如果凭证正确,请验证用户是否具有操作所需的权限。如果用户没有必要的权限,您可能需要授予他们权限或使用具有适当权限的其他用户。 日志上下文 # 日志 “did not find an authenticated user” 的类名是 TransportAuthenticateAction.java。 我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入背景的人参考: } else { runAsUser = authentication.getEffectiveSubject().getUser(); authUser = authentication.getAuthenticatingSubject().getUser(); } if (authUser == null) { listener.onFailure(new ElasticsearchSecurityException("did not find an authenticated user")); } else if (authUser instanceof InternalUser) { listener.onFailure(new IllegalArgumentException("user [" + authUser.principal() + "] is internal")); } else if (runAsUser instanceof InternalUser) { listener.onFailure(new IllegalArgumentException("user [" + runAsUser." --- > **版本:** 6.8-8.9 简要来说,当 Elasticsearch 无法为特定操作找到已认证用户时,会出现此错误。这可能是由于凭证不正确或缺失,或者用户可能没有执行该操作所需的权限。要解决此问题,您可以检查提供的凭证并确保它们是正确的。如果凭证正确,请验证用户是否具有操作所需的权限。如果用户没有必要的权限,您可能需要授予他们权限或使用具有适当权限的其他用户。 日志上下文 ----------- 日志 "did not find an authenticated user" 的类名是 [TransportAuthenticateAction.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从 Elasticsearch 源代码中提取了以下内容,供寻求深入背景的人参考: ```java } else { runAsUser = authentication.getEffectiveSubject().getUser(); authUser = authentication.getAuthenticatingSubject().getUser(); } if (authUser == null) { listener.onFailure(new ElasticsearchSecurityException("did not find an authenticated user")); } else if (authUser instanceof InternalUser) { listener.onFailure(new IllegalArgumentException("user [" + authUser.principal() + "] is internal")); } else if (runAsUser instanceof InternalUser) { listener.onFailure(new IllegalArgumentException("user [" + runAsUser.principal() + "] is internal")); } else { ```