概要
このレポジトリ DefenderForServersMappingToMDETag
では Microsoft Defender for Servers によってデプロイされた MDE (Microsoft Defender for Endpoint) に対して、Defender XDR 側で登録されるデバイスに Azure サブスクリプション名を自動付与するサンプルを提供しています。
このテンプレートでは、定期的に MDE タグをロジックアプリを用いて付与させています
- タグ名
DefenderForServers
- タグ名
<Your Azure Subscription Name>
<-- RESTAPI を用いて、Azure Resource Graph クエリーから取得します
デプロイはこちらから
Deploy to Azure 後、以下の設定が必要です
- Reccurence (再帰) 設定について、ユーザー側で任意の値に修正して下さい
- 初期値では
1
ヵ月の再帰設定となっています。Defender for Servers のデプロイ状況を検討の上、任意の値に修正して下さい
- 初期値では
- ロジックアプリのマネージド ID に対して、全てのサブスクリプションの
Reader
ロールを付与して下さい- このロジックアプリはサブスクリプション名を抽出するため、RESTAPI を用いてマネージド ID 権限を用いて Azure Resource Graph にクエリーを実行します
- もし、複数のサブスクリプションを有しており、Defender for Servers の展開が複数のサブスクリプションに渡る場合は、個々のサブスクリプション
reader
ロールをマネージド ID に付与して下さい
手動でロジックアプリを起動してチェックすることができます。成功すると、個々のデバイスに 2 つのタグが付与されます。
設定が無事完了しましたら、ロジックアプリを手動で実行して下さい。設定が正しければ、2つのタグ DefenderForServers
と <Azure Subscription Name>
が個々のデバイスに付与されます

現在分かっていること
- ロジックアプリは初回時に全てのDefender XDR デバイスに対してクエリーを行います。条件は ODATP フィルターを用いて行っています
- onboardingStatus is
Onboarded
- healthStatus is
Active
- NOT machineTags equal
DefenderForServers
<-- Initially, Tag will be embedded, but secondary process ignored - NOT osPlatform eq
Windows10
or osPlatform eqWindows11
- onboardingStatus is
- 本ロジックアプリはリソース ID 情報からサブスクリプション ID を抽出する設計になっています

- 幾つかのデバイスにて、リソース ID が付与されていても サブスクリプション ID が付与されない事象を確認しています。
- このため、リソース ID 情報から関数を用いて split を行い、サブスクリプション情報を抽出しています
