连接带有IAM角色的Amazon RDS PostgreSQL



我试图通过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-Instance上。到目前为止一切似乎都很好。

当SSH到该特定的EC2实例并尝试连接到数据库时,psql仍提示输入密码。

任何人都知道如何完成我可以连接的而无需使用密码的方法?

支持的版本是:

PostgreSQL的Amazon RDS(从2018/09/27支持)

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

Amazon Aurora Postgresql(从2018/11/08支持)

  • 9.6.9或更高

说明就像mysql的:

  1. 使用IAM auth启用
  2. 创建DB实例
  3. 使用RDS_IAM角色创建IAM auth用户
  4. 添加IAM访问的新政策
  5. 请求IAM auth的请求临时凭据(详细信息https://gist.github.com/quiver/509E1A6B54A0148527553502E9F55D)

这是不可能的。

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

这种访问仅适用于mysql和aurora。

相关内容

  • 没有找到相关文章