共用方式為


在 Azure SQL 受控實例中設定最低 TLS 版本

重要

退休變更

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 入口網站 開啟支援票證。