我的项目有一个IAM角色myRole。我有一个带有MySQL实例的RDS服务器。 MySQL实例需要用户名和密码,但是我不希望通过命令行以明文形式传递它们,也不想将它们存储在某处以便以后检索。
我想做的是以某种方式使用IAM角色作为身份验证,以便能够执行备份等。
这可能吗?
答案 0 :(得分:7)
现在可以使用MySQL或Amazon Aurora:
http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.html
答案 1 :(得分:4)
这是不可能的。 IAM适用于AWS资源。与RDS相关,您将使用IAM授予某人创建或修改RDS服务器的权限。 MySQL数据库引擎不知道它在AWS上运行,并且不知道有关IAM角色的任何信息,因此它不能将其用于用户身份验证。您必须坚持使用用户名/密码进行数据库身份验证。
更新12/13/2017: You can now use IAM authentication for RDS MySQL and Aurora。
答案 2 :(得分:0)
请参阅此要点以及使用IAM通过PHP向Amazon Aurora验证MySQL的代码示例和注释:
https://gist.github.com/sators/38dbe25f655f1c783cb2c49e9873d58a