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

Redshift-Postgres RDS联邦查询报authentication method 10错误

问题根因

这个报错和你本地JDBC驱动、KMS密钥配置没有任何关系。
错误里的authentication method 10对应PostgreSQL的SCRAM-SHA-256认证协议,Redshift查询外部PostgreSQL schema时,是集群内部自带的PostgreSQL客户端发起跨库连接,这个内置客户端版本较旧,不支持SCRAM-SHA-256认证,只能识别MD5方式加密的密码认证。你之前确认解密环节正常,刚好说明问题出在Secrets Manager解密完凭证、Redshift拿凭证去连Postgres的认证阶段,和密钥本身没关系。更新本地JDBC驱动没用,是因为驱动只管你本地客户端和Redshift之间的连接,管不到Redshift自己去连Postgres的内部逻辑。

解决方法

选下面任意一种都能解决问题:

  • 最快生效方案:修改RDS PostgreSQL的全局认证配置
    1. 进入RDS控制台找到目标Postgres实例,打开它绑定的参数组
    2. 把password_encryption参数的值从scram-sha-256改成md5,保存参数修改
    3. 重启RDS实例让参数生效
    4. 重置联邦查询使用的数据库账号密码——这步不能漏,之前的密码是按SCRAM规则存储的,改完参数不重置密码还是会走SCRAM认证流程
    5. 把Secrets Manager里存储的对应账号密码更新为新重置的值,再查询外部schema的表即可正常访问
  • 不想全局修改RDS认证规则的话,可以单独给联邦查询账号开MD5认证:在RDS参数组里配置rds.pg_hba规则,指定Redshift集群所属的VPC网段、对应联邦查询账号的认证方式为md5,只重置这个账号的密码就行,其他业务账号还是可以正常用SCRAM-SHA-256认证,不受影响。
  • 不推荐方案:等AWS官方更新Redshift内置的PostgreSQL客户端支持SCRAM-SHA-256,这个兼容性问题AWS已经登记在已知问题列表,但没有给出明确的上线时间,生产环境不建议等待。
验证方法

改完配置直接跑个简单测试查询即可:

SELECT * FROM schema_ext.<你的目标表名> LIMIT 1;

能正常返回数据就说明配置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 16:48:54