Microsoft Entra 管理センターで、 ID → 監視とヘルス → サインイン ログ を開き、フィルターを設定し、 ダウンロード → JSON を選択します。より大きなデータやスクリプトによる取得には、Microsoft Graph を使用します: GET /auditLogs/signIns。いずれの場合も、保持されているデータのみを取得できます: Entra ID Free では 7 日間、P1 または P2 では 30 日間。
サインイン ログは、誰が認証したか、どこから、どのアプリに、そして MFA や条件付きアクセスが有効だったかを示します。ID ベースの攻撃では、それがストーリーの大部分です。Prime Core は Entra ID のサインイン データに対して 170 の検出ルールを持ち、113 のMITRE ATT&CK技術にマッピングされています。例えば、パスワードスプレー (T1110.003)、MFA 疲労 (T1621)、盗まれたクラウド認証情報を使ったログイン (T1078.004) があります。
始める前に
保持期間は短いです。 求めている活動が 7 日または 30 日以上前のものである場合、ポータルと Graph にはそのデータがありません。データが存在する可能性がある唯一の場所は、診断設定がサインイン ログを送信する場所です: Log Analytics ワークスペース、Microsoft Sentinel、またはストレージ アカウント。詳しくは、[Microsoft Sentinelエクスポートガイド] をご覧ください。
役割 レポートリーダーは、サインイン ログを読むことができる最も権限の低い役割です。セキュリティリーダーとグローバルリーダーも有効です。
サインインには4種類あります。 対話型ユーザー、非対話型ユーザー、サービス プリンシパル、および管理対象 ID にはそれぞれポータルにタブがあります。トークンのリプレイとリフレッシュ トークンの悪用は 非対話型で表示される傾向がありますが、これはエクスポートを忘れがちです。
オプション 1: ポータルからダウンロード
- 移動: サインイン ログ を選択し、タブを選んでください(対話型から始めて、次に非対話型)。
- Set 日付 およびフィルター (ユーザー、アプリケーション、ステータス) を設定します。
- 選択: ダウンロード、次に JSON.
ポータルは、1 回のダウンロードに含まれるレコードの数を制限しています。[現在の制限を確認してください。] 広い範囲の場合は日毎に分割するか、Graph を使用します。
オプション 2: Microsoft Graph PowerShell
これは生の API JSON を取得し、ページングをフォローし、1 行ごとに 1 件のサインインを書き込みます:
Connect-MgGraph -Scopes "AuditLog.Read.All"
$uri = "https://graph.microsoft.com/v1.0/auditLogs/signIns?`$filter=createdDateTime ge 2026-10-19T00:00:00Z and createdDateTime lt 2026-10-20T00:00:00Z"
do {
$page = Invoke-MgGraphRequest -Method GET -Uri $uri -OutputType Json | ConvertFrom-Json
$page.value | ForEach-Object { $_ | ConvertTo-Json -Depth 10 -Compress } | Add-Content signins_1019.jsonl
$uri = $page.'@odata.nextLink'
} while ($uri)
v1.0 エンドポイントは対話型サインインを返します。非対話型およびサービス プリンシパルのサインインには、signInEventTypes フィルターが必要なベータエンドポイントが必要です。API を通してのサインインの読み取りは、テナントのライセンス レベルによっても影響されます。
タイムスタンプはすべて UTC です。
目にするべきもの
| フィールドまたは値 | それが示すこと |
|---|---|
| status.errorCode 50126 | 間違ったユーザー名またはパスワード。多くのユーザーにわたる多くのこのエラーはスプレーを示します。 |
| status.errorCode 50053 | スマート ロックアウトによってアカウントがロックされています。 |
| status.errorCode 500121 | MFA が失敗または拒否されました; これらが急増するのは MFA 疲労です。 |
| clientAppUsed = IMAP、POP、SMTP、 “他のクライアント “ | MFA をスキップするレガシー認証 |
| conditionalAccessStatus | CA が適用されたか、通過したか、失敗したか |
| リスクレベル, アクセス時の場所, ipAddress | リスキーな、または馴染みのない発信元 |
止める価値のあるパターン: 1 つの IP 範囲からの多数の 50126 エラーの後に、1つの成功があること。
LogTotal にアップロードし、サニタイズしてレビューする
- アップロード。 開く logtotal.com にして、JSON ファイルをドロップします。
- サニタイズ。 [what gets masked: UPNs, display names, IPs, device names, tenant and object IDs]. Look it over before you continue.
- レビュー。
障害発生時
| 症状 | 考えられる原因 | Fix |
|---|---|---|
| 一週間または一ヶ月より古いデータが見つからない | あなたのライセンスレベルの保持期間 | 診断設定がオンだった場合、Log Analytics、Sentinel またはストレージをチェックしてください |
| Graph returns 403 | AuditLog.Read.All の同意、役割またはライセンスがない | 同意を与える; あなたの役割とテナントライセンスを確認してください |
| エクスポートには対話型サインインしか含まれていない | 他のタイプは別のタブ、またはベータ Graph にあります | 各タブをエクスポートする; ベータエンドポイントを使用してください |
| ダウンロードにはポータルで表示されたより少ないレコードが含まれている | ポータルのダウンロード制限 | 日毎にスプリットする、または Graph を使用する |
FAQ
Entra 監査ログについては?
それらは別のログです: 新しいユーザー、役割の割り当て、アプリの同意などのディレクトリ変更。同じポータル領域、監査ログ.Graph では /auditLogs/directoryAudits。事件では、通常両方が必要です。
Sentinel からサインインを取得することはできますか?
はい、Entra ID コネクタがオンになっている場合: それらは SigninLogs および AADNonInteractiveUserSignInLogs テーブルにあり、ワークスペースの保持期間が適用されます。