共用方式為


在 Azure Cosmos DB for PostgreSQL 中設定 TLS

適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)

協調器節點需要用戶端應用程式才能與傳輸層安全性 (TLS) 連線。 在資料庫伺服器與用戶端應用程式之間強制執行 TLS 有助於讓資料在傳輸中保持機密。 下面所述的額外驗證設定也會防止「中間人」攻擊。

強制使用 TLS 連線

應用程式會使用「連接字串」來識別連接的目的地資料庫和設定。 不同的用戶端需要不同的設定。 若要查看常見用戶端所使用的連接字串清單,請參閱 Azure 入口網站中適用於您叢集的連接字串一節。

TLS 參數 sslsslmode 會根據連接器的功能而有所不同,例如 ssl=truesslmode=requiresslmode=required

確定您的應用程式或架構支援 TLS 連線

某些應用程式架構預設不會針對 PostgreSQL 連線啟用 TLS。 不過,如果沒有安全連線,應用程式就無法連線到協調器節點。 請參閱您的應用程式文件,以了解如何啟用 TLS 連線。

需要憑證驗證才能啟用 TLS 連線能力的應用程式

在某些情況下,應用程式需要從受信任憑證授權單位 (CA) 憑證檔案 (.cer) 所產生的本機憑證檔,才能安全地連接。 用來連線至 Azure Cosmos DB for PostgreSQL 的憑證位於 https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem。 下載憑證檔案,並將其儲存至您慣用的位置。

注意

若要檢查憑證的真實性,您可以使用 OpenSSL 命令列工具來驗證其 SHA-256 指紋:

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 命令列公用程式連線到協調器節點。 使用 sslmode=verify-full 連接字串設定來強制執行 TLS/SSL 憑證驗證。 將本機憑證檔案路徑傳遞至 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 for PostgreSQL 中的防火牆規則進一步增加安全性。