Bug:无法使用仅具有rds-db:connect权限的角色使用IAM身份验证连接到RDS Aurora Serverless V2。

0

【以下的问题经过翻译处理】 当我尝试使用IAM身份验证连接到RDS Aurora Serverless V2实例时,客户端身份验证期间收到错误:

“pg_hba.conf拒绝连接到主机“...”​​,用户“”,数据库“”,无加密”(主机,用户和数据库名称已编辑)。

我尝试了在shell上使用AWS CLI通过aws rds generate-db-auth-token命令获取密码,以及使用Python使用boto3库通过boto3.client(“rds”).generate_db_auth_token(...)获取密码。

如果我将AdministratorAccess AWS托管IAM策略添加到我正在使用的角色中,那么我就能成功登录到数据库。但是如果我取消AdministratorAccess,我就无法登录。在两种情况下,角色都具有“rds-db:connect”权限和适当的db资源。如果我将角色更新为“rds-db:”并使用资源“”,我仍然收到错误。

为了尝试了解AdministratorAccess是什么使其正常工作,我尝试代替授予所有kms:,sts:,“iam:”,“rds:”,“rds-data”:”,以及“acm:”,带有资源:“*”,认为可能需要一些未记录的IAM权限,但这并没有解决问题。

1 Antwort
0

【以下的回答经过翻译处理】 我在https://repost.aws/knowledge-center/aurora-postgresql-connect-iam这篇文章中找到了答案,原来在Aurora PostgreSQL中,IAM策略中的资源ID需要是RDS群集ID,而不是RDS实例ID。相比之下,对于RDS PostgreSQL,资源ID需要是数据库实例资源ID。而我的策略正在使用实例ID。 我希望generate-auth-token请求会立即失败并附带一个IAM错误信息——这将有助于更快地准确定位问题。相反,generate-auth-token请求仍然成功了,但生成的密码无法让我连接。"pg_hba.conf拒绝连接,没有加密"错误消息也是误导性的。

profile picture
EXPERTE
beantwortet vor 8 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen