Microsoft Defender for SQL Servers on Machines を大規模に有効にする

Defender for Databases プランの Microsoft Defender for Cloud の SQL Servers on Machines コンポーネントは、SQL IaaS 拡張機能と Defender for SQL 拡張機能を保護します。 このコンポーネントは、データベースの潜在的な脆弱性を識別して軽減し、データベースに対する脅威を示す可能性のある異常なアクティビティを検出します。

Defender for Databases プランの SQL Server on Machines コンポーネントを有効にすると、自動プロビジョニングが開始されます。 自動プロビジョニングでは、Azure Monitor エージェント (AMA)、SQL IaaS 拡張機能、SQL 拡張機能のDefenderなど、必要なコンポーネントがインストールおよび構成されます。 また、必要に応じて、ワークスペース、データ収集規則 (DCR)、ID も構成します。

この記事では、PowerShell スクリプトを使用して、複数のサブスクリプションにわたって SQL のDefenderの自動プロビジョニングを有効にする方法について説明します。 この自動プロビジョニング手順は、Azure 仮想マシン(VM)、オンプレミス環境、Azure Arc対応SQLサーバー上でホストされるSQLサーバーに適用されます。 また、次のようなオプションの構成についても説明します。

  • カスタムデータ収集ルール
  • カスタムアイデンティティ管理
  • デフォルトのワークスペース統合
  • カスタムワークスペース設定

前提条件

準備:

PowerShell スクリプトのパラメーターとサンプル

Microsoft Defender for SQL on Machines を特定のAzureサブスクリプションで使うPowerShellスクリプトには、ニーズに合わせてカスタマイズできるいくつかのパラメータがあります。 次の表に、パラメーターの種類とその説明を示します。

パラメーター名 必須 Description
SubscriptionId 必須 Defender for SQL Servers on Machines を有効にする Azure サブスクリプション ID。
RegisterSqlVmAgnet 必須 SQL VMエージェントを一括登録するかどうかを示す値です。 このパラメーター名は、現在のアップストリーム スクリプトと一致します。

AZURE内の複数の SQL VM を SQL IaaS Agent 拡張機能に一括で登録できます。 詳細については、「 複数の SQL VM を SQL IaaS Agent 拡張機能に登録する」を参照してください。
WorkspaceResourceId Optional Log Analytics ワークスペースのリソース ID (既定のワークスペースではなくカスタム ワークスペースを使用する必要がある場合)。
DataCollectionRuleResourceId Optional データ収集ルールのリソース ID (既定のデータ収集ルール (DCR) ではなくカスタム DCR を使用する場合)。
UserAssignedIdentityResourceId Optional ユーザー割り当て ID のリソース ID (既定のユーザー割り当て ID ではなくカスタム ユーザー割り当て ID を使用する必要がある場合)。

以下の例は、一括SQL VM Agent登録(RegisterSqlVmAgnet = $true)を用いて、デフォルトのLog Analyticsワークスペース、データ収集ルール、マネージデンドIDを用いて、マシン上のSQLのDefenderを可能にします。

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

以下の例は、SQL VM Agent(RegisterSqlVmAgnet = $false)の一括登録なしにマシン上のSQLをDefender可能にし、カスタム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 を大規模に有効にする

マシン上の SQL Server のDefenderを大規模に有効にするには:

  1. PowerShell のウィンドウを開きます。

  2. Defender for Cloud GitHubリポジトリから EnableDefenderForSqlOnMachines.ps1 スクリプトをコピーしてください。

  3. このスクリプトを PowerShell に貼り付けます。

  4. 必要に応じてパラメーター情報を入力します。

  5. スクリプトを実行します。

次のステップ