在我尝试访问 Amazon OpenSearch Service 集群时收到错误“User: anonymous is not authorized”
上次更新日期:2021 年 9 月 23 日
当我尝试访问我的 Amazon OpenSearch Service 域或 OpenSearch 控制面板时,我收到一个错误。如何解决此问题?
简短描述
当请求未签名且来自在访问策略中不被允许的源 IP 地址时,您会收到以下错误:
"User: anonymous is not authorized"
访问策略的语法中出现错误时,请求也会返回此错误。
解决方法
不支持请求签名的客户端
如果您使用的客户端不支持请求签名(例如,浏览器),则考虑以下事项:
- 请使用基于 IP 的访问策略。基于 IP 的策略允许对 OpenSearch Service 域发起未签名请求。
- 请确保访问策略中指定的 IP 地址使用 CIDR 表示法。对照访问策略检查 IP 地址时,访问策略使用 CIDR 表示法。
- 验证访问策略中指定的 IP 地址与访问您的集群时使用的相同。您可以从以下网址获得本地计算机的公有 IP 地址:https://checkip.amazonaws.com/。
注意:如果您收到授权错误,则检查您使用的是公有还是私有 IP 地址。基于 IP 的访问策略无法应用于驻留在 Virtual Private Cloud (VPC) 中的 OpenSearch Service 域。这是因为安全组已强制执行基于 IP 的访问策略。如果使用公有访问,则基于 IP 的策略仍然可用。有关更多信息,请参阅关于 VPC 域上的访问策略。
支持请求签名的客户端
如果您使用的客户端支持请求签名,则检查以下各项:
- 请确保您的请求已正确签名。AWS 使用签名版本 4 签名流程向 AWS 请求添加身份验证信息。来自与请求签名版本 4 不兼容的的客户端的请求将被拒绝,并收到“用户:未授权匿名”错误。如需获得向 OpenSearch Service 发送的正确签名的请求示例,请参阅发出并签署 OpenSearch Service 请求。
- 验证已在访问策略中指定了正确的 Amazon Resource Name (ARN)。
如果您的 OpenSearch Service 域驻留在 VPC 内,然后配置一个使用或不使用代理服务器的开放访问策略。然后,使用安全组来控制访问。有关更多信息,请参阅关于 VPC 域上的访问策略。
OpenSearch 控制面板终端节点
如果您无法访问 OpenSearch 控制面板,请注意以下事项:
- OpenSearch 控制面板终端节点不支持签名的请求。
- 如果您的访问控制策略允许某些 AWS Identity Access Management (IAM) 用户或角色域访问权限,则为 OpenSearch 控制面板配置 Amazon Cognito 身份验证。否则,IAM 角色或用户在访问 OpenSearch 控制面板域时会收到错误。
- 如果您的 OpenSearch Service 域使用 VPC 访问权限,那么您的请求可能会超时。
有关从 OpenSearch 控制面板访问 OpenSearch Service 的更多信息,请参阅控制对 OpenSearch 控制面板的访问。