--- title: "既未设置密钥也未设置共享访问令牌 - 如何解决此Elasticsearch异常" date: 2026-03-06 lastmod: 2026-03-06 description: "此错误发生在Elasticsearch因缺少安全凭据而无法对请求进行身份验证时。系统期望提供密钥或共享访问令牌,但两者都未提供。" tags: ["Elasticsearch异常", "身份验证", "Azure存储", "安全凭据"] summary: "版本: 6.8-8.9 简而言之,当Elasticsearch因缺少安全凭据而无法对请求进行身份验证时,会出现此错误。系统期望提供密钥或共享访问令牌,但两者都未提供。要解决此问题,您可以在Elasticsearch配置中设置密钥或共享访问令牌。确保凭据正确且具有必要的权限。如果您使用的是访问令牌,请确保它尚未过期。此外,请检查应用程序的代码,确保在向Elasticsearch发出请求时正确传递了这些凭据。 日志上下文 # 日志 “Neither a secret key nor a shared access token was set.” 的类名是 AzureStorageSettings.java. 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: @Nullable String secondaryEndpoint ) { final boolean hasSasToken = Strings.hasText(sasToken); final boolean hasKey = Strings.hasText(key); if (hasSasToken == false && hasKey == false) { throw new SettingsException("Neither a secret key nor a shared access token was set."); } if (hasSasToken && hasKey) { throw new SettingsException("Both a secret as well as a shared access token were set." --- > **版本:** 6.8-8.9 简而言之,当Elasticsearch因缺少安全凭据而无法对请求进行身份验证时,会出现此错误。系统期望提供密钥或共享访问令牌,但两者都未提供。要解决此问题,您可以在Elasticsearch配置中设置密钥或共享访问令牌。确保凭据正确且具有必要的权限。如果您使用的是访问令牌,请确保它尚未过期。此外,请检查应用程序的代码,确保在向Elasticsearch发出请求时正确传递了这些凭据。 日志上下文 ----------- 日志 "Neither a secret key nor a shared access token was set." 的类名是 [AzureStorageSettings.java.](https://www.geeksforgeeks.org/java-lang-class-class-java-set-1/) 我们从Elasticsearch源代码中提取了以下内容,供那些寻求深入上下文的人使用: ```java @Nullable String secondaryEndpoint ) { final boolean hasSasToken = Strings.hasText(sasToken); final boolean hasKey = Strings.hasText(key); if (hasSasToken == false && hasKey == false) { throw new SettingsException("Neither a secret key nor a shared access token was set."); } if (hasSasToken && hasKey) { throw new SettingsException("Both a secret as well as a shared access token were set."); } final StringBuilder connectionStringBuilder = new StringBuilder(); ```