我尝试通过IAM让我的EC2实例访问我的AWS RDS Postgresql数据库。
首先,我制定了一项政策:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"rds:connect"
],
"Resource": [
"arn:aws:rds:eu-west-1:824224273455:db:instance-name/db-name"
]
}
]
}
之后,我将此政策附加到role
,我附加到这个特定的EC2实例。到目前为止,一切似乎都很好。
当ssh到特定的EC2实例并尝试连接到数据库时,psql
仍会提示输入密码。
任何人都知道如何实现它,我可以连接而无需使用密码?
RDS PostgreSQL(vanilla和Aurora)现在支持IAM身份验证。
支持的版本是:
Amazon RDS for PostgreSQL(2018/09/27支持)
Amazon Aurora PostgreSQL(从2018年11月8日起支持)
说明就像MySQL一样:
这是不可能的。
AWS身份和访问管理(IAM)用于授予RDS服务的权限(例如,创建,备份和删除群集)。但是,它不能用于授予对Amazon RDS PostgreSQL数据库的登录访问权限。相反,使用PostgreSQL中定义的普通用户。
这样访问is only available用于MySQL和Aurora。