使用IAM角色连接到Amazon RDS Postgresql

问题描述 投票:2回答:2

我尝试通过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仍会提示输入密码。

任何人都知道如何实现它,我可以连接而无需使用密码?

postgresql amazon-web-services amazon-ec2 amazon-rds amazon-iam
2个回答
2
投票

RDS PostgreSQL(vanilla和Aurora)现在支持IAM身份验证。

支持的版本是:

Amazon RDS for PostgreSQL(2018/09/27支持)

  • 9.5.13或更高
  • 9.6.9或更高
  • 10.4或更高

Amazon Aurora PostgreSQL(从2018年11月8日起支持)

  • 9.6.9或更高

说明就像MySQL一样:

  1. 创建启用了IAM身份验证的数据库实例
  2. 使用rds_iam ROLE创建IAM身份验证用户
  3. 为IAM访问添加新策略
  4. 请求IAM身份验证的临时凭证(详情https://gist.github.com/quiver/509e1a6e6b54a0148527553502e9f55d

3
投票

这是不可能的。

AWS身份和访问管理(IAM)用于授予RDS服务的权限(例如,创建,备份和删除群集)。但是,它不能用于授予对Amazon RDS PostgreSQL数据库的登录访问权限。相反,使用PostgreSQL中定义的普通用户。

这样访问is only available用于MySQL和Aurora。

© www.soinside.com 2019 - 2024. All rights reserved.