EC2 不用密碼連線到 RDS (MySQL)

#iam #mysql #rds #rds-proxy #ssl

我大致翻譯了用 IAM 做驗證登入資料庫這篇文章的步驟,另外用圖片說明 Policy 設定的要點。
以及用圖片介紹從 Application、RDS Proxy、RDS Instance 之間用 IAM 連線的細節

底下摘錄了文章中與 IAM Authentication 有關的步驟

步驟操作位置要做的事
1RDS控制台對 Instance 開啟 IAM authentication
2MySQL client在 MySQL 裡面建立一個 user,搭配 AWSAuthenticationPlugin
3IAM控制台建立一個 IAM Role(其內容包括一個允許使用上述 db user 連線的 policy)
4您的程式使用 AWS SDK 的 TokenGenerator,輸入 db hostname、db user,用產生出來的 token 當成 db password 連線到資料庫

注意第二步、第三步的 username!



用 SSL 保護 DB 連線

|

步驟操作位置要做的事
1MySQL Client對 db user 要求強制使用 SSL 連線
ALTER USER {dbusername} REQUIRE SSL;
2Server下載 RDS 的 CA,並使用它來做 SSL 連線
wget https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem



用 IAM 連線到 RDS Proxy

請參考這篇文章,或直接看下面的圖