我尝试通过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
仍会提示输入密码。
任何人都知道如何实现它,我可以连接而无需使用密码?
答案 0 :(得分:3)
这是不可能的。
AWS身份和访问管理(IAM)用于授予RDS服务的权限(例如,创建,备份和删除群集)。但是,不能用于授予对Amazon RDS PostgreSQL数据库的登录访问权限。相反,使用PostgreSQL中定义的普通用户。
MySQL和Aurora的这种访问is only available。
答案 1 :(得分:2)
RDS PostgreSQL(vanilla和Aurora)现在支持IAM身份验证。
受支持的版本是:
Amazon RDS for PostgreSQL(从2018/09/27开始受支持)
Amazon Aurora PostgreSQL(从2018/11/08开始受支持)
指令就像MySQL的一样: