PowerShell を使用して Microsoft Defender for Cloud のオンボードを自動化する

Microsoft Defender for Cloud PowerShell モジュールを使用して、Azure ワークロードをプログラムによってセキュリティで保護することができます。 PowerShell を使用することで、タスクを自動化し、手動タスクに固有の人的エラーを回避できます。 これは、すべて最初からセキュリティ保護する必要がある何百何千というリソースがある数十のサブスクリプションが関係した大規模なデプロイで特に便利です。

PowerShell を使用して Microsoft Defender for Cloud をオンボードすると、Azure リソースの使用開始と管理をプログラムで自動化し、必要なセキュリティ コントロールを追加できます。

この記事では、PowerShell スクリプトのサンプルを提供します。それを自分の環境で変更して使用し、サブスクリプション全体に Defender for Cloud をロールアウトできます。

この例では、Defender for Cloud を ID: d07c0080-170c-4c24-861d-9c817742786c のサブスクリプションで有効にし、Microsoft Defender for Cloud の強化されたセキュリティ機能を有効にして、高レベルの保護を提供する推奨設定を適用します。これにより高度な脅威防止および検出機能が提供されます。

  1. Microsoft Defender for Cloud の高度なセキュリティを有効にします。

  2. サブスクリプションに関連付けられている VM 上で Log Analytics エージェントが収集するデータの送信先である Log Analytics ワークスペースを設定します。この例では、既存のユーザーが定義したワークスペースです (myWorkspace)。

  3. Log Analytics エージェントをデプロイする Defender for Cloud の自動エージェント プロビジョニングをアクティブにします。

  4. 組織の CISO を Defender for Cloud のアラートと注目すべきイベントのセキュリティ連絡先として設定します。

  5. Defender for Cloud の既定のセキュリティ ポリシーを割り当てます。

前提条件

これらの手順は、Defender for Cloud コマンドレットを実行する前に行う必要があります。

  1. PowerShell を管理者として実行します。

  2. PowerShell で次のコマンドを実行します。

    Set-ExecutionPolicy -ExecutionPolicy AllSigned
    
    Install-Module -Name Az.Security -Force
    

PowerShell を使用して Defender for Cloud をオンボードする

  1. Defender for Cloud リソース プロバイダーにサブスクリプションを登録します。

    Set-AzContext -Subscription "d07c0080-170c-4c24-861d-9c817742786c"
    
    Register-AzResourceProvider -ProviderNamespace 'Microsoft.Security'
    
  2. 省略可能: サブスクリプションのカバレッジ レベル (Microsoft Defender for Cloud の強化されたセキュリティ機能のオンとオフ) を設定します。 未定義の場合、これらの機能はオフになります。

    Set-AzContext -Subscription "d07c0080-170c-4c24-861d-9c817742786c"
    
    Set-AzSecurityPricing -Name "VirtualMachines" -PricingTier "Standard"
    
  3. エージェントのレポート先の Log Analytics ワークスペースを構成します。 サブスクリプションの VM のレポート先になる、事前に作成済みの Log Analytics ワークスペースが必要です。 同じワークスペースをレポート先にする複数のサブスクリプションを定義できます。 定義されていない場合、既定のワークスペースが使用されます。

    Set-AzSecurityWorkspaceSetting -Name "default" -Scope "/subscriptions/d07c0080-170c-4c24-861d-9c817742786c" -WorkspaceId "/subscriptions/d07c0080-170c-4c24-861d-9c817742786c/resourceGroups/myRg/providers/Microsoft.OperationalInsights/workspaces/myWorkspace"
    
  4. Azure VM 上での Log Analytics エージェントの自動プロビジョニング インストール:

    Set-AzContext -Subscription "d07c0080-170c-4c24-861d-9c817742786c"
    
    Set-AzSecurityAutoProvisioningSetting -Name "default" -EnableAutoProvision
    

    Note

    Azure 仮想マシンが Microsoft Defender for Cloud によって必ず自動的に保護されるように、自動プロビジョニングを有効にすることをお勧めします。
    Defender for Cloud の新たな戦略の一環として、Defender for Servers オファリングで Azure Monitor エージェント (AMA) が不要となります。 ただし、マシン上では、Defender for SQL サーバーが引き続き必要となります。 その結果、新しいデプロイ ポリシーを使って、マシン上の SQL サーバーで Defender for Cloud ポータルによる Azure Monitor エージェント (AMA) のデプロイが可能になります。 「SQL サーバーを対象とする Azure 監視エージェント (AMA) の自動プロビジョニング プロセスに移行する」方法の詳細を参照してください。

  5. 省略可能: オンボードするサブスクリプションのセキュリティ連絡先の詳細を定義することを強くお勧めします。その連絡先は Defender for Cloud により生成されるアラートと通知の受信者として使用されます。

    Set-AzSecurityContact -Name "default1" -Email "CISO@my-org.com" -AlertAdmin -NotifyOnAlert
    
  6. 既定の Defender for Cloud ポリシー イニシアティブを割り当てます。

    Register-AzResourceProvider -ProviderNamespace 'Microsoft.PolicyInsights'
    
    $Policy = Get-AzPolicySetDefinition | where {$_.Properties.displayName -EQ 'Microsoft cloud security benchmark'} 
    
    New-AzPolicyAssignment -Name 'Microsoft cloud security benchmark' -PolicySetDefinition $Policy -Scope '/subscriptions/$($Subscription.Id)'
    

PowerShell を使用して Microsoft Defender for Cloud を正常にオンボードできました。

自動化スクリプトでこれらの PowerShell コマンドレットを使用して、サブスクリプションとリソースをプログラムで繰り返し処理できるようになりました。 これにより、時間が節約され、人的ミスの可能性が減ります。 これは参照用のサンプル スクリプトとして使用できます。

関連項目

PowerShell を使用して Defender for Cloud へのオンボードを自動化する方法の詳細については、次の記事を参照してください。

Defender for Cloud の詳細については、次の記事を参照してください。