在適用於 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) 憑證檔案所產生的本地憑證檔,才能安全地連接。 如需下載根 CA 憑證的詳細資訊,您可以 瀏覽此檔。 使用新的根 CA 憑證更新用戶端應用程式憑證存放區的詳細資訊已記載在此操作說明文件。
注意
適用於 PostgreSQL 的 Azure 資料庫彈性伺服器目前不支援自訂 SSL\TLS 憑證。
使用 psql 連線
如果您使用私人存取 (VNet 整合) 建立適用於 PostgreSQL 的 Azure 資料庫彈性伺服器執行個體,就必須從與伺服器相同的 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 連線。
下一步
- 使用 Azure CLI 建立和管理 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器虛擬網路。
- 深入瞭解 適用於 PostgreSQL 的 Azure 資料庫 中的網路功能 - 彈性伺服器
- 深入瞭解 適用於 PostgreSQL 的 Azure 資料庫 - 彈性伺服器防火牆規則