
Kontext: Ich versuche, Postgres RDS in einem private_isolated-Subnetz eines VPC einzurichten. Ich möchte pgAdmin verwenden, um daran zu arbeiten, was bedeutet, dass ich entweder eine Bastion oder eine VPN-Verbindung benötige. Eine Bastion erfordert eine EC2-Instanz mit langer Laufzeit, und ich habe derzeit überhaupt keine EC2 laufen. Ich würde gerne die VPN-Verbindung einrichten, da dies sinnvoller erscheint. Wir haben jedoch weder AD noch einen SAML-Anbieter - wir haben IAM-Benutzer und SSO zum Starten einer AWS-Sitzung. UPDATE: Mir ist aufgefallen, dass IAM auf RDS-Ebene verwendet werden kann, um Sitzungsanmeldungen zu ermöglichen.https://aws.amazon.com/premiumsupport/knowledge-center/users-connect-rds-iam/Damit wird zumindest ein damit zusammenhängendes Problem abgedeckt.
Client-VPN scheint normalerweise mit AD oder einem SAML-Anbieter oder manuell mit gegenseitiger Authentifizierung unter Verwendung manuell erstellter Zertifikate eingerichtet zu werden. Die ersteren Optionen scheinen übertrieben – wir sind ein kleines Unternehmen und benötigen weder AD noch einen separaten SAML-Anbieter. Die manuellen Zertifikate hingegen scheinen anfällig für menschliches Versagen zu sein, da viel Aufwand erforderlich ist, um die Zertifizierungsstelle einzurichten oder jeden Benutzer ein Client-Zertifikat hochladen zu lassen.
Ich bin ein Neuling in Sachen Systemadministration. Gibt es einen Grund, warum ich IAM SSO nicht verwenden kann, um ein Geheimnis zu erstellen, das mir eine Stunde lang VPN-Zugriff gewährt, genau wie ich es mache, um mich bei der Verwaltungskonsole anzumelden oder die CLI zu verwenden? Ist dies mit der SAML-Option machbar? Stelle ich die falschen Fragen?
Danke!
Antwort1
Wenn Sie Ihre Datenbank in einem privaten Subnetz haben möchten, ist die einzige Möglichkeit zur Verbindung über VPN oder DirectConnect (teuer) oder über eine EC2-Instanz mit Zugriff auf die Datenbank (Bastion) (siehe Dokumentationhttps://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_VPC.Scenarios.html#USER_VPC.Scenario3).
Am kostengünstigsten ist die Verwendung einer EC2-Instanz. Anstatt SSH zu verwenden und sich mit Schlüsseln herumzuschlagen, können Sie den SSM-Agenten in Ihrer Instanz konfigurieren und Ihren Benutzern den Zugriff über die Konsole ermöglichen. Hier sind die Dokumente:https://docs.aws.amazon.com/systems-manager/latest/userguide/ssm-agent.html
Antwort2
Bisher bin ich zu dem Schluss gekommen, dass die kurze Antwort „das geht nicht“ lautet. Es gibt wahrscheinlich einen Umweg in einem Bash-Skript, um IAM-Benutzern den Zugriff auf ein Zertifikat zu ermöglichen, das dann zur Verbindung mit dem VPN verwendet wird.
Stattdessen können Alternativen wie die von @palvarez erwähnten die beste Lösung für jemanden mit einem ähnlichen Problem sein.