我正在通过RDS在AWS上设置Postgres实例。它已放置在具有专用子网的VPC中,其中子网CIDR为:["10.0.21.0/24", "10.0.22.0/24", "10.0.23.0/24"]
。
我有一个公共子网,并已通过从公共子网到私有子网的堡垒节点成功连接到postgres,并通过SSH端口转发运行查询。
但是,现在我正在尝试通过位于VPC相同私有子网中的lambda建立连接。 lambda可以根据安全组进行访问,但是我收到以下错误:
OperationalError:(psycopg2.OperationalError)致命:PAM 用户“ service_worker”的身份验证失败致命:pg_hba.conf 拒绝主机“ 10.0.23.73”,用户“ service_worker”的连接, 数据库“ myDB”,关闭SSL
我已经通过堡垒与service_worker
进行了成功连接,但是由于某种原因,我无法通过lambda进行连接。似乎Postgres正在拒绝此特定主机。而且,在pg_hba.conf
文件中管理信息时,找不到任何配置或文档来指定如何更改RDS的功能。
有没有人知道告诉Postgres来自同一子网中主机的连接是否正确?我假设所有这些因素中都缺少某种安全策略。
谢谢!
答案 0 :(得分:1)
事实证明
Amazon RDS当前不支持基于角色的身份验证 PostgreSQL和Aurora PostgreSQL。
并且由于Lambdas本质上使用基于角色的身份验证,因此失败。