我有一个IAM角色myRole,用于我的项目。我有一个带有MySQL实例的RDS服务器。 MySQL实例需要用户名和密码,但我不想通过命令行将它们作为纯文本传递,也不要将它们存储在某处供以后检索。使用IAM角色允许访问RDS上的MySQL数据库
我想什么做的是某种程度上使用IAM角色的身份验证,以便能够执行备份等
这可能吗?
我有一个IAM角色myRole,用于我的项目。我有一个带有MySQL实例的RDS服务器。 MySQL实例需要用户名和密码,但我不想通过命令行将它们作为纯文本传递,也不要将它们存储在某处供以后检索。使用IAM角色允许访问RDS上的MySQL数据库
我想什么做的是某种程度上使用IAM角色的身份验证,以便能够执行备份等
这可能吗?
这是不可能的。 IAM适用于AWS资源。与RDS相关的是,您将使用IAM来授予某人创建或修改RDS服务器的权限。 MySQL数据库引擎不知道它在AWS上运行,并且不知道有关IAM角色的任何信息,因此它不能将其用于用户身份验证。您必须坚持使用用户名/密码进行数据库验证。
更新12/13/2017:You can now use IAM authentication for RDS MySQL and Aurora。
使用参见本要点与代码示例和笔记上通过PHP认证的MySQL亚马逊极光IAM:
https://gist.github.com/sators/38dbe25f655f1c783cb2c49e9873d58a
我想尽可能多,而且我想这种方式更加无效。如果AWS角色包含第三方身份验证插件例如MySQL,WordPress,2-Factor等 – Answoquest
当你说用户名/密码时,你正在谈论RDS实例的主用户名/密码吧?我发现,如果只有一个登录名,并且IP防火墙阻止了所有内容,除非您自己添加它,否则认为这样更安全......这是件好事吗? – user805981
@ user805981您可以创建比主用户更多的用户。一旦以主用户身份连接,您可以根据需要创建任意数量的DB用户帐户。 –