Herstellen einer Verbindung mit Ihrem DB--Cluster mithilfe der IAM-Authentifizierung von der Befehlszeile aus: AWS CLI und psql-Client - Amazon Aurora

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.

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 --port 5432 --region us-west-2 --username jane_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ält

    Weitere Informationen finden Sie unter Sicherung von Aurora-PostgreSQL-Daten mit SSL/TLS.

    Zum Download eines SSL-Zertifikats siehe Verwenden von SSL/TLS zum 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 --port 5432 --region us-west-2 --username jane_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.