在大規模機器上啟用 Microsoft Defender for SQL Server

適用於雲端的 Microsoft Defender 的 Defender for Databases 方案中,SQL Servers on Machines 元件可保護 SQL IaaS 和 Defender for SQL 擴充功能。 此元件識別並減輕潛在的資料庫漏洞,並偵測可能顯示對資料庫構成威脅的異常活動。

當您啟用 Defender for Databases 方案中的「機器上的 SQL Server」元件時,系統會開始自動佈建。 自動配置會安裝並設定所需的元件,包括 Azure 監視器 Agent(AMA)、SQL IaaS 擴充套件,以及 Defender for SQL 擴充功能。 它也會在需要時配置工作區、資料收集規則(Data Collection Rules,DCR)及身份。

本文說明如何透過 PowerShell 腳本,在多個訂閱中啟用 Defender for SQL 的自動配置。 此自動配置程序適用於託管於 Azure 虛擬機器(VM)、本地環境及支援 Azure Arc 的 SQL 伺服器的 SQL 伺服器。 同時也涵蓋了以下可選配置:

  • 自訂資料收集規則
  • 自訂身份管理
  • 預設工作區整合
  • 自訂工作區配置

Prerequisites

開始之前:

PowerShell 指令碼參數和範例

可在指定 Azure 訂用帳戶中啟用適用於機器上 SQL 的 Microsoft Defender 的 PowerShell 指令碼,提供數個可依您的需求自訂的參數。 下表列出參數及其說明:

參數名稱 Required Description
SubscriptionId Required 您要為其啟用 Defender for SQL Servers on Machines 的 Azure 訂用帳戶 ID。
RegisterSqlVmAgnet Required 一個表示是否要批量註冊 SQL VM 代理的值。 這個參數名稱與目前的上游腳本相符。

你可以用 SQL IaaS Agent 擴充套件批量註冊多個 SQL 虛擬機Azure。 如需詳細資訊,請參閱 使用 SQL IaaS Agent 擴充功能註冊多個 SQL VM。
WorkspaceResourceId Optional 如果您想要使用自訂工作區 (而不是預設工作區),則為 Log Analytics工作區的資源識別碼。
DataCollectionRuleResourceId Optional 如果您想要使用自定義資料收集規則 (DCR) 而不是預設的數據收集規則,則為數據收集規則的資源識別碼。
UserAssignedIdentityResourceId Optional 如果想要使用自訂的使用者指派身分識別,而不是預設身分識別,請填入該使用者指派身分識別的資源識別碼。

以下範例啟用了 Defender for SQL on Machines 並啟用了大量 SQL VM 代理註冊(RegisterSqlVmAgnet = $true),並使用預設的 Log Analytics 工作區、資料收集規則及管理身份。

Write-Host "------ Enable Defender for SQL on Machines example ------" 
$SubscriptionId = "<SubscriptionID>"
$RegisterSqlVmAgnet = $true
.\EnableDefenderForSqlOnMachines.ps1 -SubscriptionId $SubscriptionId -RegisterSqlVmAgnet $RegisterSqlVmAgnet 

以下範例啟用了無需批量 SQL VM 代理註冊(RegisterSqlVmAgnet = $false)的 Defender for SQL on Machines,並指定自訂的 Log Analytics 工作區、資料收集規則及管理身份。

Write-Host "------ Enable Defender for SQL on Machines example ------" 
$SubscriptionId = "<SubscriptionID>" 
$RegisterSqlVmAgnet = $false 
$WorkspaceResourceId = "/subscriptions/<SubscriptionID>/resourceGroups/someResourceGroup/providers/Microsoft.OperationalInsights/workspaces/someWorkspace" 
$DataCollectionRuleResourceId = "/subscriptions/<SubscriptionID>/resourceGroups/someOtherResourceGroup/providers/Microsoft.Insights/dataCollectionRules/someDcr" 
$UserAssignedIdentityResourceId = "/subscriptions/<SubscriptionID>/resourceGroups/someElseResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/someManagedIdentity" 
.\EnableDefenderForSqlOnMachines.ps1 -SubscriptionId $SubscriptionId -RegisterSqlVmAgnet $RegisterSqlVmAgnet -WorkspaceResourceId $WorkspaceResourceId -DataCollectionRuleResourceId $DataCollectionRuleResourceId -UserAssignedIdentityResourceId $UserAssignedIdentityResourceId

大規模啟用 Defender for SQL Servers on Machines

要在大規模機器上啟用 Defender for SQL Server:

  1. 開啟 PowerShell 視窗。

  2. 從適用於雲端的 Defender GitHub倉庫複製 EnableDefenderForSqlOnMachines.ps1 腳本。

  3. 將指令碼貼到 PowerShell 中。

  4. 視需要輸入參數資訊。

  5. 執行腳本。

後續步驟