--- title: "未找到请求用户拥有的ID为id的API密钥 - 如何解决此Elasticsearch异常" date: 2026-02-22 lastmod: 2026-02-22 description: "当提供的Elasticsearch API密钥与发起请求的用户关联的任何密钥都不匹配时,会出现此错误。这可能是由于密钥不正确,或者密钥已被删除或过期。" tags: ["API密钥", "权限验证", "安全认证"] summary: " 版本: 8.5-8.9 简而言之,当提供的Elasticsearch API密钥与发起请求的用户关联的任何密钥都不匹配时,就会出现此错误。这可能是由于密钥不正确,或者密钥已被删除或过期。要解决此问题,您可以验证API密钥,如果密钥已过期或被删除则重新生成新密钥,或检查用户的权限以确保他们有权访问所需的资源。 日志上下文 # 日志"no API key owned by requesting user found for ID [" + id + “]“的类名是 ApiKeyService.java。 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: return; } final Set<ApiKeyId> foundIds = foundDocs.stream().map(VersionedApiKeyDoc::id).collect(Collectors.toUnmodifiableSet()); for (String id : requestedIds) { if (foundIds.contains(id) == false) { responseBuilder.error(id, new ResourceNotFoundException("no API key owned by requesting user found for ID [" + id + "]")); } } } /** " --- > **版本:** 8.5-8.9 简而言之,当提供的Elasticsearch API密钥与发起请求的用户关联的任何密钥都不匹配时,就会出现此错误。这可能是由于密钥不正确,或者密钥已被删除或过期。要解决此问题,您可以验证API密钥,如果密钥已过期或被删除则重新生成新密钥,或检查用户的权限以确保他们有权访问所需的资源。 日志上下文 ----------- 日志"no API key owned by requesting user found for ID [" + id + "]"的类名是[ApiKeyService.java。](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java return; } final Set foundIds = foundDocs.stream().map(VersionedApiKeyDoc::id).collect(Collectors.toUnmodifiableSet()); for (String id : requestedIds) { if (foundIds.contains(id) == false) { responseBuilder.error(id, new ResourceNotFoundException("no API key owned by requesting user found for ID [" + id + "]")); } } } /** ```