在 Azure SQL 受控實例中設定最低 TLS 版本
[最小 傳輸層安全性 (TLS) 版本設定可讓客戶控制其 Azure SQL 受控實例所使用的 TLS 版本。
目前我們支援 TLS 1.0、1.1 和 1.2。 設定最低 TLS 版本可確保支持後續較新的 TLS 版本。 例如,選擇大於 1.1 的 TLS 版本。 表示只接受 TLS 1.1 和 1.2 的連線,並拒絕 TLS 1.0。 測試以確認您的應用程式支援之後,建議將最低 TLS 版本設定為 1.2,因為它包含舊版中找到的弱點修正,而且是 Azure SQL 受控實例中支援的最高 TLS 版本。
對於依賴舊版 TLS 的應用程式的客戶,建議您根據應用程式的需求設定最低 TLS 版本。 對於依賴應用程式使用未加密連線來連線的客戶,我們建議不要設定任何最低 TLS 版本。
如需詳細資訊,請參閱 SQL Database 連線的 TLS 考慮事項。
設定最低 TLS 版本之後,使用低於伺服器最低 TLS 版本的用戶端登入嘗試將會失敗,並出現下列錯誤:
Error 47072
Login failed with invalid TLS version
注意
當您設定最低 TLS 版本時,該最低版本會在應用層強制執行。 嘗試在通訊協定層判斷 TLS 支援的工具,除了直接對受控實例端點執行時所需的最低版本之外,還可以傳回 TLS 版本。
透過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"