AWS RDS "pg_hba.conf rejects connection for host"

AWS RDS "pg_hba.conf rejects connection for host"

我正在努力通过 RDS 在 AWS 上设置一个 Postgres 实例。它已被放置到具有私有子网的 VPC 中,其中子网 CIDR 为:["10.0.21.0/24", "10.0.22.0/24", "10.0.23.0/24"].

我有一个 public 子网,并已通过从 public 到私有子网的堡垒节点成功连接到 postgres,并通过 SSH 端口转发进行 运行 查询。

但是,现在我正在尝试从位于 VPC 的同一私有子网中的 lambda 建立连接。根据安全组,lambda 具有访问权限,但我收到以下错误:

OperationalError: (psycopg2.OperationalError) FATAL: PAM authentication failed for user "service_worker" FATAL: pg_hba.conf rejects connection for host "10.0.23.73", user "service_worker", database "myDB", SSL off

我已经通过堡垒成功连接到 service_worker,但由于某些原因我无法通过 lambda 连接。似乎 Postgres 正在拒绝这个特定的主机。而且我在 pg_hba.conf 文件中找不到任何指定如何更改 RDS 在管理此信息时所做的操作的配置或文档。

有没有人知道告诉 Postgres 来自同一子网中主机的连接正常?我假设有一些安全策略在所有这些组合中不知何故丢失了。

谢谢!

原来是

Role-based authentication is currently not supported for Amazon RDS for PostgreSQL and Aurora PostgreSQL.

并且因为 Lambdas 固有地使用基于角色的身份验证,所以这失败了。