我大致翻譯了用 IAM 做驗證登入資料庫這篇文章的步驟,另外用圖片說明 Policy 設定的要點。
以及用圖片介紹從 Application、RDS Proxy、RDS Instance 之間用 IAM 連線的細節
底下摘錄了文章中與 IAM Authentication 有關的步驟
步驟 | 操作位置 | 要做的事 |
---|---|---|
1 | RDS控制台 | 對 Instance 開啟 IAM authentication |
2 | MySQL client | 在 MySQL 裡面建立一個 user,搭配 AWSAuthenticationPlugin |
3 | IAM控制台 | 建立一個 IAM Role(其內容包括一個允許使用上述 db user 連線的 policy) |
4 | 您的程式 | 使用 AWS SDK 的 TokenGenerator,輸入 db hostname、db user,用產生出來的 token 當成 db password 連線到資料庫 |
注意第二步、第三步的 username!
用 SSL 保護 DB 連線
|
步驟 | 操作位置 | 要做的事 |
---|---|---|
1 | MySQL Client | 對 db user 要求強制使用 SSL 連線 |
ALTER USER {dbusername} REQUIRE SSL; | ||
2 | Server | 下載 RDS 的 CA,並使用它來做 SSL 連線 |
wget https://s3.amazonaws.com/rds-downloads/rds-ca-2019-root.pem |
用 IAM 連線到 RDS Proxy
請參考這篇文章,或直接看下面的圖