
目次
0. はじめに
特定のアカウントでサインインが発生した場合、管理者として通知を受け取りたい場面があるかと思います。
本記事では、Microsoft Entra ID において診断設定を有効化し、特定のユーザーのサインインログを基にアラートを通知するための設定手順をご紹介します。
手順を実施するにあたり、必要となる権限およびライセンスは以下の通りです。
- 監視共同作成者(Monitoring Contributor)(Azure ロール)
- ディレクトリ閲覧者(Entraロール)
- Microsoft Entra ID P1 または P2 ライセンス(組織の人数分)
1. Log Analytics ワークスペースを作成する
Azure ポータルのホームの検索ウィンドウで「Log Analytics ワークスペース」と検索し、該当のサービスを選択します。
必要事項を記入し、「作成」します。

2. Entra ID の診断設定を有効にする
続いて、Entra ID → 監視 → 診断設定 の順に進みます。
「+診断設定を追加する」をクリックし、診断設定を構成します。
本記事では AuditLogs と SignInLogs を、先ほど作成した Log Analytics ワークスペースへ送信します。
なお、送信先でログが表示されはじめるまで、最大で3日かかる場合があります。

ここで、AuditLogs と SignInLogs の違いを簡単に説明します。
AuditLogs は管理者が行った「変更」が記録の対象であるのに対し SignInLogs は「サインイン」そのものが対象となります。
| AuditLogs | SignInLogs | |
|---|---|---|
| 内容 | 何を変更したか | 誰がログインしたか |
| ログの例 | ユーザー作成 ロール付与 等 | 成功/失敗 IPアドレス/国 等 |
なお、この診断設定は Microsoft 365 テナント全体の機能であるため、特定のユーザーのログだけに絞って収集することができません。Log Analytics ワークスペースへのログ取り込み量に応じた Azure 利用料が高額となる可能性があるため、初回は1週間程度など短期間のみログを収集し、月額費用への影響を確認することをおすすめします。
Log Analytics ワークスペースごとのコストを確認するには、Log Analytics ワークスペース → 設定 → 使用量と推定コスト の順に進みます。

3. アクショングループを作成する
アクショングループでは、アラートの通知先を設定します。
既にアクショングループがある場合は「4. アラートルールを作成する」のステップに進みます。
Azure ポータルで、監視 → アラート → アクショングループ の順に開きます。

「+作成」からアクショングループを作成します。


「アクション」タブでは、メール通知の場合空欄のままにしておきます。
「確認と作成」をクリックし、「作成」します。

4. アラートルールを作成する
監視の対象としたいユーザーのオブジェクト ID をメモしておきます。
確認箇所:Entra ID → Users → オブジェクト ID

Azure ポータルで、監視 → アラート → アラートルール の順に移動します。
「+作成」を選択し、手順1で作成した Log Analytics ワークスペースを選択します。

条件タブではシグナル名から「カスタム ログ検索」を選択します。
表示されたログ検索ウィンドウに検索クエリを記入し、「実行」をクリックします。 UserId は先ほどメモしたユーザーのオブジェクト ID を使用します。
【サンプルのクエリ】
SigninLogs
| where UserId == "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
複数のアカウントを対象に検索する場合は or で区切ります。
SigninLogs
| where UserId == “00aa00aa-bb11-cc22-dd33-44ee44ee44ee” or UserId == "11bb11bb-cc22-dd33-ee44-55ff55ff55ff"
【サンプルの結果】

① 時刻の表示を UTC からローカル時刻に変更可能です
② 展開することでサインインの詳細な内容を確認できます
「アラートの編集を続行する」をクリックし、その他の項目を設定します。
| 項目 | 値 |
|---|---|
| メジャー | テーブルの行 |
| 集計の種類 | カウント |
| 集計の粒度 | 10分(何分スパンの測定をしたいか) |
| リソース ID 列 | 分割しない |
| しきい値の種類 | Static |
| 演算子 | 次の値より大きい |
| しきい値 | 0 |
| 評価の頻度 | 10分(何分毎に測定したいか) |
次のアクションタブでは、手順3で作成したアクショングループを選択します。


次の詳細タブでも、各項目を設定します。 基本的には既定のままで問題ありません。
| 項目 | 値 |
|---|---|
| 重大度 | 重大(後から変更可能) |
| アラートルール名 | <任意の名前>(半角英数推奨) |
| アラートを自動的に解決する | はい |
最後に内容を確認し、「作成」します。
5. アラートに対処する
まずはログを保管します。
届いたアラート通知メールの「View alert details」から詳細を確認します。

「結果をログに表示」をクリックします。

時刻の表示をローカル時刻に変更後、「共有」からすべての列を CSV でエクスポートします。

保管後、結果のレビューを行います。project オペレーターで表示する列を選択することも可能です。
【サンプルクエリ】
SigninLogs
| where UserId == "00aa00aa-bb11-cc22-dd33-44ee44ee44ee“
| project TimeGenerated, ResultSignature, UserPrincipalName, Location, IPAddress, AppDisplayName, ClientAppUsed

6. まとめ
以上、特定アカウントのサインインを検知し、管理者へ自動通知するための設定手順をご紹介しました。
本設定を利用することで、通常は使われないアカウントの利用や、不審なサインインにいち早く気付くことが可能になります。特に緊急用アカウントや重要アカウントの監視は、セキュリティ対策として有効です。
なお、診断設定はテナント全体に影響し、ログ量に応じて Azure 利用料が発生します。実運用前にコストを確認し、必要に応じて監視期間や条件を調整することをおすすめします。
監視やアラート設計についてお悩みの点がございましたら、お気軽にお問い合わせください。
