事件
在 Azure Cosmos DB for PostgreSQL 中設定 TLS
適用於: Azure Cosmos DB for PostgreSQL (由 PostgreSQL 的超大規模 (Citus) 資料庫延伸模組提供)
協調器節點需要用戶端應用程式才能與傳輸層安全性 (TLS) 連線。 在資料庫伺服器與用戶端應用程式之間強制執行 TLS 有助於讓資料在傳輸中保持機密。 下面所述的額外驗證設定也會防止「中間人」攻擊。
應用程式會使用「連接字串」來識別連接的目的地資料庫和設定。 不同的用戶端需要不同的設定。 若要查看常見用戶端所使用的連接字串清單,請參閱 Azure 入口網站中適用於您叢集的連接字串一節。
TLS 參數 ssl
和 sslmode
會根據連接器的功能而有所不同,例如 ssl=true
或 sslmode=require
或 sslmode=required
。
某些應用程式架構預設不會針對 PostgreSQL 連線啟用 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 命令列公用程式連線到協調器節點。 使用 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
的值與您所儲存憑證的檔案路徑相符。
注意
針對密碼,請使用您的連線密碼或Microsoft Entra ID 令牌。 如需詳細資訊,請參閱驗證選項。
透過 Azure Cosmos DB for PostgreSQL 中的防火牆規則進一步增加安全性。
其他資源
訓練
模組
保護適用於 PostgreSQL 的 Azure 資料庫 - Training
適用於 PostgreSQL 的 Azure 資料庫包含完整的安全性功能,包括傳輸中加密和待用加密、驗證,以及將許可權授與資料庫使用者。 在本課程模組中,您將了解適用於 PostgreSQL 的 Azure 資料庫的安全性功能,以及如何進行設定。
認證
Microsoft Certified: Azure Cosmos DB Developer Specialty - Certifications
透過 Microsoft Azure Cosmos DB 在 SQL API 和 SDK 中撰寫有效率的查詢、建立索引編製原則、管理及佈建資源。
文件
-
使用 Microsoft Entra ID 和原生 PostgreSQL 角色對 Azure Cosmos DB for PostgreSQL 進行驗證
了解如何設定 Microsoft Entra ID 並新增原生 PostgreSQL 角色,以對 Azure Cosmos DB for PostgreSQL 進行驗證
-
針對連線進行疑難排解 - Azure Cosmos DB for PostgreSQL
了解如何針對 Azure Cosmos DB for PostgreSQL 的連線問題進行疑難排解
-
連線至伺服器 - Azure Cosmos DB for PostgreSQL
了解如何連線及查詢 Azure Cosmos DB for PostgreSQL 叢集。