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--Cluster mithilfe der IAM-Authentifizierung von der Befehlszeile aus: AWS CLI und psql-Client
Sie können über die Befehlszeile eine Verbindung mit einem Aurora-PostgreSQL-DB-Cluster 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--Cluster 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="
mypostgres-cluster.cluster-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--Clusters (Cluster-Endpunkt), auf den Sie zugreifen möchten. -
--port
– Die Nummer des Ports, der für die Verbindung mit dem DB--Cluster verwendet wird. -
--region
– Die AWS-Region, in der der DB-Cluster ausgeführt wird. -
--username
– Das Datenbankkonto, auf das Sie zugreifen möchten.
Die ersten Zeichen des generierten Tokens sehen folgendermaßen aus.
mypostgres-cluster.cluster-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 oder einen benutzerdefinierten Aurora-Endpunkt anstelle des DB-Cluster-Endpunkts verwenden, um das Authentifizierungstoken zu generieren.
Verbinden mit einem und einem Aurora PostgreSQL-Cluster
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--Clusters (Cluster-Endpunkt), auf den Sie zugreifen möchten. -
port
– Die Nummer des Ports, der für die Verbindung mit dem DB--Cluster verwendet wird. -
sslmode
– Der zu verwendende SSL-Modus.Wenn Sie
sslmode=verify-full
verwenden, prüft die SSL-Verbindung den Endpunkt des DB-Clusters gegen den Endpunkt des SSL-Zertifikats. -
sslrootcert
– Die SSL-Zertifikatsdatei, die den öffentlichen Schlüssel enthältWeitere Informationen finden Sie unter Sicherung von Aurora SQL Postgre-Daten mit/ SSL TLS.
Zum Download eines SSL-Zertifikats siehe Verwenden vonSSL/TLSzum Verschlüsseln einer Verbindung zu einer .
-
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 oder einen benutzerdefinierten Aurora-Endpunkt anstelle des DB-Cluster-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="
mypostgres-cluster.cluster-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 einem DB-Cluster herstellen, finden Sie unter Herstellen einer Verbindung mit einem Proxy mithilfe der IAM-Authentifizierung.