重要
注意:根据世纪互联发布的公告,Azure 中国区将于2026年10月1日正式停止提供所有 Microsoft Defender for Cloud 功能。
本文将向您展示如何在使用Microsoft Defender for Cloud经典配置时查看、修复和禁用SQL漏洞评估结果。 您可以使用PowerShell、Azure CLI或资源管理器模板,查看扫描历史、禁用特定发现,并以程序管理漏洞评估。 关于漏洞评估的概述,请参见 SQL漏洞评估。
重要
用于经典漏洞评估配置的 API 将于 2026 年 10 月 1 日 停用,经典 Defender for SQL 高级威胁防护 API 也将同时停用。
重要
Express Configuration 现已适用于 Azure SQL 托管实例 和 Azure Synapse Analytics Workspaces。 快速配置扩展了Azure管理的Azure SQL 数据库设置,无需额外费用。
Express 配置允许你在没有存储账户的情况下启用 SQL VA。 快速配置是推荐的模式。 它提供与经典配置相同的安全价值,但设置更简单。
统一的 REST API(v2026-04-01-preview)用于管理 Azure SQL 数据库、SQL 托管实例、Synapse Workspaces 以及计算机上的 SQL(Azure VM 和已启用 Arc 的 SQL)中的 SQL VA。
先决条件
首先,检查你使用的是 Express还是Classic配置。
要找到你的配置类型:
在 Azure 门户中,打开 Azure SQL 数据库、Azure SQL 托管实例 或 Azure Synapse 中的资源。
在安全性下,选择 Defender for Cloud。
在 启用状态中,选择 配置 以打开服务器或托管实例的SQL设置。
如果你看到设置存储账户的选项,就用经典配置。 如果你没看到存储账户选项,就用Express配置。
查看扫描历史记录
在漏洞评估窗格中选择 “扫描历史记录 ”以查看以前对数据库运行扫描。
以编程方式管理漏洞评估
您可以使用 Azure PowerShell、Azure CLI 或 资源管理器 模板,以编程方式管理漏洞评估。
使用 Azure PowerShell 管理漏洞评估
注释
本文使用 Azure Az PowerShell 模块,该模块是 PowerShell 模块,用于与Azure交互。 若要开始使用 Az PowerShell 模块,请参阅 Install Azure PowerShell。
可以使用 Azure PowerShell cmdlet 以编程方式管理漏洞评估。 受支持的 cmdlet 如下:
关于运行 Azure SQL 漏洞评估的 PowerShell 脚本示例,请参见 Azure SQL vulnerability assessment PowerShell support。
使用 Azure CLI 管理漏洞评估
重要
az security va sql命令组使用统一的 Microsoft 安全 SQL 漏洞评估 API。 使用资源 ID 以 Azure SQL 数据库、Azure SQL 托管实例、Azure Synapse Analytics、Azure Virtual Machines 上的 SQL Server 或已启用 Arc 的 SQL Server 为目标。 对于服务器级资源,也在需要时指定数据库名称。
可以使用Azure CLI命令以编程方式管理漏洞评估。 支持的命令为:
| 链接形式的命令名称 | DESCRIPTION |
|---|---|
az security va sql baseline delete |
删除 SQL 漏洞评估规则基线。 |
az security va sql baseline list |
查看所有规则的 SQL 漏洞评估基线。 |
az security va sql baseline add |
根据最新扫描或以 JSON 形式提供的结果设置基线。 该操作取代了现有的基线。 已弃用的 baseline set 命令会重定向到此操作。 |
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。
以下 ARM 模板片段定义了 master 和 user 数据库中规则 VA2065 和 VA1143 的漏洞评估基线资源:
"resources": [
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
"apiVersion": "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/vulnerabilityAssessments/rules/baselines",
"apiVersion": "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")设置基线结果。 以下示例展示了使用规则VA1143二进制值的基线资源:
{
"type": "Microsoft.Sql/servers/databases/vulnerabilityAssessments/rules/baselines",
"apiVersion": "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"
]
}
]
}
}