Amazon RDS mit IAM-Authentifizierung
Verwaltete PostgreSQL-Datenbanken auf Amazon RDS und Aurora können sich mit kurzlebigen IAM-Tokens statt mit einem statischen Passwort authentifizieren. DuckDB unterstützt das über die Erweiterungen postgres und aws: Die Erweiterung aws erzeugt das Token aus einer AWS-Credential-Chain, und die Erweiterung postgres verwendet es als Verbindungspasswort und aktualisiert es automatisch.
Installation und Laden
INSTALL postgres;INSTALL aws;LOAD postgres;LOAD aws;Secrets erstellen
Legen Sie zuerst ein Secret vom Typ rds an. Es verwendet die AWS-Credential-Chain, um das IAM-Token zu erzeugen:
CREATE SECRET aws_rds_secret ( TYPE rds, PROVIDER credential_chain, CHAIN 'env;sso', REGION '⟨eu-west-1⟩', RDS_USER '⟨postgres⟩', RDS_HOST '⟨instance⟩.⟨identifier⟩.⟨region⟩.rds.amazonaws.com', RDS_PORT '5432');Legen Sie dann ein Secret vom Typ postgres an, das über AWS_RDS_SECRET darauf verweist. Weil kein Passwort gesetzt ist, wird das vom rds-Secret erzeugte Token automatisch verwendet (und aktualisiert):
CREATE SECRET pg_rds_secret ( TYPE postgres, HOST '⟨instance⟩.⟨identifier⟩.⟨region⟩.rds.amazonaws.com', PORT '5432', USER '⟨postgres⟩', DATABASE '⟨postgres⟩', SSLMODE require, AWS_RDS_SECRET aws_rds_secret);Verbinden und Abfragen
Hängen Sie die Datenbank mit dem postgres-Secret an und fragen Sie sie dann wie eine reguläre Datenbank ab:
ATTACH '' AS rds_db (TYPE postgres, SECRET pg_rds_secret);SELECT * FROM rds_db.public.⟨tbl_name⟩;Siehe auch
- Postgres-Erweiterungs-Secrets — AWS RDS IAM-Authentifizierung — die vollständige Referenz, einschließlich der vorherigen Überprüfung der Einrichtung mit
psql. - AWS-Erweiterung — die für das
rds-Secret verfügbaren Credential-Chain-Optionen.