Udostępnij za pośrednictwem


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.