使用Python调用AWS Aurora Serverless Data API时密码验证失败求助
Aurora Serverless v1 Data API 密码认证失败排查建议
验证数据库主用户密码有效性:
尝试通过常规PostgreSQL客户端(如psql)使用用户bjarki和对应密码直接连接数据库,确认密码本身是否正确。如果连接失败,重置主用户密码(可通过RDS控制台或ALTER USER bjarki WITH PASSWORD '新密码';语句)。检查Data API认证模式与脚本参数匹配:
- 若使用IAM认证:确保脚本调用
ExecuteStatement时未传入SecretArn或Password参数,仅需正确配置ResourceArn和IAM权限。 - 若使用密码认证:确认
SecretArn指向的Secrets Manager密钥中,password字段值与数据库主用户密码完全一致(注意大小写、特殊字符、无多余空格/换行),同时验证运行脚本的IAM用户拥有secretsmanager:GetSecretValue权限。
- 若使用IAM认证:确保脚本调用
核对脚本核心参数:
检查ExecuteStatement中的DbUser是否准确拼写(PostgreSQL用户名大小写敏感),Database参数是否指定了存在的数据库(主用户默认连接postgres库),ResourceArn是否为集群的正确ARN,且脚本使用的AWS区域与集群所在区域完全一致。确认集群状态与Data API配置:
- 检查RDS控制台中集群状态为「可用」(Available),无暂停、扩容等异常状态。
- 再次确认集群已启用Data API(集群详情页「Data API」选项为「已启用」)。
排查PostgreSQL用户属性:
执行SELECT usename, passwd, rolcanlogin FROM pg_user WHERE usename = 'bjarki';,确认用户bjarki的rolcanlogin为t(允许登录),且密码哈希值与当前密码匹配(若不匹配,重置密码)。
内容的提问来源于stack exchange,提问作者Hinkakan
相关产品推荐
相关产品推荐

