Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Azure Cosmos DB für PostgreSQL wird für neue Projekte nicht mehr unterstützt. Verwenden Sie diesen Dienst nicht für neue Projekte. Verwenden Sie stattdessen einen der folgenden beiden Dienste:
Verwenden Sie für hochskalige Szenarien eine verteilte Datenbanklösung mit Azure Cosmos DB für NoSQL, die ein 99,999%iges Verfügbarkeits-Service-Level-Agreement (SLA), eine sofortige Autoskalierung und ein automatisches regionenübergreifendes Failover bietet.
Verwenden Sie die Elastic Clusters-Funktion von Azure Database for PostgreSQL für geshartete PostgreSQL-Datenbanken mithilfe der Open-Source-Erweiterung Citus.
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 Verbindung mit Azure Cosmos DB für PostgreSQL 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.
Hinweis
Verwenden Sie als Passwort Ihr Verbindungspasswort oder Ihren Microsoft Entra ID-Token. Weitere Informationen finden Sie unter Authentifizierungsoptionen.
Nächste Schritte
Optimieren Sie die Sicherheit mit Firewallregeln in Azure Cosmos DB for PostgreSQL.