重要
退休變更
Azure 已宣布支援舊版 TLS(TLS 1.0 和 1.1)將於 2025 年 8 月 31 日結束。 如需詳細資訊,請參閱 淘汰 TLS 1.0 和 1.1。 從 2024 年 11 月開始,您將無法再將 Azure SQL 受控執行個體用戶端連線設定為低於 TLS 1.2 的最低 TLS 版本。
最低 傳輸層安全性 (TLS) 版本設定可讓客戶控制其 Azure SQL 受控執行個體所使用的 TLS 版本。
將 最低 TLS 版本 設定為 1.2 是針對 SQL 受控實例的當前強制要求。 設定最低 TLS 版本可確保支援後續較新的 TLS 版本。 僅接受使用 TLS 1.2 或更高版本的連線。
如需詳細資訊,請參閱 SQL Database 連線的 TLS 考慮事項。
設定最低 TLS 版本後,使用低於伺服器最低 TLS 版本的 TLS 版本的用戶端嘗試登入將會失敗,並出現下列錯誤:
Error 47072
Login failed with invalid TLS version
注意
- 當您設定最低 TLS 版本時,該最低版本會在應用層強制執行。 嘗試在通訊協定層判斷 TLS 支援的工具,在直接針對受控執行個體端點執行時,除了最低必要版本之外,還可能會傳回 TLS 版本。
- TLS 1.0 和 1.1 已 淘汰 ,不再可用。
透過PowerShell設定最低TLS版本
注意
本文使用 Azure Az PowerShell 模組,這是與 Azure 互動的建議 PowerShell 模組。 若要開始使用 Az PowerShell 模組,請參閱 安裝 Azure PowerShell。 若要瞭解如何移轉至 Az PowerShell 模組,請參閱 將 Azure PowerShell 從 AzureRM 遷移至 Az。
重要
PowerShell Azure Resource Manager (AzureRM) 模組已於 2024 年 2 月 29 日淘汰。 所有未來的開發都應該使用 Az.Sql 模組。 建議使用者從 AzureRM 遷移至 Az PowerShell 模組,以確保持續支援和更新。 不再維護或支援 AzureRM 模組。 Az PowerShell 模組和 AzureRM 模組中命令的自變數基本上完全相同。 如需相容性的詳細資訊,請參閱 新 Az PowerShell 模組簡介。
下列文稿需要 Azure PowerShell 模組。
下列 PowerShell 腳本示範如何在實例層級對Get 屬性執行Set和操作:
#Get the Minimal TLS Version property
(Get-AzSqlInstance -Name sql-instance-name -ResourceGroupName resource-group).MinimalTlsVersion
# Update Minimal TLS Version Property
Set-AzSqlInstance -Name sql-instance-name -ResourceGroupName resource-group -MinimalTlsVersion "1.2"
透過 Azure CLI 設定最低 TLS 版本
重要
本節中的所有腳本都需要 Azure CLI。
Bash Shell 中的 Azure CLI
下列 CLI 腳本示範如何在 bash 殼層中變更 最低 TLS 版本 設定:
# Get current setting for Minimal TLS Version
az sql mi show -n sql-instance-name -g resource-group --query "minimalTlsVersion"
# Update setting for Minimal TLS Version
az sql mi update -n sql-instance-name -g resource-group --set minimalTlsVersion="1.2"
即將推出的 TLS 1.0 和 1.1 淘汰變更常見問題集
Azure 已宣布支援舊版 TLS(TLS 1.0 和 1.1)將於 2025 年 8 月 31 日結束。 如需詳細資訊,請參閱 淘汰 TLS 1.0 和 1.1。
從 2024 年 11 月開始,您將無法再將 Azure SQL 資料庫和 Azure SQL 受控執行個體用戶端連線設定為低於 TLS 1.2 的最低 TLS 版本。
為什麼 TLS 1.0 和 1.1 要淘汰?
TLS 1.0 和 1.1 版本已過時,不再符合現代安全標準。 他們即將退休:
- 減少已知漏洞的暴露。
- 符合行業最佳實踐和合規性要求。
- 確保用戶端使用更強的加密協定,例如 TLS 1.2 或 TLS 1.3。
如果在 2025 年 8 月 31 日之後使用 TLS 1.0 和 1.1,會發生什麼情況?
2025 年 8 月 31 日之後,將不再支援 TLS 1.0 和 1.1,使用 TLS 1.0 和 1.1 的連線可能會失敗。 在截止日期之前過渡到最低 TLS 1.2 或更高版本至關重要。
如何檢查我的 SQL Database、SQL 受控執行個體、Cosmos DB 或 MySQL 執行個體是否使用 TLS 1.0/1.1?
若要識別使用 TLS 1.0 和 1.1 連線到 Azure SQL 資料庫的用戶端,必須啟用 SQL 稽核記錄 。 啟用稽核後,您可以檢視用戶端連線。
若要識別使用 TLS 1.0 和 1.1 連線到 Azure SQL 受控執行個體的用戶端,必須啟用 稽核 。 啟用稽核後 ,您可以使用 Azure 儲存體、事件中樞或 Azure 監視器記錄來檢視用戶端連線。
若要驗證 Azure Cosmos DB 的最低 TLS 版本,請使用 Azure CLI 或 Azure PowerShell 取得 屬性的
minimalTlsVersion目前值 。若要確認針對適用於 MySQL 的 Azure 資料庫伺服器設定的最低 TLS 版本,請使用 MySQL 命令列介面檢查伺服器參數的
tls_version值,以瞭解已設定的通訊協定。
如果我已設定 TLS 1.2,為什麼我的服務會被標記?
服務可能會因為下列原因而錯誤地標示:
- 舊版用戶端間歇性後援至舊版 TLS。
- 未強制執行 TLS 1.2 的用戶端程式庫或連接字串設定錯誤。
- 偵測邏輯中的遙測延遲或誤判。
如果我收到錯誤的退休通知書,我該怎麼辦?
如果您的伺服器或資料庫已設定最低 TLS 1.2,或設定為沒有最低 TLS (對應至 minimalTLSVersion的 SQL Database 和 SQL 受控執行個體0中的預設設定) ,並使用 1.2 連線,則不需要採取任何動作。
如果我的應用程式或用戶端程式庫不支援 TLS 1.2,會發生什麼事?
停用 TLS 1.0/1.1 後,連線將會失敗。 您必須將用戶端程式庫、驅動程式或架構升級至支援 TLS 1.2 的版本。
如果我的伺服器設定為沒有最低 TLS 版本,該怎麼辦?
設定沒有最低 TLS 版本並使用 TLS 1.0/1.1 連線的伺服器應升級至最低 TLS 1.2 版。 對於配置沒有最低 TLS 版本並使用 1.2 連線的伺服器,不需要採取任何動作。 對於配置沒有最低 TLS 版本且使用加密連線的伺服器,不需要採取任何動作。
如何收到有關資源的 TLS 淘汰通知?
電子郵件提醒將繼續提供,直到 8 月淘汰 TLS 1.0 和 1.1。
如果我需要驗證或更新 TLS 設定的協助,可以聯絡誰?
如果您需要驗證或更新 TLS 設定的協助,請連絡 Microsoft Q&A ,或如果您有支援方案,請使用 Azure 入口網站 開啟支援票證。