概要
Microsoft Defender XDR 統合 (INT-021) は、Microsoft Defender for Endpoint (MDE) や Microsoft Defender XDR を含む Microsoft の拡張検出および対応プラットフォームと CaseBender の間で双方向同期を提供します。インバウンド取り込み
Defender のアラートとインシデントは CaseBender に取り込まれ、正規化され、オブザーバブルと
MITRE ATT&CK テクニックで強化され、アラート/ケースに変換されます。
アウトバウンド同期
CaseBender のケースがクローズされると、リンクされた Defender のアラート/インシデントが、
Microsoft Graph 経由でステータス、分類、監査コメントとともに更新されます。
この統合は Microsoft Graph セキュリティ API
(
https://graph.microsoft.com/v1.0/security) を使用します。OAuth2 クライアント資格情報
フローを使用して Azure AD (Entra ID) アプリケーションで認証します。機能
| 機能 | 方向 | 説明 |
|---|---|---|
| アラート取り込み | インバウンド | Defender アラートを CaseBender アラートに正規化 |
| インシデント取り込み | インバウンド | Defender インシデント (子アラートを含む) を取り込み |
| オブザーバブル抽出 | インバウンド | エビデンスから IP、URL、ファイルハッシュ、ファイル名、ホスト名、ユーザーアカウントを抽出 |
| アセット抽出 | インバウンド | devices[] からデバイスのホスト名、IP、OS プラットフォームを取得 |
| MITRE ATT&CK 相関 | インバウンド | テクニック ID をタグおよび TTP として追加 (例: mitre:T1078) |
| アラート同期 | アウトバウンド | ケースクローズ時に status、classification、determination、コメントを送信 |
| インシデント同期 | アウトバウンド | ケースクローズ時に status、classification、determination、コメントを送信 |
| 接続テスト | 双方向 | OAuth2 資格情報と Graph セキュリティ API アクセスを検証 |
前提条件
Microsoft Defender / Entra ID へのアクセス
Microsoft Defender XDR または Microsoft Defender for Endpoint がライセンスされ、有効化された
Microsoft Entra ID (Azure AD) テナント。アプリケーションを登録し、管理者の同意を付与する
権限が必要です。
ネットワーク送信
CaseBender のデプロイメントは次に到達できる必要があります:
https://login.microsoftonline.com(OAuth2 トークンエンドポイント)https://graph.microsoft.com(Graph セキュリティ API)
パート A — Azure AD アプリケーションを登録する
アプリ登録を作成する
Microsoft Entra 管理センター で、ID → アプリケーション →
アプリの登録 → 新規登録に移動します。名前 (例:
CaseBender Defender Integration) を付けて
登録します。パート B — CaseBender で統合を構成する
Azure AD 資格情報を入力する
パート A で取得した値を入力します:
| フィールド | 説明 |
|---|---|
tenantId | ディレクトリ (テナント) ID |
clientId | アプリケーション (クライアント) ID |
clientSecret | クライアントシークレットの値 |
同期オプションを構成する
必要な動作を有効にします:
| オプション | 効果 |
|---|---|
syncCaseUpdates | ケースの更新を Defender に送信 |
syncCaseClose | ケースのクローズを Defender に送信 |
autoCreateCases | 取り込んだ Defender インシデントからケースを自動作成 |
closeAlertsOnCaseClose | ケースクローズ時にリンクされた Defender アラートを解決 |
closeIncidentsOnCaseClose | ケースクローズ時にリンクされた Defender インシデントを解決 |
インバウンド: Defender アラートとインシデントの取り込み
エンドポイント
Defender (または Logic Apps、Sentinel、Webhook フォワーダーなどの仲介) は、アラート/インシデント ペイロードを CaseBender の取り込みエンドポイントに送信します:x-api-key ヘッダーの統合 API キーで認証されます
(authorization: Bearer <キー> ヘッダーも受け入れられます)。Defender の Webhook API キーには
sk_def_ プレフィックスが付きます。
ペイロード形式
バッチ形式 (Graph のvalue[] 配列) と単一アラートオブジェクトの両方がサポートされます。
202 Accepted を返します:
処理パイプライン
データマッピングリファレンス
重大度マッピング (Defender → CaseBender 1–4):| Defender の重大度 | CaseBender の重大度 |
|---|---|
high | 1 |
medium | 2 |
low | 3 |
informational | 4 |
unknown | 3 |
evidence[] から):
| エビデンスフィールド | オブザーバブルタイプ |
|---|---|
ipAddress | ip |
url | url |
sha256 | hash |
fileName | filename |
deviceDnsName | hostname |
userAccount | user (DOMAIN\account) |
defender、xdr、service:<serviceSource>、
category:<category>、incident (インシデントの場合)、および MITRE テクニックごとに 1 つの
mitre:<technique> タグが含まれます。取り込まれたレコードはデフォルトで TLP:2 と
PAP:2 になります。
アウトバウンド: ケースのディスポジションを Defender に同期
CaseBender でケースがクローズされると、case_closed イベントが Defender ハンドラーに
ディスパッチされます。ケースが Defender のアラートまたはインシデントにリンクされている場合、
CaseBender は Graph セキュリティ API を通じて解決を送信します。
リンクされた Defender エンティティの解決方法
ハンドラーは次の順序で Defender 識別子を検索します:extraData.defenderAlertId/extraData.defenderIncidentIdextraData.source === "defender"の場合のsourceRef- Defender アラート参照のように見える場合の
sourceRef(プレフィックスda)
解決 → 分類のマッピング
| CaseBender の解決 | Defender の分類 |
|---|---|
TruePositive | truePositive |
FalsePositive | falsePositive |
Duplicate | informationalExpectedActivity |
NoImpact | informationalExpectedActivity |
| (その他 / なし) | truePositive (デフォルト) |
status を resolved に設定し、マッピングされた
classification を適用して、次のようなコメントを追加します:
アウトバウンドのアラート更新には
closeAlertsOnCaseClose の有効化が必要です。インシデント
更新には closeIncidentsOnCaseClose が必要です。どちらも有効になっていない場合、アウトバウンド
同期は行われません。セキュリティに関する考慮事項
- シークレットの取り扱い — クライアントシークレットは統合設定に保存されます。組織が要求する スケジュールでローテーションし、その際に統合を更新してください。
- 最小権限 —
SecurityAlert.ReadWrite.AllとSecurityIncident.ReadWrite.Allのみを付与し ます。より広範な Graph スコープを追加しないでください。 - トークンキャッシュ — アクセストークンは統合ごとにメモリ内にキャッシュされ、有効期限の 1 分前に更新されます。トークンはディスクに永続化されません。
- Webhook キー —
sk_def_API キーはシークレットとして扱ってください。公開された場合は ローテーションし、送信者の構成を更新します。 - ネットワーク — 送信を
login.microsoftonline.comとgraph.microsoft.comに制限します。
トラブルシューティング
接続テストが OAuth2 エラーで失敗する
接続テストが OAuth2 エラーで失敗する
tenantId、clientId、clientSecret を確認します。クライアントシークレットが期限切れで
なく、Graph アプリケーション権限に対して管理者の同意が付与されていることを確認します。取り込みが 401 Unauthorized を返す
取り込みが 401 Unauthorized を返す
取り込みが 400 'No alerts in payload' を返す
取り込みが 400 'No alerts in payload' を返す
ペイロードに
value[] 配列もトップレベルの id もありませんでした。Graph バッチ
オブジェクトまたは単一アラートオブジェクトを送信します。ケースのクローズが Defender を更新しない
ケースのクローズが Defender を更新しない
closeAlertsOnCaseClose / closeIncidentsOnCaseClose が有効で、ケースに Defender の
アラート/インシデント ID (extraData または sourceRef 経由) があることを確認します。アウトバウンド更新が 403 を返す
アウトバウンド更新が 403 を返す
Azure AD アプリに書き込み権限がありません。
SecurityAlert.ReadWrite.All と
SecurityIncident.ReadWrite.All が管理者の同意とともに付与されていることを確認します。