Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Herstellen einer Verbindung mit Ihrem DB-Instance- mithilfe der IAM-Authentifizierung von der Befehlszeile aus: AWS CLI und psql-Client
Sie können über die Befehlszeile eine Verbindung mit einer Amazon-RDS-for-PostgreSQL-DB-Instance einem mit der AWS CLI und dem psql-Befehlszeilen-Tool herstellen, wie nachfolgend beschrieben.
Voraussetzungen
Die folgenden Voraussetzungen gelten für die Verbindung mit Ihrem DB-Instance- mithilfe der IAM-Authentifizierung:
Anmerkung
Informationen zum Herstellen einer Verbindung mit Ihrer Datenbank mithilfe von pgAdmin mit IAM-Authentifizierung finden Sie im Blogbeitrag Using IAM authentication to connect with pgAdmin Amazon Aurora PostgreSQL or Amazon RDS for PostgreSQL
Themen
Generieren eines IAM-Authentifizierungstokens
Das Authentifizierungstoken besteht aus hunderten von Zeichen, wodurch es in der Befehlszeile unhandlich wird. Eine Möglichkeit zur Umgehung dieses Problems besteht darin, das Token in einer Umgebungsvariable zu speichern und dann bei der Verbindungsherstellung diese Variable zu verwenden. Im folgenden Beispiel wird gezeigt, wie Sie die AWS CLI verwenden, um ein signiertes Authentifizierungstoken mithilfe des generate-db-auth-token
-Befehls zu erzeugen und dieses anschließend in einer PGPASSWORD
-Umgebungsvariablen zu speichern.
export RDSHOST="
rdspostgres.123456789012.us-west-2.rds.amazonaws.com
" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port5432
--regionus-west-2
--usernamejane_doe
)"
In diesem Beispiel lauten die Parameter für den generate-db-auth-token
-Befehl folgendermaßen:
-
--hostname
– Der Hostname des DB-Instance-, auf den Sie zugreifen möchten. -
--port
– Die Nummer des Ports, der für die Verbindung mit dem DB-Instance- verwendet wird. -
--region
– Die AWS-Region, in der die DB-Instance ausgeführt wird. -
--username
– Das Datenbankkonto, auf das Sie zugreifen möchten.
Die ersten Zeichen des generierten Tokens sehen folgendermaßen aus.
rdspostgres.123456789012.us-west-2.rds.amazonaws.com:5432/?Action=connect&DBUser=jane_doe&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Expires=900...
Anmerkung
Sie können keinen benutzerdefinierten Route-53-DNS-Eintrag anstelle des DB-Instance-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.
Verbinden mit einem Amazon RDS-PostgreSQL-Instance und
Das allgemeine Format zur Herstellung einer Verbindung mithilfe von psql wird nachfolgend dargestellt.
psql "host=
hostName
port=portNumber
sslmode=verify-full sslrootcert=full_path_to_ssl_certificate
dbname=DBName
user=userName
password=authToken
"
Dabei werden die folgenden Parameter verwendet:
-
host
– Der Hostname des DB-Instance-, auf den Sie zugreifen möchten. -
port
– Die Nummer des Ports, der für die Verbindung mit dem DB-Instance- verwendet wird. -
sslmode
– Der zu verwendende SSL-Modus.Wenn Sie
sslmode=verify-full
verwenden, prüft die SSL-Verbindung den Endpunkt der DB-Instance gegen den Endpunkt des SSL-Zertifikats. -
sslrootcert
– Die SSL-Zertifikatsdatei, die den öffentlichen Schlüssel enthältWeitere Informationen finden Sie unter Verwendung SSL mit einer SQL Postgre-DB-Instance.
-
dbname
– Die Datenbank, auf die Sie zugreifen möchten. -
user
– Das Datenbankkonto, auf das Sie zugreifen möchten. -
password
– Ein signiertes IAM-Authentifizierungstoken.
Anmerkung
Sie können keinen benutzerdefinierten Route-53-DNS-Eintrag anstelle des DB-Instance-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.
Das folgende Beispiel zeigt die Verwendung von psql für die Verbindung. Im Beispiel verwendet psql die Umgebungsvariable RDSHOST
für den Host und die Umgebungsvariable PGPASSWORD
für das generierte Token. Zudem ist /sample_dir/
der vollständige Pfad zur SSL-Zertifikatsdatei, die den öffentlichen Schlüssel enthält.
export RDSHOST="
rdspostgres.123456789012.us-west-2.rds.amazonaws.com
" export PGPASSWORD="$(aws rds generate-db-auth-token --hostname $RDSHOST --port5432
--regionus-west-2
--usernamejane_doe
)" psql "host=$RDSHOST port=5432
sslmode=verify-full sslrootcert=/sample_dir/
global-bundle.pem dbname=DBName
user=jane_doe
password=$PGPASSWORD"
Informationen dazu, wie Sie über einen Proxy eine Verbindung mit einer DB-Instance herstellen, finden Sie unter Herstellen einer Verbindung mit einem Proxy mithilfe der IAM-Authentifizierung.