排查 Defender for SQL on Machines government 中的计算机保护问题

重要

注意:根据世纪互联发布的公告,Azure 中国区将于2026年10月1日正式停止提供所有 Microsoft Defender for Cloud 功能。

重要

本文适用于由世纪互联运营的 Microsoft Azure。 如果使用的是商业云,请参阅有关在机器上部署 Defender for SQL 的故障排除文章。

如果在计算机上启用 Defender for SQL Server 且某些 SQL 实例未处于受保护状态,请使用本文对部署问题进行故障排除。

在开始故障排除步骤之前,请确保满足以下条件:

步骤 1:了解如何创建资源

计算机上的 Defender for SQL Server 会自动创建资源,如图所示。

显示资源及其创建级别的关系图。

表中汇总了资源:

资源类型 已创建级别
资源组 - 在中国北部 Azure 区域创建 订阅级别
托管标识 - 在每个 Azure 区域中创建用户分配的托管标识 订阅级别
Log Analytics 工作区 - 使用默认工作区或自定义工作区。 订阅级别
数据收集规则 (DCR) - 为每个工作区创建 订阅级别
数据收集规则关联 (DCRA) 在每个 SQL Server 实例上定义
Azure Monitoring Agent (AMA) 扩展安装在每个 SQL Server 实例上
Defender for SQL 扩展 扩展安装在每个 SQL Server 实例上

步骤 2:确保允许扩展

若要确保保护按预期工作,请确保组织拒绝策略不会阻止以下扩展:

  • Defender for SQL(IaaS 和 Arc)
    • 发布者:Microsoft.Azure.AzureDefenderForSQL
    • 类型:高级威胁保护.Windows
  • SQL IaaS 扩展 (IaaS)
    • 发布者:Microsoft.SqlServer.Management
    • 类型:SqlIaaSAgent
  • SQL IaaS 扩展 (Arc)
    • 发布者:Microsoft.AzureData
    • 类型:WindowsAgent.SqlServer
  • AMA 扩展(IaaS 和 Arc)
    • 发布者:Microsoft.Azure.Monitor
    • 类型:AzureMonitorWindowsAgent

步骤 3:确保中国北区被允许

启用计划时,Azure 将在中国北部区域创建资源组。 确保没有拒绝策略阻止此区域。

步骤 4:验证资源命名约定

计算机上的 Defender for SQL Server 对资源使用特定的命名约定。 确保组织不会阻止这些命名约定,也不会修改任何自动创建的资源。

  • DCR:MicrosoftDefenderForSQL--dcr
  • DCRA:/Microsoft.Insights/MicrosoftDefenderForSQL-RulesAssociation
  • 资源组:DefaultResourceGroup-
  • Log Analytics 工作区:D4SQL--

Defender for SQL 使用 MicrosoftDefenderForSQL 作为 createdBy 数据库标记

步骤 5:识别订阅级别的错误配置

若要识别哪些订阅存在配置错误,请使用机器上的 SQL 服务器 AMA 助手工作簿

  1. 打开SQL Servers on Machines AMA Helper 活页簿

    SQL Servers on Machines AMA 帮助程序工作簿主页的屏幕截图。

  2. 在“订阅概述”中,查看订阅级别的错误配置。

    • Azure 虚拟机上的 SQL Server - 显示包含 Azure 虚拟机的订阅
    • 支持 Arc 的 SQL Server - 显示包含支持 Azure Arc 的虚拟机的订阅。

    订阅会根据你的特定环境显示在这些选项卡上。

    显示 Azure 虚拟机上的 SQL Server 工作簿页面中应导航至何处的屏幕截图。

  3. 查看每个订阅的组件配置。

    • 订阅中的 SQL Server 实例数。
    • 安装了 Defender for SQL 扩展的实例。
    • 安装了 AMA 扩展的实例。
    • 为订阅中的每个工作区创建的 DCR(在所有区域中)。
    • 为每个 SQL 实例创建的 DCRA。
    • 在订阅级别为每个区域创建的托管标识。
    • 在订阅级别上为每个区域创建的 Log Analytics 工作区。
    • 为订阅启用 AMA 自动预配。
    • 为订阅启用 Defender for SQL。
  4. 对于每个订阅,请检查哪个组件与预期的配置不匹配,例如 0/1、10/15 或 No。 在我们的示例屏幕截图中,演示订阅在 DCRA 0/1 中存在配置错误的问题。

    SQL Servers on Machines AMA 帮助程序工作簿结果的屏幕截图。

找到配置错误的订阅后,请先在订阅级别解析错误配置,然后在资源级别和扩展安装级别解决错误配置。

步骤 6:解决订阅级别的错误配置

找到错误配置后,首先解决 DCR 问题,然后是工作区问题,最后在订阅级别解决身份问题。

按正确的顺序修复错误配置。 DCR 问题的解决依赖于工作区问题的解决,而工作区问题的解决依赖于标识问题的解决。 如果你试图不按正确顺序解决这些配置错误,就无法解决这些配置错误。

  1. 导航到策略>符合性

  2. 选择“范围”

    显示在策略和符合性页面上选择范围的位置的屏幕截图。

  3. 在“范围”中,选择相关的订阅。

  4. 在“符合性”页面上,根据工作区配置选择策略:

    • 默认工作区:SQL 虚拟机上的 Defender for SQL 和已启用 Arc 的 SQL Server
    • 自定义工作区:SQL 虚拟机上的 Defender for SQL 和已启用 Arc 的 SQL Server - 自定义

    显示页面上找到错误配置的位置的屏幕截图。

  5. 按以下顺序搜索并解决每个不合规问题:标识,>工作区,>DCR

  6. 如下所示修复每个问题:

    • 标识 - Create and assign a built-in user-assigned managed identity.
    • 工作区 - Configure the Microsoft Defender for SQL Log Analytics workspace
    • DCR - Configure SQL 虚拟机 to automatically install Microsoft Defender for SQL and DCR with a Log Analytics workspaceConfigure Arc-enabled SQL Servers to automatically install Microsoft Defender for SQL and DCR with a Log Analytics workspace
  7. 对于不符合的每个策略,请查看符合性原因,并选择“创建修正任务”解决此问题。

    显示在页面上创建修正任务的位置的屏幕截图。

  8. 填写相关信息。

  9. 选择“修正”。

  10. 针对每个不合规的策略和订阅,重复执行修正任务流程。

使用 PowerShell 部署脚本输入自定义值

如果无法通过工作簿解决订阅问题,Defender for SQL Servers on Machines 会提供一个 PowerShell 部署脚本,可让你输入自己的工作区、DCR 和用户标识的值。 要使用 PowerShell 脚本,请按照大规模启用 Defender for SQL中的说明进行操作。

步骤 7:解决资源级别的错误配置

在订阅级别解决错误配置后,请在资源级别解决错误配置,包括 DCRA 配置错误,以及不完整的 AMA 或 Defender for SQL 扩展部署。

排查扩展配置错误问题

请使用以下步骤来排查与扩展相关的策略错误配置。

  1. 在 Azure 门户中,导航到策略>符合性

  2. 选择“范围”

  3. 在下拉列表中,选择存在配置错误的订阅。

  4. 搜索并选择“SQL 虚拟机上的 Defender for SQL 和已启用 Arc 的 SQL Server 计划”

  5. 选择不合规的策略名称。

    • Defender for SQL 扩展 - Create and assign a built-in user-assigned managed identity
    • AMA 扩展:- Configure SQL 虚拟机 to automatically install Azure Monitor AgentConfigure Arc-enabled SQL Servers to automatically install Azure Monitor Agent
  6. 对于不符合的每个策略,请查看符合性原因,并选择“创建修正任务”解决此问题。

排查 DCRA 配置错误

请按照以下步骤排查受影响订阅的DCRA配置错误。

  1. 在 Azure 门户中,搜索并选择数据收集规则

  2. 选择“订阅等于”> 选择相关订阅。

    显示选择“订阅等于”位置的屏幕截图。

  3. 选择应用

  4. 找到并选择相关的 DCR。 DCR 命名约定遵循以下格式:MicrosoftDefenderForSQL-region-dcr

  5. 选择“配置”>“资源”。

    显示选择配置和资源的位置的屏幕截图。

  6. 选择 + 添加

    显示添加按钮所在位置的屏幕截图。

  7. 在“资源类型”下拉列表中,选择“计算机 - Azure Arc”,并根据部署选择“虚拟机”。

    显示在何处按“Azure Arc 计算机”和“虚拟机”进行筛选的屏幕截图。

  8. 展开每个资源组并选择每台计算机。

    显示单独选择的每台计算机的屏幕截图。

  9. 选择应用

步骤 8:重新验证保护状态

完成此页上的所有步骤后,重新验证每个 SQL Server 实例的保护状态