你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 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 数据库连接的 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 资源管理器(AzureRM)模块已于 2024 年 2 月 29 日弃用。 所有未来的开发都应使用 Az.Sql 模块。 建议用户从 AzureRM 迁移到 Az PowerShell 模块,以确保持续支持和更新。 不再维护或支持 AzureRM 模块。 Az PowerShell 模块和 AzureRM 模块中命令的参数基本相同。 有关兼容性的详细信息,请参阅 介绍新的 Az PowerShell 模块。
以下脚本需要 Azure PowerShell 模块。
以下 PowerShell 脚本演示如何在实例级别 Get
和 Set
“最低 TLS 版本”属性:
#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 shell 中更改 最低 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"