You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hibernate Search连接AWS OpenSearch Serverless权限报错问题

问题修复方案

你遇到的403错误核心原因是Hibernate Search的AWS适配器默认使用es作为服务名称进行签名,但AWS OpenSearch Serverless要求签名时指定服务名为aoss,导致凭证权限范围不匹配。以下是具体修复步骤:

1. 修改Hibernate Search配置,指定AWS签名服务名

在你的Spring配置中,给hibernate.search.backend.aws添加service属性,明确设置为aoss:

spring:
  jpa:
    properties:
      hibernate:
        search:
          backend:
            type: elasticsearch
            hosts: xxxxxxxx.<region>.aoss.amazonaws.com
            version: opensearch:2.5
            version_check:
              enabled: false
            aws:
              region: <region>
              signing:
                enabled: true
              service: aoss  # 新增此行,指定服务名为aoss

2. 解决STS依赖警告

日志中的To use web identity tokens, the 'sts' service module must be on the class path警告,是因为EKS Pod通过IAM角色获取凭证需要AWS SDK的STS模块支持,需添加对应依赖:

Maven依赖

<dependency>
    <groupId>software.amazon.awssdk</groupId>
    <artifactId>sts</artifactId>
</dependency>

Gradle依赖

implementation 'software.amazon.awssdk:sts'

额外说明

  • 关于版本警告Unknown Elasticsearch version running on the cluster: 'opensearch:2.5':由于Hibernate Search 6.1.8对OpenSearch 2.5的适配性有限,但你已关闭版本检查,该警告不会影响功能,可忽略,也可后续升级Hibernate Search到更高版本解决。
  • 修改后重新部署应用,即可通过Pod绑定的IAM角色完成OpenSearch Serverless的认证,签名服务名与IAM策略的资源范围匹配后,403错误会消失。

内容的提问来源于stack exchange,提问作者Rokko_11

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 14:17:02