Konfigurowanie protokołu TLS w usłudze Azure Cosmos DB for PostgreSQL
DOTYCZY: Usługa Azure Cosmos DB for PostgreSQL (obsługiwana przez rozszerzenie bazy danych Citus do bazy danych PostgreSQL)
Węzeł koordynacji wymaga, aby aplikacje klienckie łączyły się z protokołem Transport Layer Security (TLS). Wymuszanie protokołu TLS między serwerem bazy danych a aplikacjami klienckimi pomaga zachować poufne dane podczas przesyłania. Dodatkowe ustawienia weryfikacji opisane poniżej chronią również przed atakami typu "man-in-the-middle".
Wymuszanie połączeń TLS
Aplikacje używają "parametry połączenia", aby zidentyfikować docelową bazę danych i ustawienia połączenia. Różni klienci wymagają różnych ustawień. Aby wyświetlić listę parametry połączenia używanych przez typowych klientów, zapoznaj się z sekcją Parametry połączenia dla klastra w witrynie Azure Portal.
Parametry ssl
protokołu TLS i sslmode
różnią się w zależności od możliwości łącznika, na przykład ssl=true
lub sslmode=require
.sslmode=required
Upewnij się, że aplikacja lub struktura obsługuje połączenia TLS
Niektóre struktury aplikacji domyślnie nie włączają protokołu TLS dla połączeń PostgreSQL. Jednak bez bezpiecznego połączenia aplikacja nie może nawiązać połączenia z węzłem koordynacji. Zapoznaj się z dokumentacją aplikacji, aby dowiedzieć się, jak włączyć połączenia TLS.
Aplikacje wymagające weryfikacji certyfikatu na potrzeby łączności TLS
W niektórych przypadkach aplikacje wymagają lokalnego pliku certyfikatu wygenerowanego na podstawie pliku certyfikatu zaufanego urzędu certyfikacji (.cer) w celu bezpiecznego nawiązania połączenia. Certyfikat umożliwiający nawiązanie połączenia z usługą Azure Cosmos DB for PostgreSQL znajduje się w lokalizacji https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Pobierz plik certyfikatu i zapisz go w preferowanej lokalizacji.
Uwaga
Aby sprawdzić autentyczność certyfikatu, możesz zweryfikować jego odcisk palca SHA-256 przy użyciu narzędzia wiersza polecenia OpenSSL:
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
Nawiązywanie połączenia przy użyciu narzędzia psql
W poniższym przykładzie pokazano, jak nawiązać połączenie z węzłem koordynacji przy użyciu narzędzia wiersza polecenia psql. sslmode=verify-full
Użyj ustawienia parametry połączenia, aby wymusić weryfikację certyfikatu TLS. Przekaż ścieżkę pliku certyfikatu lokalnego do parametru sslrootcert
.
Poniżej przedstawiono przykład parametry połączenia psql:
psql "sslmode=verify-full sslrootcert=DigiCertGlobalRootG2.crt.pem host=c-mydemocluster.12345678901234.postgres.cosmos.azure.com dbname=citus user=citus password=your_pass"
Napiwek
Upewnij się, że wartość przekazana do elementu sslrootcert
jest zgodna ze ścieżką pliku zapisanego certyfikatu.
Uwaga
W przypadku hasła użyj hasła połączenia lub tokenu identyfikatora entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz opcje uwierzytelniania.
Następne kroki
Dalsze zwiększanie zabezpieczeń dzięki regułom zapory w usłudze Azure Cosmos DB for PostgreSQL.