重要
注意:根据世纪互联发布的公告,2026 年 8 月 18 日,中国地区的 Azure 中将正式停用所有 Microsoft Defender for Cloud 功能。
Microsoft Defender for Cloud 为 Azure SQL 数据库提供了漏洞评估。 漏洞评估会扫描数据库中的软件漏洞,并提供发现结果列表。 你可以利用发现结果来修复软件漏洞并禁用它们。
先决条件
在继续操作之前,请确定你使用的是快速配置还是经典配置。
若要确定配置,请执行以下操作:
在 Azure 门户中打开 Azure SQL 数据库、SQL 托管实例或 Azure Synapse 中的特定资源。
在“安全性”下,选择“Defender for Cloud”。
在“启用状态”中,选择“配置”以打开适用于整个服务器和托管实例的 Microsoft Defender for SQL 设置。
如果漏洞设置显示用于配置存储帐户的选项,则你使用的是经典配置。 否则,你使用的是快速配置。
查看扫描历史记录
选择漏洞评估窗格中的“扫描历史记录”,查看以前对此数据库运行的所有扫描的历史记录。
禁用 Microsoft Defender for Cloud 的特定检测结果(预览)
如果需要忽略查找结果而不是修正它,可以将其禁用。 禁用发现结果不会影响安全功能分数,也不会产生噪音。
当发现结果与禁用规则条件匹配时,它不会显示在发现结果列表中。 典型方案可能包括:
- 禁用严重性中等或更低的发现结果。
- 禁用不可修补的发现结果。
- 禁用与特定范围无关的基准检查结果。
重要
- 若要禁用特定发现结果,你需要拥有在 Azure Policy 中编辑策略的权限。 若要了解详细信息,请参阅 Azure Policy 中的 Azure RBAC 权限。
- 禁用的发现结果仍会包含在每周 SQL 漏洞评估电子邮件报告中。
- 禁用的规则显示在扫描结果的“不适用”部分中。
禁用规则
Defender for Cloud 提供了禁用特定发现结果的方法。
登录到 Azure 门户。
导航到Microsoft Defender for Cloud>建议。
搜索并选择“应修正关于计算机上 SQL 服务器的漏洞评估结果”。
选择 禁用规则。
选择范围。
定义条件。 可使用以下条件:
- 正在查找 ID
- 严重程度
- 基准
选择 应用规则。
更改可能需要 24 小时才能生效。
查看、替代或删除规则
选择 禁用规则。
在范围列表中,具有有效规则的订阅显示为“已应用规则”。
若要查看或删除规则,请选择省略号菜单(“...”)。
以编程方式管理漏洞评估
Azure PowerShell
注释
本文使用 Azure Az PowerShell 模块,这是与 Azure 交互时使用的 PowerShell 模块。 若要开始使用 Az PowerShell 模块,请参阅安装 Azure PowerShell。
可以使用 Azure PowerShell cmdlet 以编程方式管理漏洞评估。 受支持的 cmdlet 如下:
有关脚本示例,请参阅 Azure SQL 漏洞评估 PowerShell 支持。
Azure CLI
重要
以下 Azure CLI 命令适用于在 VM 或本地计算机上托管的 SQL 数据库。 有关涉及 Azure SQL 数据库的漏洞评估,请参阅“Azure 门户”或“PowerShell”部分。
可以使用 Azure CLI 命令以编程方式管理漏洞评估。 支持的命令为:
| 链接形式的命令名称 | DESCRIPTION |
|---|---|
az security va sql baseline delete |
删除 SQL 漏洞评估规则基线。 |
az security va sql baseline list |
查看所有规则的 SQL 漏洞评估基线。 |
az security va sql baseline set |
设置 SQL 漏洞评估基线。 替换当前基线。 |
az security va sql baseline show |
查看 SQL 漏洞评估规则基线。 |
az security va sql baseline update |
更新 SQL 漏洞评估规则基线。 替换当前规则基线。 |
az security va sql results list |
查看所有 SQL 漏洞评估扫描结果。 |
az security va sql results show |
查看 SQL 漏洞评估扫描结果。 |
az security va sql scans list |
列出所有 SQL 漏洞评估扫描摘要。 |
az security va sql scans show |
查看 SQL 漏洞评估扫描摘要。 |
资源管理器模板
若要使用 Azure 资源管理器模板配置漏洞评估基线,请使用 Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines 类型。
在添加基线之前,请确保已启用 vulnerabilityAssessments。
下面是一个示例,演示了如何将 master 数据库的基线规则 VA2065 和 user 数据库的基线规则 VA1143 定义为资源管理器模板中的资源:
"resources": [
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name') , '/default/VA2065/master')]",
"properties": {
"baselineResults": [
{
"result": [
"FirewallRuleName3",
"StartIpAddress",
"EndIpAddress"
]
},
{
"result": [
"FirewallRuleName4",
"62.92.15.68",
"62.92.15.68"
]
}
]
},
"type": "Microsoft.Sql/servers/databases/vulnerabilityAapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2130/Default')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
],
"properties": {
"baselineResults": [
{
"result": [
"dbo"
]
}
]
}
}
]
对于 master 数据库和 user 数据库,资源名称的定义方式不同:
- Master 数据库 - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/master')]",
- 用户数据库 - "name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA2065/default')]",
若要将布尔类型处理为 true/false,请使用二进制输入(例如 "1"/"0")设置基线结果。
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityapiVersion": "2018-06-01",
"name": "[concat(parameters('server_name'),'/', parameters('database_name'), '/default/VA1143/Default')]",
"dependsOn": [
"[resourceId('Microsoft.Sql/servers/vulnerabilityAssessments', parameters('server_name'), 'Default')]"
],
"properties": {
"baselineResults": [
{
"result": [
"1"
]
}
]
}
}
相关内容
- 详细了解 Microsoft Defender for Azure SQL。
- 详细了解数据发现和分类。
- 了解关于将漏洞评估扫描结果存储在可从防火墙和 VNet 后面访问的存储帐户中的详细信息。
- 查看有关 Azure SQL 数据库的常见问题。