我在尝试访问 Elasticsearch 集群时收到错误 "User: anonymous is not authorized"(用户:未授权匿名)

上次更新日期:2021 年 7 月 22 日

当我尝试访问我的 Amazon Elasticsearch Service (Amazon ES) 域或 Kibana 时,收到了以下错误消息:“用户:未授权匿名”。如何解决此错误?

简短描述

请求未签名且来自访问策略中不允许的源 IP 地址时返回此错误。访问策略的语法中出现错误时,请求也会返回此错误。

解决方法

不支持请求签名的客户端

如果您使用的客户端不支持请求签名(例如,浏览器),则考虑以下事项:

  • 请使用基于 IP 的访问策略。基于 IP 的策略允许对 Amazon ES 域发起未签名请求。
  • 请确保访问策略中指定的 IP 地址使用 CIDR 表示法。对照访问策略检查 IP 地址时,访问策略使用 CIDR 表示法。
  • 验证访问策略中指定的 IP 地址与访问您的 Elasticsearch 集群时使用的相同。您可以从以下网址获得本地计算机的公有 IP 地址:https://checkip.amazonaws.com/

注意:如果您收到授权错误,则检查您使用的是公有还是私有 IP 地址。基于 IP 的访问策略无法应用于驻留在 Virtual Private Cloud (VPC) 中的 Amazon ES 域。这是因为安全组已强制执行基于 IP 的访问策略。如果使用公有访问,则基于 IP 的策略仍然可用。有关更多信息,请参阅关于 VPC 域上的访问策略

支持请求签名的客户端

如果您使用的客户端支持请求签名,则检查以下各项:

如果您的 Amazon ES 域驻留在 VPC 内,然后配置一个使用或不使用代理服务器的开放访问策略。然后,使用安全组来控制访问。有关更多信息,请参阅关于 VPC 域上的访问策略

Kibana 终端节点

如果您无法访问 Kibana,请注意以下事项:

有关从 Kibana 访问 Amazon ES 的更多信息,请参阅控制对 Kibana 的访问