Konfigurieren von TLS in Azure Cosmos DB for PostgreSQL

GILT FÜR: Azure Cosmos DB for PostgreSQL (unterstützt von der Citus-Datenbankerweiterung auf PostgreSQL)

Der Koordinatorknoten erfordert, dass Clientanwendungen eine Verbindung mit Transport Layer Security (TLS) herstellen. Durch Erzwingen von TLS zwischen Datenbankserver und Clientanwendungen bleiben vertrauliche Daten auch während der Übertragung sicher. Die weiter unten beschriebenen zusätzlichen Überprüfungseinstellungen schützen auch vor „Man-in-the-Middle“-Angriffen.

Erzwingen von TLS-Verbindungen

Anwendungen verwenden eine so genannte Verbindungszeichenfolge, um die Zieldatenbank zu identifizieren und die Einstellungen für eine Verbindung zu ermitteln. Verschiedene Clients erfordern verschiedene Einstellungen. Eine Liste der Verbindungszeichenfolgen, die von gängigen Clients verwendet werden, finden Sie im Abschnitt Verbindungszeichenfolgen für Ihren Cluster im Azure-Portal.

Die TLS-Parameter ssl und sslmode variieren je nach Funktionen des Connectors, z. B. ssl=true oder sslmode=require oder sslmode=required.

Sicherstellen, dass die Anwendung oder das Framework TLS-Verbindungen unterstützt

Einige Anwendungsframeworks aktivieren TLS nicht standardmäßig für PostgreSQL-Verbindungen. Ohne sichere Verbindung kann eine Anwendung jedoch keine Verbindung mit dem Koordinatorknoten herstellen. Lesen Sie in der Dokumentation Ihrer Anwendung nach, wie TLS-Verbindungen aktiviert werden.

Anwendungen, die eine Zertifikatüberprüfung für TLS-Verbindungen erfordern

In einigen Fällen erfordern Anwendungen eine lokale Zertifikatdatei, die aus der Zertifikatdatei (CER) einer vertrauenswürdigen Zertifizierungsstelle (Certificate Authority, CA) generiert wurde, um eine sichere Verbindung herzustellen. Das Zertifikat für die Verbindungsherstellung mit Azure Cosmos DB for PostgreSQL-Server befindet sich unter https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Laden Sie die Zertifikatdatei herunter, und speichern Sie sie am gewünschten Ort.

Hinweis

Um die Echtheit des Zertifikats zu überprüfen, können Sie mithilfe des OpenSSL-Befehlszeilentools den SHA-256-Fingerabdruck verifizieren:

openssl x509 -in DigiCertGlobalRootG2.crt.pem -noout -sha256 -fingerprint

# should output:
# CB:3C:CB:B7:60:31:E5:E0:13:8F:8D:D3:9A:23:F9:DE:47:FF:C3:5E:43:C1:14:4C:EA:27:D4:6A:5A:B1:CB:5F

Herstellen einer Verbindung mit psql

Das folgende Beispiel zeigt, wie Sie mit dem Befehlszeilenprogramm „psql“ eine Verbindung mit dem Koordinatorknoten herstellen. Verwenden Sie die Einstellung sslmode=verify-full für die Verbindungszeichenfolge, um die Überprüfung des TLS-Zertifikats zu erzwingen. Übergeben Sie den Pfad der lokalen Zertifikatdatei an den Parameter sslrootcert.

Unten ist ein Beispiel für die psql-Verbindungszeichenfolge angegeben:

psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"

Tipp

Vergewissern Sie sich, dass der Wert, den Sie an sslrootcert übergeben haben, mit dem Dateipfad für das von Ihnen gespeicherte Zertifikat übereinstimmt.

Nächste Schritte

Optimieren Sie die Sicherheit mit Firewallregeln in Azure Cosmos DB for PostgreSQL.