Настройка TLS в Azure Cosmos DB для PostgreSQL

ПРИМЕНИМО К: Azure Cosmos DB для PostgreSQL (на базе расширения базы данных Citus для PostgreSQL)

Узел-координатор требует, чтобы клиентские приложения подключались по протоколу TLS. Применение протокола TLS для подключений между сервером базы данных и клиентскими приложениями помогает обеспечивать конфиденциальность данных при их передаче. Дополнительные параметры проверки, описанные ниже, также защищают от атак "злоумышленник в середине".

Применение TLS-подключений

Приложения используют "строку подключения" для определения целевой базы данных и параметров подключения. Для разных клиентов нужны разные параметры. Список строк подключения, используемых обычными клиентами, см. в разделе Строки подключения для кластера в портал Azure.

Параметры TLS ssl и sslmode будут разными в зависимости от возможностей соединителя, например ssl=true, sslmode=require или sslmode=required.

Проверка поддержки TLS-подключений приложением или платформой

Некоторые платформы приложений не включают TLS по умолчанию для подключений PostgreSQL. Однако без безопасного подключения приложение не сможет подключиться к узлу-координатору. Сведения о включении TLS-подключений можно найти в документации приложения.

Приложения, требующие проверки сертификата для TLS-подключений

В некоторых случаях для безопасного подключения приложениям требуется локальный файл сертификата, созданный из файла сертификата (CER-файла) доверенного центра сертификации. Сертификат для подключения к Azure Cosmos DB для PostgreSQL находится по адресу https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem. Скачайте файл сертификата и сохраните его в предпочтительном расположении.

Примечание

Чтобы проверить подлинность сертификата, вы можете проверить его отпечаток SHA-256 с помощью программы командной строки 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

Подключение с помощью psql

В следующем примере показано, как подключиться к узлу координатора с помощью программы командной строки psql. Для принудительной проверки сертификата TLS используйте параметр sslmode=verify-full. Передайте путь к локальному файлу сертификата параметру sslrootcert.

Ниже приведен пример строки подключения psql.

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

Совет

Убедитесь, что значение, передаваемое параметру sslrootcert, соответствует пути к сохраненному файлу сертификата.

Дальнейшие действия

Еще больше повысьте безопасность с помощью правил брандмауэра в Azure Cosmos DB для PostgreSQL.