メインコンテンツへスキップ

概要

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)
アラート同期アウトバウンドケースクローズ時に statusclassificationdetermination、コメントを送信
インシデント同期アウトバウンドケースクローズ時に statusclassificationdetermination、コメントを送信
接続テスト双方向OAuth2 資格情報と Graph セキュリティ API アクセスを検証

前提条件

1

Microsoft Defender / Entra ID へのアクセス

Microsoft Defender XDR または Microsoft Defender for Endpoint がライセンスされ、有効化された Microsoft Entra ID (Azure AD) テナント。アプリケーションを登録し、管理者の同意を付与する 権限が必要です。
2

ネットワーク送信

CaseBender のデプロイメントは次に到達できる必要があります:
  • https://login.microsoftonline.com (OAuth2 トークンエンドポイント)
  • https://graph.microsoft.com (Graph セキュリティ API)
3

CaseBender 管理者ロール

設定 → 統合 で統合を作成・管理できる必要があります。

パート A — Azure AD アプリケーションを登録する

1

アプリ登録を作成する

Microsoft Entra 管理センター で、ID → アプリケーション → アプリの登録 → 新規登録に移動します。名前 (例: CaseBender Defender Integration) を付けて 登録します。
2

識別子を記録する

アプリケーションの概要から、アプリケーション (クライアント) IDディレクトリ (テナント) ID をコピーします。これらを CaseBender に入力します。
3

クライアントシークレットを作成する

証明書とシークレット → 新しいクライアントシークレットで、シークレットを作成し、その をすぐにコピーします (一度しか表示されません)。
4

Graph セキュリティ API 権限を付与する

API のアクセス許可 → アクセス許可の追加 → Microsoft Graph → アプリケーションのアクセス 許可で、以下を追加してから管理者の同意を与えるをクリックします:
権限目的
SecurityAlert.ReadWrite.AllDefender アラートの読み取りと更新
SecurityIncident.ReadWrite.AllDefender インシデントの読み取りと更新
アプリケーション権限 (委任ではない) を使用してください。統合はクライアント資格情報 フローでヘッドレス実行され、テナント管理者の同意が必要です。

パート B — CaseBender で統合を構成する

1

統合カタログを開く

設定 → 統合 → 作成に移動し、EDR/XDR カテゴリから Microsoft Defender XDR を 選択します。
2

Azure AD 資格情報を入力する

パート A で取得した値を入力します:
フィールド説明
tenantIdディレクトリ (テナント) ID
clientIdアプリケーション (クライアント) ID
clientSecretクライアントシークレットの値
3

同期オプションを構成する

必要な動作を有効にします:
オプション効果
syncCaseUpdatesケースの更新を Defender に送信
syncCaseCloseケースのクローズを Defender に送信
autoCreateCases取り込んだ Defender インシデントからケースを自動作成
closeAlertsOnCaseCloseケースクローズ時にリンクされた Defender アラートを解決
closeIncidentsOnCaseCloseケースクローズ時にリンクされた Defender インシデントを解決
4

接続をテストする

接続テストを使用して検証します。CaseBender は OAuth2 トークンを要求し、 GET /security/alerts_v2?$top=1 を呼び出します。
テスト中の 403 応答は成功として扱われます。アプリがその特定のエンドポイントに 読み取りスコープをまだ付与されていない場合でも、認証が機能したことを確認できます。

インバウンド: Defender アラートとインシデントの取り込み

エンドポイント

Defender (または Logic Apps、Sentinel、Webhook フォワーダーなどの仲介) は、アラート/インシデント ペイロードを CaseBender の取り込みエンドポイントに送信します:
POST https://<あなたの-casebender-ドメイン>/api/v1/ingest/defender
リクエストは x-api-key ヘッダーの統合 API キーで認証されます (authorization: Bearer <キー> ヘッダーも受け入れられます)。Defender の Webhook API キーには sk_def_ プレフィックスが付きます。

ペイロード形式

バッチ形式 (Graph の value[] 配列) と単一アラートオブジェクトの両方がサポートされます。
curl -X POST "https://<あなたの-casebender-ドメイン>/api/v1/ingest/defender" \
  -H "x-api-key: sk_def_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "value": [
      {
        "id": "da637...",
        "incidentId": "12345",
        "title": "不審な PowerShell の実行",
        "severity": "high",
        "status": "new",
        "classification": "unknown",
        "createdDateTime": "2026-07-03T18:20:00Z",
        "mitreTechniques": ["T1059.001"],
        "evidence": [
          { "@odata.type": "#microsoft.graph.security.fileEvidence",
            "sha256": "9f2b...", "fileName": "payload.ps1" }
        ]
      }
    ]
  }'
成功したリクエストは HTTP 202 Accepted を返します:
{ "success": true, "processed": 1, "failed": 0 }

処理パイプライン

1

取り込みプロキシ

/api/v1/ingest/defender はソースを検証し、リクエストを取り込みサービス (POST /v1/sources/defender) に転送します。
2

キューへの発行

取り込みサービスは API キーを認証し、ペイロードを検証して、各アラートを処理キューに発行します。
3

正規化

Defender プロセッサは各レコードを CaseBender アラートに正規化します。重大度のマッピング、 タイトル/説明の構築、オブザーバブルとデバイスアセットの抽出、MITRE TTP の生成を行います。

データマッピングリファレンス

重大度マッピング (Defender → CaseBender 1–4):
Defender の重大度CaseBender の重大度
high1
medium2
low3
informational4
unknown3
オブザーバブル抽出 (evidence[] から):
エビデンスフィールドオブザーバブルタイプ
ipAddressip
urlurl
sha256hash
fileNamefilename
deviceDnsNamehostname
userAccountuser (DOMAIN\account)
取り込み時に適用されるタグには、defenderxdrservice:<serviceSource>category:<category>incident (インシデントの場合)、および MITRE テクニックごとに 1 つの mitre:<technique> タグが含まれます。取り込まれたレコードはデフォルトで TLP:2PAP:2 になります。

アウトバウンド: ケースのディスポジションを Defender に同期

CaseBender でケースがクローズされると、case_closed イベントが Defender ハンドラーに ディスパッチされます。ケースが Defender のアラートまたはインシデントにリンクされている場合、 CaseBender は Graph セキュリティ API を通じて解決を送信します。

リンクされた Defender エンティティの解決方法

ハンドラーは次の順序で Defender 識別子を検索します:
  1. extraData.defenderAlertId / extraData.defenderIncidentId
  2. extraData.source === "defender" の場合の sourceRef
  3. Defender アラート参照のように見える場合の sourceRef (プレフィックス da)
アラートまたはインシデント ID が見つからない場合、この統合ではケースクローズがスキップされます。

解決 → 分類のマッピング

CaseBender の解決Defender の分類
TruePositivetruePositive
FalsePositivefalsePositive
DuplicateinformationalExpectedActivity
NoImpactinformationalExpectedActivity
(その他 / なし)truePositive (デフォルト)
クローズ時、CaseBender はアラート/インシデントの statusresolved に設定し、マッピングされた classification を適用して、次のようなコメントを追加します:
Case <ケース ID> closed in CaseBender with resolution: <解決>
アウトバウンドのアラート更新には closeAlertsOnCaseClose の有効化が必要です。インシデント 更新には closeIncidentsOnCaseClose が必要です。どちらも有効になっていない場合、アウトバウンド 同期は行われません。

セキュリティに関する考慮事項

  • シークレットの取り扱い — クライアントシークレットは統合設定に保存されます。組織が要求する スケジュールでローテーションし、その際に統合を更新してください。
  • 最小権限SecurityAlert.ReadWrite.AllSecurityIncident.ReadWrite.All のみを付与し ます。より広範な Graph スコープを追加しないでください。
  • トークンキャッシュ — アクセストークンは統合ごとにメモリ内にキャッシュされ、有効期限の 1 分前に更新されます。トークンはディスクに永続化されません。
  • Webhook キーsk_def_ API キーはシークレットとして扱ってください。公開された場合は ローテーションし、送信者の構成を更新します。
  • ネットワーク — 送信を login.microsoftonline.comgraph.microsoft.com に制限します。

トラブルシューティング

tenantIdclientIdclientSecret を確認します。クライアントシークレットが期限切れで なく、Graph アプリケーション権限に対して管理者の同意が付与されていることを確認します。
x-api-key ヘッダーが欠落しているか無効です。統合の構成済み Webhook API キーと一致する sk_def_ キーを送信していることを確認します。
ペイロードに value[] 配列もトップレベルの id もありませんでした。Graph バッチ オブジェクトまたは単一アラートオブジェクトを送信します。
closeAlertsOnCaseClose / closeIncidentsOnCaseClose が有効で、ケースに Defender の アラート/インシデント ID (extraData または sourceRef 経由) があることを確認します。
Azure AD アプリに書き込み権限がありません。SecurityAlert.ReadWrite.AllSecurityIncident.ReadWrite.All が管理者の同意とともに付与されていることを確認します。

関連ドキュメント