【问题标题】:Will enabling RDS IAM auth disable the password auth automatically?启用 RDS IAM 身份验证会自动禁用密码身份验证吗?
【发布时间】:2020-05-19 18:36:11
【问题描述】:

我正在按照本教程为主用户启用 RDS postgres IAM 身份验证:https://aws.amazon.com/premiumsupport/knowledge-center/users-connect-rds-iam/

主用户当前使用密码验证。我不确定的一件事是:如果我为此主用户启用 IAM 身份验证,我还能使用密码与 RDS 对话吗?我们可以让这两种类型的身份验证同时工作吗?

【问题讨论】:

    标签: amazon-web-services amazon-rds amazon-iam


    【解决方案1】:

    对于 PostgreSQL,如果将 IAM 角色 (rds_iam) 添加到主用户, IAM 身份验证优先于密码身份验证,因此 主用户必须以 IAM 用户身份登录。

    因此,您无法使用您启用 rds-iam 角色的用户的实际数据库密码登录。所有其他数据库用户帐户(未启用 rds-iam 角色)都可以使用实际数据库密码登录。

    请参阅 AWS 文档 - https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html#UsingWithRDS.IAMDBAuth.Limitations

    【讨论】:

      【解决方案2】:

      是的,您仍然可以同时使用两者,它只是默认禁用。

      您无需将用户凭据存储在数据库中,因为身份验证是使用 IAM 在外部进行管理的。您仍然可以使用标准数据库身份验证。

      引用自https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/UsingWithRDS.IAMDBAuth.html

      【讨论】:

      • 对不起,我有点困惑。你能详细说明一下吗?谢谢。
      • 嗨,基本上 IAM 身份验证是一项功能,而不是一个选项。通过启用它,它确实取代了普通的基于用户的身份验证。同样值得注意的是它是否有限制:docs.aws.amazon.com/AmazonRDS/latest/UserGuide/…
      • 如果我理解正确,为特定数据库用户启用 IAM 身份验证将自动禁用其密码身份验证,对吗?如果是这样,为什么Yes you can still use both at once 是什么意思?
      • 添加了链接,您的 IAM 用户不会替换您的数据库用户,所以请放心,两者仍然可以工作 :)
      【解决方案3】:

      我可以确认你可以同时使用,步骤:

      1. 启用 IAM 身份验证
      2. 用你的 mysql -h rdsendpoint -u user -p 登录

      --- 更进一步---

      1. 用不同的用户登录mysql -h rdsendpoint -u user2 -p

      --- 更进一步---

      1. 重置客户端计算机 AWS Credentials $ aws configure 和
      2. 删除 EC2 上的所有 IAM 角色(如果您从一个角色进行测试)
      3. 用你的 mysql -h rdsendpoint -u user -p 登录

      确认所有工作

      【讨论】:

        猜你喜欢
        • 2017-12-08
        • 2018-09-11
        • 1970-01-01
        • 1970-01-01
        • 2016-09-26
        • 2019-09-14
        • 1970-01-01
        • 2020-12-21
        • 1970-01-01
        相关资源
        最近更新 更多