我有一個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用戶帳戶。 –