如何使用和导出扫描结果

重要

注意:根据世纪互联发布的公告2026 年 8 月 18 日,中国地区的 Azure 中将正式停用所有 Microsoft Defender for Cloud 功能。

Defender for SQL 的漏洞评估(VA)功能每周扫描数据库,并生成任何已识别错误配置的报告。

所有发现都存储在 Azure Resource Graph(ARG)中,这也是大多数 Defender for SQL UI 体验的来源。 当调查结果写入 ARG 时,它们还会被使用其他 Microsoft Defender for Cloud 设置(如禁用的规则或豁免的建议)进行丰富化处理,这样从 ARG 获取的数据可以表示所有调查结果和建议的有效状态。

本文介绍了使用和导出扫描结果的几种方法。

使用 Defender for Cloud 在 ARG 中查询和导出结果

若要使用 Defender for Cloud 和 ARG 查询并导出您的发现

  1. 登录到 Azure 门户

  2. 导航到Microsoft Defender for Cloud>建议

  3. 搜索并选择以下任一项:

    • 对于 Azure SQL 数据库 - SQL databases should have vulnerability findings resolved.

    • 对于计算机上的 SQL - SQL servers on machines should have vulnerability findings resolved.

  4. 选择 “打开查询”。

  5. 选择任一

    • 返回受影响的资源的查询 - 返回当前受影响的资源的列表(每个资源的建议状态)。
    • 查询返回安全发现 - 返回所有安全发现的列表(根据每个适用资源汇总的发现和子评估)。
  6. 选择 运行查询

  7. 选择 “下载 CSV”,将结果导出到 CSV 文件。

这些查询是可编辑的,可自定义为特定资源、一组结果、结果状态或更多。

在 ARG 中查询和导出结果

使用 ARG 查询和导出结果

  1. 登录到 Azure 门户

  2. 导航到 Resource Graph 资源管理器

  3. 编辑并输入以下查询:

    securityresources
    | where type =~ "microsoft.security/assessments/subassessments"
    | extend assessmentKey=extract(@"(?i)providers/Microsoft.Security/assessments/([^/]*)", 1, id), subAssessmentId=tostring(properties.id), parentResourceId= extract("(.+)/providers/Microsoft.Security", 1, id)
    | extend resourceIdTemp = iff(properties.resourceDetails.id != "", properties.resourceDetails.id, extract("(.+)/providers/Microsoft.Security", 1, id))
    | extend resourceId = iff(properties.resourceDetails.source =~ "OnPremiseSql", strcat(resourceIdTemp, "/servers/", properties.resourceDetails.serverName, "/databases/" , properties.resourceDetails.databaseName), resourceIdTemp)
    | where resourceId =~ "/subscriptions/resourcegroups/rgname/providers/microsoft.sql/servers/servername/databases/dbname"
    | where assessmentKey =~ "82e20e14-edc5-4373-bfc4-f13121257c37"
    | project resourceId,
    subscriptionId,
    assessmentKey,
    subAssessmentId,
    name=properties.displayName,
    description=properties.description,
    severity=properties.status.severity,
    status=properties.status.code,
    cause=properties.status.cause,
    category=properties.category,
    impact=properties.impact,
    remediation=properties.remediation,
    benchmarks=properties.additionalData.benchmarks
    
  4. 选择 运行查询

  5. 选择 “下载 CSV”,将结果导出到 CSV 文件。

    显示运行查询按钮以及下载为 CSV 按钮位置的屏幕截图。

此查询是可编辑的,可自定义为特定资源、一组结果、结果状态或更多。

从 SQL 数据库打开查询

若要从 SQL 数据库打开查询,请执行以下操作:

  1. 登录到 Azure 门户

  2. 导航到 Your SQL database>Microsoft Defender for Cloud

  3. 选择 “打开查询”。

    显示打开的查询按钮所在的位置的屏幕截图。

  4. 选择 运行查询

  5. 选择 “下载 CSV”,将结果导出到 CSV 文件。

    显示运行查询按钮以及下载为 CSV 按钮位置的屏幕截图。

此查询是可编辑的,可自定义为特定资源、一组结果、结果状态或更多。

利用“LogicApps”实现电子邮件通知自动化

Azure 逻辑应用是一种低代码或无代码基于云的服务,可用于自动执行工作流,并在云中和本地跨不同系统集成数据和服务。 可以使用逻辑应用跨所有受支持的 SQL 版本自动报告漏洞评估结果的报告,为扫描的任何服务器发送每周漏洞报告摘要。 可以自定义逻辑应用以按不同的计划运行,例如每日、每周、每月或更多。 您还可以自定义 Logic App 以根据不同的范围报告,例如每个数据库、服务器、资源组或更多。

可以使用 这些说明了解如何使用逻辑应用通过示例模板自动执行电子邮件通知。

此示例逻辑应用模板自动执行每周电子邮件报告,该报告汇总了所选服务器列表中的每个数据库的漏洞扫描结果。 部署模板后,必须授权 Office 365 连接器生成有效的访问令牌以对凭据进行身份验证。

收件人会收到包含扫描结果结果的电子邮件。

示例电子邮件 Azure SQL Server:

来自服务器的示例电子邮件漏洞评估报告的屏幕截图。

SQL VM 示例电子邮件:

示例 SQL 虚拟机结果电子邮件的屏幕截图。

其他选项

可以使用 工作流自动化 根据对建议状态的更改触发动作。

还可以启用 连续导出 以在生成警报和建议时流式传输警报和建议,或定义计划以发送所有新数据的定期快照。

后续步骤

在计算机上启用适用于 SQL 服务器的 Microsoft Defender