在適用於 PostgreSQL 的 Azure 資料庫中使用傳輸層安全性的加密連線 - 彈性伺服器

適用於:適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器

適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器支援使用傳輸層安全性(TLS)將用戶端應用程式連線到 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器,先前稱為安全套接字層(SSL)。 TLS 為業界標準通訊協定,可確保資料庫伺服器與用戶端應用程式之間的網路連線經過加密,讓您遵守合規性需求。

適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器支援使用傳輸層安全性 (TLS 1.2+) 的加密連線,且所有使用 TLS 1.0 和 TLS 1.1 的連入連線都將遭到拒絕。 針對所有 適用於 PostgreSQL 的 Azure 資料庫 啟用強制執行 TLS 連線的彈性伺服器實例。

注意

根據預設,系統會在用戶端與伺服器之間強制執行安全連線。 如果您想要停用 TLS/SSL 以連線至 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器,您可以將伺服器參數require_secure_transport變更為 OFF。 您也可以設定ssl_max_protocol_version伺服器參數來設定 TLS 版本。

需要 TLS/SSL 連線憑證驗證的應用程式

在某些情況下,應用程式需要從受信任的證書頒發機構單位 (CA) 憑證檔案產生的本機憑證檔案,才能安全地連線。 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器使用DigiCert 全域根 CA。 下載此憑證,以透過SSL從 DigiCert Global Root CA 進行通訊,並將憑證檔案儲存至您慣用的位置。 例如,本教學課程使用 c:\ssl

使用 psql 連線

如果您建立 適用於 PostgreSQL 的 Azure 資料庫 具有私人存取權的彈性伺服器實例(VNet 整合),則必須從與伺服器相同的 VNet 內的資源連線到您的伺服器。 您可以建立虛擬機,並將其新增至使用 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例建立的 VNet。

如果您使用公用存取(允許的IP位址)建立 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例,您可以將本機IP位址新增至您伺服器上的防火牆規則清單。

下列範例示範如何使用 psql 命令行介面連線到您的伺服器。 sslmode=verify-full 使用 連接字串 設定來強制執行 TLS/SSL 憑證驗證。 將本機憑證檔案路徑傳遞至 sslrootcert 參數。

 psql "sslmode=verify-full sslrootcert=c:\\ssl\DigiCertGlobalRootCA.crt.pem host=mydemoserver.postgres.database.azure.com dbname=postgres user=myadmin"

注意

確認傳遞至 sslrootcert 的值符合您所儲存憑證的檔案路徑。

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

某些針對其資料庫服務使用 PostgreSQL 的應用程式架構預設不會在安裝期間啟用 TLS。 您的 適用於 PostgreSQL 的 Azure 資料庫 彈性伺服器實例會強制執行 TLS 連線,但如果應用程式未針對 TLS 設定,應用程式可能無法連線到資料庫伺服器。 請參閱應用程式的檔,以瞭解如何啟用 TLS 連線。

下一步