

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.

# Aktualisierung von Anwendungen für die Verbindung mit Aurora PostgreSQL-DB-Clustern mithilfe neuer Zertifikate SSL/TLS
<a name="ssl-certificate-rotation-aurora-postgresql"></a>

Seit dem 13. Januar 2023 hat Amazon RDS neue Certificate Authority (CA) -Zertifikate für die Verbindung zu Ihren Aurora-DB-Clustern mithilfe von Secure Socket Layer oder Transport Layer Security (SSL/TLS) veröffentlicht. Im Folgenden finden Sie Informationen dazu, wie Sie Ihre Anwendungen aktualisieren, um die neuen Zertifikate verwenden zu können.

Anhand dieses Themas können Sie feststellen, ob Client-Anwendungen für die Verbindung SSL/TLS zu Ihren DB-Clustern verwendet werden. Wenn dies der Fall ist, können Sie weiter überprüfen, ob diese Anwendungen zur Herstellung von Verbindungen Zertifikatverifizierungen erfordern. 

**Anmerkung**  
Einige Anwendungen sind so konfiguriert, dass sie nur dann Verbindungen mit Aurora PostgreSQL-DB-Clustern herstellen, wenn sie das Zertifikat auf dem Server erfolgreich identifizieren können.   
Für solche Anwendungen müssen Sie die Trust Stores Ihrer Client-Anwendung aktualisieren, damit diese die neuen CA-Zertifikate enthalten. 

Nach der Aktualisierung der CA-Zertifikate in den Trust Stores Ihrer Client-Anwendungen können Sie die Zertifikate auf Ihren DB-Clustern rotieren. Es wird nachdrücklich empfohlen, diese Verfahren vor der Implementierung in Produktionsumgebungen in einer Entwicklungs- oder Testumgebung zu testen.

Weitere Informationen zur Zertifikatrotation finden Sie unter [Ihr SSL/TLS Zertifikat rotieren](UsingWithRDS.SSL-certificate-rotation.md). Weitere Informationen zum Herunterladen von Zertifikaten finden Sie unter [Wird verwendet SSL/TLS , um eine Verbindung zu einer zu verschlüsseln](UsingWithRDS.SSL.md). Hinweise zur Verwendung SSL/TLS mit PostgreSQL-DB-Clustern finden Sie unter. [Sicherung von Aurora PostgreSQL-Daten mit SSL/TLS](AuroraPostgreSQL.Security.md#AuroraPostgreSQL.Security.SSL)

**Topics**
+ [Ermitteln, ob Anwendungen Verbindungen mit Aurora-PostgreSQL-DB-Clustern mithilfe von SSL herstellen](#ssl-certificate-rotation-aurora-postgresql.determining-server)
+ [Ermitteln, ob ein Client zum Herstellen von Verbindungen Zertifikatverifizierungen erfordert](#ssl-certificate-rotation-aurora-postgresql.determining-client)
+ [Aktualisieren des Trust Stores Ihrer Anwendung](#ssl-certificate-rotation-aurora-postgresql.updating-trust-store)
+ [SSL/TLS Verbindungen für verschiedene Arten von Anwendungen verwenden](#ssl-certificate-rotation-aurora-postgresql.applications)

## Ermitteln, ob Anwendungen Verbindungen mit Aurora-PostgreSQL-DB-Clustern mithilfe von SSL herstellen
<a name="ssl-certificate-rotation-aurora-postgresql.determining-server"></a>

Prüfen Sie die DB-Cluster-Konfiguration auf den Wert des `rds.force_ssl`-Parameters. Standardmäßig ist der Parameter `rds.force_ssl` auf `0` festgelegt. Wenn der `rds.force_ssl` Parameter auf `1` (on) gesetzt ist, müssen Clients ihn SSL/TLS für Verbindungen verwenden. Weitere Informationen zu Parametergruppen finden Sie unter [Parametergruppen für Amazon Aurora](USER_WorkingWithParamGroups.md).

Wenn `rds.force_ssl` nicht auf `1` (an) festgelegt ist, fragen Sie `pg_stat_ssl` ab, um zu prüfen, welche Verbindungen SSL verwenden. Beispielsweise gibt die folgende Abfrage nur SSL-Verbindungen und Informationen zu den Clients zurück, die SSL verwenden.

```
select datname, usename, ssl, client_addr from pg_stat_ssl inner join pg_stat_activity on pg_stat_ssl.pid = pg_stat_activity.pid where ssl is true and usename<>'rdsadmin';
```

Nur Zeilen, die SSL/TLS Verbindungen verwenden, werden mit Informationen über die Verbindung angezeigt. Dies ist eine Beispielausgabe.

```
 datname  | usename | ssl | client_addr
----------+---------+-----+-------------
 benchdb  | pgadmin | t   | 53.95.6.13
 postgres | pgadmin | t   | 53.95.6.13
(2 rows)
```

Die vorherige Abfrage zeigt nur die aktuellen Verbindungen zum Zeitpunkt der Abfrage an. Das Fehlen von Ergebnissen weist nicht darauf hin, dass es keine Anwendungen gibt, die SSL-Verbindungen verwenden. Möglicherweise werden zu anderen Zeitpunkten weitere SSL-Verbindungen hergestellt.

## Ermitteln, ob ein Client zum Herstellen von Verbindungen Zertifikatverifizierungen erfordert
<a name="ssl-certificate-rotation-aurora-postgresql.determining-client"></a>

Wenn ein Client wie psql oder JDBC mit SSL-Unterstützung konfiguriert ist, versucht dieser zunächst standardmäßig, die Verbindung zur Datenbank über SSL herzustellen. Wenn der Client keine Verbindung über SSL herstellen kann, stellt er die Verbindung ohne SSL her. Der für libpq-basierte Clients (wie psql) und JDBC verwendete `sslmode`-Standardmodus wird auf `prefer` festgelegt. Das Zertifikat auf dem Server wird nur verifiziert, wenn `sslrootcert` angegeben und die Einstellung für `sslmode` auf `verify-ca` oder `verify-full` festgelegt ist. Wenn das Zertifikat ungültig ist, wird ein Fehler ausgelöst.

Verwenden Sie `PGSSLROOTCERT` zur Verifizierung des Zertifikats mit der Umgebungsvariablen `PGSSLMODE`, wobei `PGSSLMODE` auf `verify-ca` oder `verify-full` festgelegt wird. 

```
PGSSLMODE=verify-full PGSSLROOTCERT=/fullpath/{{ssl-cert.pem}} psql -h pgdbidentifier.cxxxxxxxx.us-east-2.rds.amazonaws.com -U primaryuser -d postgres
```

Verwenden Sie das Argument `sslrootcert` zur Verifizierung des Zertifikats mit `sslmode` im Verbindungszeichenfolgenformat, wobei `sslmode` auf `verify-ca` oder `verify-full` festgelegt ist. 

```
psql "host=pgdbidentifier.cxxxxxxxx.us-east-2.rds.amazonaws.com sslmode=verify-full sslrootcert=/full/path/{{ssl-cert.pem}} user=primaryuser dbname=postgres"
```

Wenn Sie beispielsweise in vorherigen Fall ein ungültiges Stammzertifikat verwenden, sehen Sie auf Ihrem Client einen Fehler ähnlich dem folgenden.

```
psql: SSL error: certificate verify failed
```

## Aktualisieren des Trust Stores Ihrer Anwendung
<a name="ssl-certificate-rotation-aurora-postgresql.updating-trust-store"></a>

Informationen zur Aktualisierung des Vertrauensspeichers für PostgreSQL-Anwendungen finden Sie unter [Sichere TCP/IP Verbindungen mit SSL](https://www.postgresql.org/docs/current/ssl-tcp.html) in der PostgreSQL-Dokumentation.

**Anmerkung**  
Wenn Sie den Trust Store aktualisieren, können Sie ältere Zertifikate beibehalten und die neuen Zertifikate einfach hinzufügen.

### Aktualisieren des Trust Stores Ihrer Anwendung für JDBC
<a name="ssl-certificate-rotation-aurora-postgresql.updating-trust-store.jdbc"></a>

Sie können den Trust Store für Anwendungen aktualisieren, die JDBC für Verbindungen verwenden. SSL/TLS 

Informationen zum Herunterladen des Stammverzeichnisses finden Sie unter [Wird verwendet SSL/TLS , um eine Verbindung zu einer zu verschlüsseln](UsingWithRDS.SSL.md).

Beispiele für Skripte, die Zertifikate importieren, finden Sie unter [Beispielskript für den Import von Zertifikaten in Ihren Trust Store](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-sample-script).

## SSL/TLS Verbindungen für verschiedene Arten von Anwendungen verwenden
<a name="ssl-certificate-rotation-aurora-postgresql.applications"></a>

Im Folgenden finden Sie Informationen zur Verwendung von SSL/TLS Verbindungen für verschiedene Arten von Anwendungen:
+ **psql**

  Der Client wird über die Befehlszeile durch die Angabe von Optionen als Verbindungszeichenfolge oder Umgebungsvariablen aufgerufen. Für SSL/TLS Verbindungen sind die relevanten Optionen `sslmode` (Umgebungsvariable`PGSSLMODE`), `sslrootcert` (Umgebungsvariable`PGSSLROOTCERT`) relevant.

  Die vollständige Liste der Optionen finden Sie unter [Parameter Key Words](https://www.postgresql.org/docs/11/libpq-connect.html#LIBPQ-PARAMKEYWORDS) in der PostgreSQL-Dokumentation. Die vollständige Liste der Umgebungsvariablen finden Sie unter [Environment Variables](https://www.postgresql.org/docs/current/libpq-envars.html) in der PostgreSQL-Dokumentation.
+ **pgAdmin**

  Dieser browserbasierte Client bietet eine benutzerfreundlichere Oberfläche zum Herstellen von Verbindungen mit PostgreSQL-Datenbanken.

  Informationen zum Konfigurieren von Verbindungen finden Sie in der [pgAdmin-Dokumentation](https://www.pgadmin.org/docs/pgadmin4/latest/server_dialog.html).
+ **JDBC**

  JDBC ermöglicht Datenbankverbindungen mit Java-Anwendungen.

  Allgemeine Informationen zum Herstellen von Verbindungen mit PostgreSQL-Datenbanken über JDBC finden Sie unter [Connecting to the Database](https://jdbc.postgresql.org/documentation/use/) in der PostgreSQL-Dokumentation. Informationen zum Herstellen einer Verbindung mit SSL/TLS finden Sie unter [Konfiguration des Clients](https://jdbc.postgresql.org/documentation/ssl/) in der PostgreSQL-Dokumentation. 
+ **Python**

  Eine verbreitet für die Herstellung von Verbindungen mit PostgreSQL-Datenbanken verwendete Python-Bibliothek ist `psycopg2`.

  Informationen zum Verwenden von `psycopg2` finden Sie in der [psycopg2-Dokumentation](https://pypi.org/project/psycopg2/). Ein kurzes Tutorial zum Herstellen von Verbindungen mit PostgreSQL-Datenbanken finden Sie unter [Psycopg2-Tutorial](https://wiki.postgresql.org/wiki/Psycopg2_Tutorial). Informationen zu den vom Verbindungsbefehl akzeptierten Optionen finden Sie unter [psycopg2-Modulinhalte](https://www.psycopg.org/docs/module.html).

**Wichtig**  
Nachdem Sie festgestellt haben, dass Ihre Datenbankverbindungen Ihren Anwendungs-Truststore verwenden, SSL/TLS und Ihren Anwendungs-Truststore aktualisiert haben, können Sie Ihre Datenbank so aktualisieren, dass sie die rds-ca-rsa2048-g1-Zertifikate verwendet. Anleitungen hierzu finden Sie in Schritt 3 unter [Aktualisieren des CA-Zertifikats durch Ändern der DB-Instance](UsingWithRDS.SSL-certificate-rotation.md#UsingWithRDS.SSL-certificate-rotation-updating).