適用於 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 預設設定
根據預設,資料庫服務應該會設定為在連接至 MySQL時需要 SSL 連接。 建議盡可能地避免停用 SSL 選項。
透過 Azure 入口網站和 CLI 佈建新的適用於 MySQL 的 Azure 資料庫伺服器時,預設會強制執行 SSL 連接。
Azure 入口網站中會顯示多種程式設計語言的連接字串。 這些連接字串包含連接到您資料庫所需的 SSL 參數。 在 Azure 入口網站中選取您的伺服器。 在下 [設定] 標題之下,選取 [連接字串]。 SSL 參數會根據連接器而有所不同,例如,"ssl=true" 或 "sslmode=require" 或 "sslmode=required" 及其他變化。
在某些案例下,應用程式需要從受信任憑證授權單位 (CA) 憑證檔案所產生的本地憑證檔,才能安全地連接。 目前客戶只能使用預先定義的憑證來連線到位於https://cacerts.digicert.com/DigiCertGlobalRootG2.crt.pem的適用於 MySQL 的 Azure 資料庫伺服器。
同樣地,下列連結指向主權雲端的伺服器憑證:Azure Government、由 21Vianet 營運的 Microsoft Azure 和 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
下一步
- 適用於 MySQL 的 Azure 資料庫的連線庫
- 瞭解如何 設定 SSL
- 瞭解如何 設定 TLS