
上下文:我正在嘗試在 VPC 的 private_isolated 子網路中設定 Postgres RDS。我想使用 pgAdmin 來處理它,這意味著我需要一個堡壘或 VPN 連線。堡壘需要長時間運行的 EC2 實例,而我目前根本沒有運行任何 EC2。我想設定 VPN 連接,因為這似乎更切題。不過,我們沒有 AD 或 SAML 提供者 - 我們有 IAM 使用者和用於啟動 AWS 會話的 SSO。更新:我意識到 IAM 可以在 RDS 層級使用以允許會話登入。https://aws.amazon.com/premiumsupport/knowledge-center/users-connect-rds-iam/所以這至少涵蓋了一個相關的問題。
用戶端 VPN 似乎通常使用 AD 或 SAML 提供者進行設置,或使用手動建立的憑證進行手動相互驗證。前一種選擇似乎太過分了——我們是一家小公司,不需要 AD 或單獨的 SAML 提供者。另一方面,手動憑證似乎很容易出現人為錯誤,因為設定 CA 或讓每個使用者上傳客戶端憑證需要做很多工作。
我是系統管理員方面的新手。是否有原因導致我無法使用 IAM SSO 建立允許我 VPN 存取一小時的金鑰,具體如何登入管理控制台或使用 CLI?這可以透過 SAML 選項實現嗎?我問錯問題了嗎?
謝謝!
答案1
考慮到您希望資料庫位於私有子網路中,唯一的連接方法是透過 VPN 或 DirectConnect(昂貴),或透過有權存取資料庫的 EC2 執行個體(堡壘)(請參閱文檔https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html#USER_VPC.Scenario3)。
最經濟有效的方法是使用 EC2 執行個體。您可以在實例中配置 SSM 代理並允許使用者透過控制台進行訪問,而不是使用 SSH 並使用複雜的金鑰。這是文檔:https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html
答案2
到目前為止,我得出的結論是「你不能」是簡短的答案。 bash 腳本中可能有一些迂迴的方式來使用 IAM 使用者存取某些證書,然後使用該證書連接到 VPN。
相反,對於有類似問題的人來說,@palvarez 提到的替代方案可能是最佳解決方案。