適用於 MySQL 的 Azure 資料庫 中的 SSL/TLS 連線能力

適用於: 適用於 MySQL 的 Azure 資料庫 - 單一伺服器

重要

適用於 MySQL 的 Azure 資料庫單一伺服器位於淘汰路徑上。 強烈建議您升級至適用於 MySQL 的 Azure 資料庫彈性伺服器。 如需移轉至適用於 MySQL 的 Azure 資料庫彈性伺服器的詳細資訊,請參閱 適用於 MySQL 的 Azure 資料庫單一伺服器會發生什麼事?

適用於 MySQL 的 Azure 資料庫支援使用安全通訊端層 (SSL) 將資料庫伺服器連線到用戶端應用程式。 在資料庫伺服器與用戶端應用程式之間強制執行 SSL 連線,藉由加密伺服器與應用程式之間的資料流程,協助防範「中間人」攻擊。

注意

更新 require_secure_transport 伺服器參數值不會影響 MySQL 服務的行為。 使用本文中所述的 SSL 和 TLS 強制執行功能來保護資料庫的連線。

注意

根據客戶的意見反應,我們已將現有 Baltimore 根 CA 的根憑證取代延伸至 2021 年 2 月 15 日(2021/02/15)。

重要

SSL 根憑證設定為從 2021 年 2 月 15 日起到期 (2021/02/15)。 請更新您的應用程式以使用 新的憑證 。 若要深入瞭解,請參閱 計劃性憑證更新

SSL 預設設定

根據預設,資料庫服務應該設定為在連線到 MySQL 時需要 SSL 連線。 建議您盡可能避免停用 SSL 選項。

透過 Azure 入口網站 和 CLI 布建新的適用於 MySQL 的 Azure 資料庫伺服器時,預設會啟用 SSL 連線的強制執行。

各種程式設計語言的連線字串會顯示在Azure 入口網站中。 這些連接字串包含連線到資料庫所需的 SSL 參數。 在Azure 入口網站中,選取您的伺服器。 在 設定 標題下,選取 連線字串 。 SSL 參數會根據連接器而有所不同,例如 「ssl=true」 或 「sslmode=require」 或 「sslmode=required」 和其他變化。

在某些情況下,應用程式需要從受信任的憑證授權單位單位 (CA) 憑證檔案產生的本機憑證檔案,才能安全地連線。 目前客戶只能 使用 預先定義的憑證來連線到位於 的 適用於 MySQL 的 Azure 資料庫 伺服器 https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem

同樣地,下列連結會指向主權雲端中伺服器的憑證: Azure Government 由 21Vianet Azure 德國 營運的 Microsoft Azure。

若要瞭解如何在開發應用程式時啟用或停用 SSL 連線,請參閱 如何設定 SSL

適用於 MySQL 的 Azure 資料庫 中的 TLS 強制執行

適用於 MySQL 的 Azure 資料庫支援使用傳輸層安全性 (TLS) 連線到資料庫伺服器的用戶端加密。 TLS 是業界標準通訊協定,可確保資料庫伺服器與用戶端應用程式之間的網路連線安全,讓您遵守合規性需求。

TLS 設定

適用於 MySQL 的 Azure 資料庫可讓您強制執行用戶端連線的 TLS 版本。 若要強制執行 TLS 版本,請使用 [ 最低 TLS 版本] 選項設定。 此選項設定允許下列值:

最小 TLS 設定 支援的用戶端 TLS 版本
TLSEnforcementDisabled (預設值) 不需要 TLS
TLS1_0 TLS 1.0、TLS 1.1、TLS 1.2 和更新版本
TLS1_1 TLS 1.1、TLS 1.2 和更新版本
TLS1_2 TLS 1.2 版和更新版本

例如,將最低 TLS 設定版本的值設定為 TLS 1.0 表示您的伺服器允許使用 TLS 1.0、1.1 和 1.2+ 的用戶端連線。 或者,將此設定為 1.2 表示您只允許使用 TLS 1.2+ 的用戶端連線,且所有使用 TLS 1.0 和 TLS 1.1 的連線都將遭到拒絕。

注意

根據預設,適用於 MySQL 的 Azure 資料庫不會強制執行最低 TLS 版本(設定 TLSEnforcementDisabled )。

強制執行最低 TLS 版本之後,您之後就無法停用最低版本強制執行。

伺服器上線時,不需要重新開機伺服器的最低 TLS 版本設定。 若要瞭解如何設定適用於 MySQL 的 Azure 資料庫的 TLS 設定,請參閱 如何設定 TLS 設定

適用於 MySQL 的 Azure 資料庫單一伺服器的加密支援

在 SSL/TLS 通訊中,加密套件會經過驗證,且只允許支援加密套件與資料庫伺服器通訊。 加密套件驗證是在閘道層 控制,而不是明確控制在節點本身上。 如果加密套件不符合下面所列的其中一個套件,將會拒絕連入用戶端連線。

支援的加密套件

  • TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  • TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256

下一步