Microsoft DefenderのXBOW Sentinel Connector更新まとめ|2026年4月版の変更点と管理者の確認事項

Microsoft DefenderポータルでMicrosoft Sentinelを運用し、XBOW Security Platform(via Azure Function)コネクタを使っている場合、今回の更新で最優先に確認すべき点は、XBOW Public API 2026-04-01 への追従、ソリューション 3.0.1 への更新、400エラー処理、分析ルールのカスタム詳細キー変更です。Azure/Azure-Sentinelの公式PR「XBOW Sentinel Connector Update – April 2026」は2026年5月20日にマージされ、変更理由はXBOW API側の変更とされています。(GitHub)

影響を受けるのは、Microsoft Defenderそのもののエンドポイント保護設定ではなく、Microsoft SentinelにXBOWの資産・脆弱性・評価アクティビティを取り込んでいる環境です。既にXBOWコネクタを導入している管理者は、更新後にデータ取り込み、分析ルール、インシデントのグルーピング、Automation RuleやLogic Appsで参照しているフィールド名を確認してください。

目次

Microsoft DefenderのXBOW Sentinel Connector更新でまず押さえるべき結論

今回の「Microsoft Defender documentation update: XBOW Sentinel Connector Update – April 2026」は、Microsoft Defenderポータル上でMicrosoft Sentinelを使う運用担当者にとって、検知ロジックとデータ取り込みの安定性に関わる更新です。

特に重要なのは、次の4点です。

確認項目管理者が見るべきポイント放置した場合に起きやすい問題
XBOW APIバージョン2026-04-01 に対応したコネクタへ更新されているかAPI仕様差分による取り込み失敗、400エラー
400エラー処理Azure Functionログに400 Bad Requestが出ていないか設定不備が一時的な通信障害に見えて原因特定が遅れる
User-Agentプロキシ、WAF、API制御でUser-Agentを条件にしていないか更新後の通信が遮断される可能性
分析ルールのカスタム詳細FindingID、AssetID、OrganizationID などの新しいキーを参照しているかインシデント連携、通知、プレイブックが期待通り動かない

公式PRでは、変更点として「XBOW Public API 2026-04-01 への更新」「400エラー処理の更新」「User-Agentバージョンの更新」が挙げられ、バージョン更新とテスト完了も明記されています。(GitHub)

XBOW Sentinel Connectorとは何をするコネクタか

XBOW Sentinel Connectorは、XBOW Security PlatformのデータをMicrosoft Sentinelへ取り込むためのデータコネクタです。Microsoft Learnでは、XBOWコネクタが資産スナップショット、脆弱性の検出、評価アクティビティをMicrosoft Sentinelへ取り込み、Azure FunctionがXBOW APIをタイマーでポーリングすると説明されています。(Microsoft Learn)

取り込み先の主なLog Analyticsテーブルは次の3つです。

テーブル主な用途運用での確認例
XbowAssets_CLXBOW上の資産スナップショット新しいWeb資産、到達性、URL、ライフサイクル確認
XbowFindings_CL脆弱性検出結果Critical/Highの未対応項目、証拠、影響、緩和策の確認
XbowAssessments_CL評価アクティビティペンテスト評価の進行状況、状態変化、攻撃クレジット確認

Microsoft Learn上のデータコネクタ一覧でも、XBOWはMicrosoft Sentinelに取り込むコネクタとして掲載され、XbowAssets_CL、XbowFindings_CL、XbowAssessments_CL が関連テーブルとして示されています。(Microsoft Learn)

今回の主な変更点

XBOW Public API 2026-04-01 への対応

最も大きな変更は、XBOW Public APIのバージョンが 2026-04-01 に更新された点です。XBOW API Referenceでも 2026-04-01 がLatestとして表示されています。(XBOW Documentation)

コネクタ側のAzure Functionコードでは、XBOW APIバージョンとして 2026-04-01 が指定され、ヘッダーに X-XBOW-API-Version が含まれる構成になっています。(GitHub)

管理者が見るべきポイントは、単に「最新版にしたか」ではありません。APIバージョン変更では、レスポンス形式、必須パラメータ、ページング、エラー応答の扱いが変わることがあります。更新後は、次の観点で確認してください。

  • Azure Functionが正常に実行されているか
  • XbowAssets_CL、XbowFindings_CL、XbowAssessments_CL に新しいログが入っているか
  • XBOW APIトークンが対象organizationにスコープされているか
  • 既存のKQL、Workbook、Automation Ruleが古いフィールド名に依存していないか

ソリューションバージョンは 3.0.1 に更新

ReleaseNotesでは、3.0.1 の変更履歴として「XBOW API version to 2026-04-01」への更新に加え、評価イベントに AttackCredits と RecentEvents を追加したことが記載されています。(GitHub)

AttackCredits と RecentEvents は、SOC運用では見逃しにくい追加です。たとえば、単に「評価が実行された」だけでなく、評価の進行や状態変化を追いやすくなります。特に、自動ペンテストの結果を定例レビューやリスク管理に使っている組織では、ダッシュボードや週次レポートに反映する価値があります。

400エラーの扱いが明確化

更新後のコードでは、XBOW APIから400 Bad Requestが返った場合に、URLとレスポンス本文を含めて明示的にRuntimeErrorを発生させる処理になっています。(GitHub)

これは運用上、かなり重要です。400エラーは多くの場合、サーバー側障害ではなく、リクエスト内容、APIバージョン、認証情報、organization ID、パラメータ、スキーマ不一致などに起因します。更新後に400が出る場合は「しばらく待つ」よりも、設定値とAPI仕様の確認を優先してください。

400エラーが出たときの初動は次の順番が現実的です。

順番確認対象判断基準
1XBOW_API_TOKEN失効、権限不足、organizationスコープ違いがないか
2XBOW_ORG_IDXBOWコンソールURLやAPIで確認した組織IDと一致するか
3APIバージョン2026-04-01 対応版のコネクタを使っているか
4Azure Functionログ400のURL、レスポンス本文、発生タイミングを確認
5プロキシ/WAFXBOW API向け通信やUser-Agent制御で拒否されていないか

User-Agentバージョンの更新

PRではUser-Agentバージョンの更新も変更点に含まれています。更新後のコードでは、XBOW-Sentinel-Connector/{__version__} 形式でUser-Agentが組み立てられ、__version__ は 1.1 と定義されています。(GitHub)

通常、User-Agent変更だけでMicrosoft Sentinel側の設定を変える必要はありません。ただし、企業ネットワークで次のような制御をしている場合は確認が必要です。

  • 送信プロキシでUser-Agent別の許可リストを使っている
  • XBOW APIへの送信通信をWAFやCASBで制御している
  • Azure Functionのアウトバウンド通信を細かく監査している
  • APIアクセスログをUser-Agent単位で集計している

古いUser-Agent文字列を条件にした例外設定がある場合、更新後に通信がブロックされることがあります。

影響範囲:すべてのMicrosoft Defender環境が対象ではない

今回の更新は、Microsoft Defender for Endpointのセンサー設定やWindows Defenderのポリシー変更ではありません。影響を受けるのは、Microsoft SentinelでXBOW Security Platformコネクタを使っているワークスペースです。

Microsoft Learnでは、Microsoft Sentinelのデータコネクタ記事は「Microsoft DefenderポータルのMicrosoft Sentinel」と「AzureポータルのMicrosoft Sentinel」に適用されると記載されています。さらに、2027年3月31日以降はMicrosoft SentinelのAzureポータルサポートが終了し、Defenderポータルでの利用に移行する旨も案内されています。(Microsoft Learn)

そのため、今後の運用では「Azureポータルで設定できるか」だけでなく、Defenderポータル側での導線、権限、Content Hub、分析ルール、インシデント確認フローも合わせて整理しておくべきです。

影響を受ける可能性が高い環境

環境影響
XBOWコネクタをContent Hubから導入済みソリューション更新、分析ルール、取り込み確認が必要
Azure FunctionでXBOW APIをポーリングしているアプリ設定、ログ、実行状態の確認が必要
Logic AppsやAutomation RuleでXBOWインシデントを処理しているカスタム詳細キー変更の影響を確認
WorkbookやKQLでXBOWテーブルを参照しているAttackCredits、RecentEvents の活用余地あり
プロキシやWAFでAPI通信を制御しているUser-Agent、宛先、認証エラーを確認

影響が小さい、または対象外になりやすい環境

環境理由
XBOWコネクタを使っていないMicrosoft Defender環境今回の変更対象はXBOW Sentinel Connector
Defender for Endpoint単体運用エンドポイントセンサーやAVポリシー更新ではない
SentinelでXBOW以外のコネクタのみ使用XBOW固有のAPI・分析ルール変更のため
手動でXBOWデータを別経路から取り込んでいる公式XBOW Azure Functionコネクタとは別管理になる可能性

管理者が確認すべき設定

Azure Functionのアプリ設定

更新後のコネクタでは、XBOW API、Azure Monitor Ingestion API、Azure Storage、Microsoft Entra IDの情報をAzure Functionのアプリ設定から読み込みます。コード上では、TENANT_ID、CLIENT_ID、CLIENT_SECRET、DCE_ENDPOINT、DCR_ID、XBOW_API_TOKEN、XBOW_ORG_ID、AzureWebJobsStorage などが必須設定として扱われています。(GitHub)

特に再展開や移行時は、次の設定を確認してください。

設定名用途よくあるミス
XBOW_API_TOKENXBOW API認証トークン失効、organizationスコープ違い
XBOW_ORG_ID対象organizationの識別URLからコピーした値の誤り
TENANT_IDMicrosoft Entraテナント別テナントのIDを指定
CLIENT_IDApp RegistrationのIDオブジェクトIDとアプリケーションIDの取り違え
CLIENT_SECRETApp Registrationのシークレット期限切れ、値ではなくシークレットIDを登録
DCE_ENDPOINTAzure Monitor Ingestionのエンドポイントリージョン違い、古いDCE参照
DCR_IDData Collection Ruleのimmutable IDResource IDとimmutable IDの混同
AzureWebJobsStorageFunctionと同期状態の保存ストレージ再作成で状態が消える

Azure Monitor Logs Ingestion APIでは、アプリ登録による認証、Log Analyticsテーブル、DCRが主要コンポーネントになり、DCRに対してアプリへMonitoring Metrics Publisherロールを付与する必要があります。(Microsoft Learn)

Data Collection Ruleのロール割り当て

XBOWコネクタはAzure Monitor Ingestion APIを使ってログを送ります。Microsoft Learnの手順でも、DCR作成後にアプリへ権限を付与し、Monitoring Metrics Publisherを割り当てる流れが示されています。(Microsoft Learn)

更新後に取り込みが止まった場合、APIトークンだけでなくDCR側のRBACも確認してください。App Registrationを作り直した、サブスクリプションを移した、DCRを再作成した、リソースグループを変更した場合に、ロール割り当てが外れていることがあります。

同期状態を保存するAzure Storage

コード上では、差分同期の状態がAzure Blob Storageに保存されます。コンテナー名は xbow-connector-state、Blob名は sync_state.json で、初回実行時は既存レコードを取り込む動きになります。(GitHub)

ここは運用で失敗しやすいポイントです。Storage Accountを削除したり、sync_state.json を消したりすると、コネクタが初回実行に近い状態で動き、過去データを再取り込みする可能性があります。結果として、Log Analyticsの取り込み量が増えたり、過去の検出が再度目立ったりすることがあります。

更新や移行前には、少なくとも次を確認してください。

操作注意点
Function Appを再作成AzureWebJobsStorage が変わると同期状態も変わる可能性
Storage Accountを変更sync_state.json の移行要否を確認
テスト環境で本番トークンを使う本番organizationのデータを重複取り込みするリスク
障害調査でBlobを削除復旧後に再取り込みが発生する可能性

分析ルールとインシデント連携で確認すべき変更

今回のPRでは、複数の分析ルールでカスタム詳細キーが更新されています。たとえば、Critical/High、Medium、Lowの検出ルールでは FindingId が FindingID に、AssetId が AssetID に、OrganizationId が OrganizationID に変更されています。新規資産検出ルールでも AssetId と OrganizationId が大文字ID表記へ変更されています。(GitHub)

この変更は小さく見えますが、SOC運用では影響が出やすい部分です。Microsoft SentinelのインシデントからLogic Appsを起動し、カスタム詳細をTeams通知、チケット作成、メール送信、Webhook連携に渡している場合、参照名が合わないと値が空になります。

確認すべき自動化の例

対象確認内容
Automation RuleXBOWアラートを条件分岐しているか
Logic AppsFindingId や AssetId を直接参照していないか
Teams通知Adaptive Cardに古いキー名を埋め込んでいないか
ITSM連携ServiceNow、Jiraなどに渡すフィールド名が変わっていないか
Workbookカスタム詳細を前提にした表示項目がないか
KQL保存クエリextend や project で古い列名を使っていないか

実務では、更新後すぐに本番インシデントで試すのではなく、テスト用のアラートまたは過去データを使って、通知本文・チケット項目・担当者割り当てまで確認するのがおすすめです。

更新後に実行したいKQL確認クエリ

更新後は、まず「データが入っているか」「新しいフィールドを使えるか」「Critical/Highの検出が見えるか」を確認します。

最終取り込み時刻を確認する

union
    (XbowAssets_CL | summarize LastLogReceived=max(TimeGenerated) | extend TableName="XbowAssets_CL"),
    (XbowFindings_CL | summarize LastLogReceived=max(TimeGenerated) | extend TableName="XbowFindings_CL"),
    (XbowAssessments_CL | summarize LastLogReceived=max(TimeGenerated) | extend TableName="XbowAssessments_CL")
| project TableName, LastLogReceived
| order by LastLogReceived desc

Microsoft Learnとコネクタ設定では、XBOWの資産、検出結果、評価アクティビティがそれぞれ上記3テーブルに取り込まれる構成として説明されています。(Microsoft Learn)

Critical/Highの未対応Findingを確認する

XbowFindings_CL
| where State == "open"
| where Severity in ("critical", "high")
| project TimeGenerated, FindingId, FindingName, Severity, AssetId, AssetName, Summary, Mitigations
| sort by TimeGenerated desc

既存環境では列名が FindingId、AssetId として取り込まれる一方、アラートのカスタム詳細キーは FindingID、AssetID に更新されています。KQLでテーブル列を見る場合と、インシデントのカスタム詳細を見る場合を混同しないようにしてください。

Assessmentの追加情報を確認する

XbowAssessments_CL
| extend RecentEventsParsed = parse_json(RecentEvents)
| project TimeGenerated, AssessmentName, State, Progress, AttackCredits, RecentEventsParsed, AssetId, AssetName
| sort by TimeGenerated desc

RecentEvents はJSON文字列として格納されるため、Workbookやハンティングクエリで扱う場合は parse_json() を使うと見やすくなります。更新後のコードでは、assessment詳細を取得し、AttackCredits と RecentEvents をイベントに含める処理が追加されています。(GitHub)

移行・展開時の安全な進め方

XBOW Sentinel Connectorの更新は、いきなり本番に適用して終わりにするよりも、以下の順番で進めるとトラブルを減らせます。

手順作業成功条件
1対象ワークスペースを洗い出すXBOWコネクタ導入済みのSentinelワークスペースが分かる
2既存の分析ルールとAutomation Ruleを確認FindingId、AssetId、OrganizationId 参照箇所を把握
3ソリューションを 3.0.1 相当に更新Content HubまたはARM展開後にバージョンを確認
4App SettingsとDCR権限を確認Function実行時に認証・DCRエラーが出ない
5取り込み確認KQLを実行3つのXBOWテーブルに新規ログが入る
6インシデント生成を確認分析ルール、グルーピング、カスタム詳細が期待通り
7自動化を確認Teams通知、ITSM連携、チケット作成で値が欠落しない

展開時に特に注意したいのは、App RegistrationのシークレットとDCRロールです。Microsoft LearnのLogs Ingestion APIチュートリアルでも、シークレット値は保存後に再表示できないため安全に記録する必要があると説明されています。(Microsoft Learn)

よくある失敗と対処法

更新後にデータが入らない

まずAzure Functionの実行ログを確認します。400 Bad Requestが出ている場合は、APIトークン、organization ID、APIバージョン、リクエストパラメータを優先的に確認してください。Azure Monitor Ingestion API側のエラーであれば、DCE_ENDPOINT、DCR_ID、stream名、Monitoring Metrics Publisherロールを確認します。

インシデントは作成されるが自動通知の値が空になる

分析ルールのカスタム詳細キー変更が原因になりやすいです。FindingId ではなく FindingID、AssetId ではなく AssetID、OrganizationId ではなく OrganizationID を参照しているか確認してください。

更新後に過去データが再度目立つ

同期状態を保存しているStorage AccountやBlobが変わった可能性があります。sync_state.json が消えた、別Storageを参照している、テスト環境と本番環境で同じXBOW organizationを見ている、といったケースを確認してください。

User-Agent変更後にAPIへ接続できない

通常は意識しなくてもよい項目ですが、送信プロキシやWAFでUser-Agent単位の許可制御をしている場合は例外です。Azure Functionから https://console.xbow.com 側への通信がブロックされていないか、ネットワークログを確認してください。

開発者が確認すべき実装上のポイント

開発者やSOCエンジニアが独自に拡張している場合は、次の点を確認してください。

  • API呼び出しヘッダーに X-XBOW-API-Version: 2026-04-01 が含まれるか
  • 400エラー時に例外内容がログへ出るため、ログの閲覧権限が過剰になっていないか
  • RecentEvents を文字列のまま扱うのか、KQLでJSONとして展開するのか
  • AttackCredits をスコアリングや優先度判定に使う場合、欠損値や0の扱いを決めているか
  • カスタムWorkbookで古いフィールド名や古いカスタム詳細キーを参照していないか
  • Function App、Storage、DCR、Log Analyticsのリージョンやリソースグループを運用設計書に反映しているか

特に、RecentEvents はダッシュボードでそのまま表示すると読みにくい場合があります。SOC向け画面では、状態変化の時刻、イベント種別、対象資産を抽出して表示すると、調査時に使いやすくなります。

今回の更新で取るべき次のアクション

XBOW Sentinel Connectorを使っている場合は、まず対象ワークスペースを洗い出し、ソリューションが 3.0.1 相当に更新されているか確認してください。そのうえで、Azure Functionログ、3つのXBOWテーブルの最終取り込み時刻、DCRのロール割り当て、分析ルールのカスタム詳細キーを順番に確認します。

今回の更新は、単なるドキュメント上の表記変更ではなく、APIバージョン、エラー処理、評価データの拡張、分析ルールのキー変更が含まれます。特にAutomation RuleやLogic AppsでXBOWインシデントを処理している環境では、更新後の検証を省略しないことが重要です。

最後に、Microsoft SentinelはDefenderポータルでの運用へ移行が進んでいます。XBOWコネクタの更新確認と合わせて、Defenderポータル上での権限、Content Hub、インシデント確認、SOCの手順書も見直しておくと、今後の運用変更に対応しやすくなります。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次