Microsoft Purview documentation updateの影響整理:ServiceDiscovery更新で管理者・開発者が確認すべきこと

2026年5月21日に確認対象となった「Microsoft Purview documentation update: [release/11.0-preview5] Use publicly available version of ServiceDiscovery package in blazor-wasm-servicedefaults template」は、Microsoft Purview本体のDLPポリシーや秘密度ラベルを変更するセキュリティ更新ではありません。実態は、ASP.NET Coreの.NET 11 Preview 5向けテンプレートで、Microsoft.Extensions.ServiceDiscovery の参照バージョンを公開済みパッケージに固定する修正です。公式PRでは release/11.0-preview5 ブランチへバックポートされ、対象ファイルは BlazorWasmServiceDefaults-CSharp.csproj.in の1ファイル、差分は1追加・1削除でした。(GitHub)

Microsoft Purview管理者がまず押さえるべき点は、Purviewポータル、DLP、Information Protection、eDiscovery、監査、保持ラベルなどのテナント設定を急いで変更する必要は基本的にないことです。一方で、Purview SDK/APIと連携する社内アプリ、AIアプリ、管理画面をBlazor WebAssemblyや.NET Aspire構成で開発しているチームは、CI/CDやNuGet復元で失敗しないように依存パッケージを確認する必要があります。

目次

Microsoft Purview documentation updateの結論:Purview本体ではなく.NETテンプレートの修正

今回の更新は、名称だけを見るとMicrosoft Purviewのセキュリティ更新に見えますが、主ソースであるGitHub PRの内容は dotnet/aspnetcore リポジトリのテンプレート修正です。PR #66755は、元PR #66698を release/11.0-preview5 にバックポートするもので、blazor-wasm-servicedefaults テンプレート内の Microsoft.Extensions.ServiceDiscovery 参照を、リポジトリ管理の変数から 10.6.0 に変更しています。(GitHub)

確認項目内容実務上の見方
対象ASP.NET Coreの blazor-wasm-servicedefaults テンプレートPurviewポータルの設定変更ではない
ブランチrelease/11.0-preview5.NET 11 Preview 5向けの修正として扱う
変更ファイルsrc/ProjectTemplates/Web.ProjectTemplates/BlazorWasmServiceDefaults-CSharp.csproj.in既存アプリでは .csproj や社内テンプレートを確認
変更内容Microsoft.Extensions.ServiceDiscovery を 10.6.0 に固定NuGetから復元できる公開パッケージを参照
主な目的テンプレート生成後のパッケージ復元失敗を避けるCI/CD、開発端末、社内NuGetミラーで確認

背景には、dotnet new blazor-wasm-servicedefaults で作成したプロジェクトが、公開フィードで見つからない Microsoft.Extensions.ServiceDiscovery のプレビュー版を参照し、NU1102 で復元に失敗する問題がありました。関連Issueでは、Windows、macOS、Linuxを対象に再現手順が示され、実際のエラーとして Unable to find package Microsoft.Extensions.ServiceDiscovery with version (>= 10.6.0-preview.1.26210.2) が記録されています。(GitHub)

Microsoft Purviewとの関係は「開発者連携アプリ」に限定して考える

Microsoft Purviewは、データガバナンス、データセキュリティ、データコンプライアンスを扱う製品群です。Microsoft公式ドキュメントでも、Unified Catalog、Data Map、DLP、Information Protection、Insider Risk Management、Audit、eDiscoveryなどがPurviewの主要領域として整理されています。(Microsoft Learn)

ただし、今回のServiceDiscovery修正は、これらのPurview機能そのものを変更するものではありません。影響が出る可能性があるのは、Microsoft PurviewのAPI、SDK、Microsoft Graph連携、社内のデータ保護アプリ、AIエージェント連携などを.NETで開発しているケースです。Microsoft Purview Developer Platformは、アプリやエージェントにPurviewのガバナンス、保護、データ管理機能を統合するための機能を提供しています。(Microsoft Learn)

影響を受ける可能性があるもの影響を受けにくいもの
Purview APIと連携する.NET製の社内管理画面Microsoft PurviewポータルのDLP設定
Blazor WebAssemblyで作ったデータ分類・申請UI秘密度ラベル、保持ラベル、監査ログの既存設定
.NET Aspire構成の開発テンプレートMicrosoft 365管理センターやPurview管理センターの標準操作
blazor-wasm-servicedefaults を使う新規プロジェクト既に本番稼働しており該当テンプレートを使っていないアプリ
社内NuGetミラーやロックファイルを使うCI/CDノーコードでPurviewを運用している管理者

つまり、Purview管理者だけで完結する話ではなく、Purviewを利用するアプリを開発・展開しているチームが確認すべき更新です。

変更点:ServiceDiscoveryパッケージの参照が公開版の10.6.0に固定された

差分の中心は、Microsoft.Extensions.ServiceDiscovery のバージョン指定です。変更前は ${MicrosoftExtensionsServiceDiscoveryVersion} というリポジトリ側の変数を参照していましたが、変更後は Version="10.6.0" が直接指定されています。(GitHub)

変更イメージは次のとおりです。

<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.6.0" />

NuGet Galleryでは、Microsoft.Extensions.ServiceDiscovery 10.6.0 が公開されており、dotnet add package Microsoft.Extensions.ServiceDiscovery --version 10.6.0 や PackageReference での参照例も掲載されています。([NuGet][6])

Service Discoveryは、分散システムやマイクロサービス構成でサービス名からエンドポイントを解決するための仕組みです。NuGetの説明では、HttpClient に AddServiceDiscovery を組み合わせ、構成済みプロバイダーからサービスエンドポイントを解決する用途が示されています。([NuGet][6])

Purview連携アプリで考えると、たとえば次のような構成で関係します。

利用シーンServiceDiscoveryが関係する可能性
Purview APIを呼び出す社内ポータルフロントエンドからバックエンドAPIへ接続する構成で使う場合がある
データ分類やラベル適用の申請ワークフロー複数APIをサービス名で解決する設計なら関係する
AIアプリやエージェントのPurview連携Aspire構成で複数サービスを組み合わせている場合に確認が必要
ローカル検証環境テンプレート作成直後の dotnet restore で失敗する可能性がある

管理者が確認すべき影響範囲

Microsoft Purview管理者は、今回の更新を「Purview設定変更の依頼」として扱うよりも、「Purview連携アプリの開発・展開基盤に関する確認事項」として扱うのが適切です。

Purviewテナント設定は原則変更不要

今回のPRから読み取れる範囲では、PurviewのDLPポリシー、秘密度ラベル、保持ポリシー、監査、eDiscovery、Data Map、Unified Catalogなどの設定変更は求められていません。PR本文の Customer Impact や Risk などの欄はテンプレート文のまま残っており、具体的なPurview管理機能への影響は記載されていません。(GitHub)

そのため、管理者がすぐに実施すべきことは次の3つです。

確認項目対応内容
Purview標準機能だけを利用しているか標準機能のみなら、今回の修正で設定変更は不要
Purview API/SDK連携アプリがあるか開発チームまたはベンダーに.NET構成を確認する
社内テンプレートやCI/CDに.NET 11 Previewを使っているか該当する場合は依存関係と復元テストを実施する

開発チームに確認すべき質問

管理者が開発チームへ確認する場合は、「今回のPurview更新に対応済みですか」と聞くより、次のように具体化すると話が早くなります。

質問確認したい理由
Purview連携アプリでBlazor WebAssemblyを使っていますか今回の対象テンプレートに該当する可能性がある
.NET 11 Preview または release/11.0-preview5 系のSDKを使っていますか修正対象のブランチと関係する
blazor-wasm-servicedefaults テンプレートを使いましたか直接影響する可能性が高い
Microsoft.Extensions.ServiceDiscovery の参照がありますか依存関係の確認ポイントになる
社内NuGetミラーに 10.6.0 が同期されていますかCI/CDだけ失敗する典型例を避けられる

開発者向け:確認すべき設定と手順

該当する可能性がある開発者は、まず依存関係を確認します。既存プロジェクト、テンプレートから生成した直後の検証プロジェクト、CI/CDの3か所で確認すると漏れを防げます。

既存プロジェクトのPackageReferenceを確認する

プロジェクト内で Microsoft.Extensions.ServiceDiscovery を検索します。

grep -R "Microsoft.Extensions.ServiceDiscovery" .

Windows PowerShellでは次のように確認できます。

Select-String -Path .\* -Pattern "Microsoft.Extensions.ServiceDiscovery" -Recurse

.csproj に次のような参照がある場合は、今回の修正内容に沿っています。

<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.6.0" />

一方で、次のようにプレビュー版や社内変数を経由している場合は、復元できるパッケージか確認が必要です。

<PackageReference Include="Microsoft.Extensions.ServiceDiscovery" Version="10.6.0-preview.1.26210.2" />

Central Package Managementを使っている場合

Directory.Packages.props でパッケージバージョンを集中管理している場合は、プロジェクトファイルではなく管理ファイル側を確認します。

<ItemGroup>
  <PackageVersion Include="Microsoft.Extensions.ServiceDiscovery" Version="10.6.0" />
</ItemGroup>

この場合、個別の .csproj にはバージョンを書かない運用もあります。プロジェクト単位で修正すると、社内のバージョン管理ルールと衝突することがあるため、まずリポジトリのパッケージ管理方針を確認してください。

クリーンな環境でrestoreを実行する

ローカル端末ではキャッシュの影響で成功しても、CI/CDのクリーンエージェントでは失敗することがあります。特に、社内NuGetミラー、プロキシ、閉域ネットワークを使っている環境では、10.6.0 が取得できるかを確認してください。

dotnet restore
dotnet build

再現確認用にテンプレートから新規作成する場合は、次の流れで検証します。

dotnet new blazor-wasm-servicedefaults -o servicedefaults-check
cd servicedefaults-check
dotnet restore
dotnet build

NU1102 が出る場合は、生成された .csproj が古い参照を持っている、利用しているSDKやテンプレートが更新前である、またはパッケージソースに該当バージョンが存在しない可能性があります。

移行・展開時に失敗しやすいポイント

今回の更新は小さな差分ですが、社内開発基盤では意外に詰まりやすい種類の変更です。特に、テンプレート、NuGetフィード、ロックファイル、プレビューSDKが絡む環境では注意が必要です。

失敗パターン起きること対応
古いテンプレートから生成している10.6.0-preview... のような見つからないパッケージを参照するSDKまたはテンプレートを更新し、生成物を確認する
社内NuGetミラーに未同期ローカルでは成功、CIだけ失敗するMicrosoft.Extensions.ServiceDiscovery 10.6.0 をミラーに同期する
Directory.Packages.props と .csproj が不整合参照バージョンが二重管理になる集中管理ルールに合わせて片方へ寄せる
パッケージロックファイルが古い復元結果が想定とずれるロックファイルを更新し、CIでは再現性を確認する
Preview SDKを本番扱いで展開する後続Previewで再修正が必要になる検証環境と本番環境を分け、変更管理に記録する

元PR #66698では、この修正が「適切なdarc channelを判断するまでの回避策」と説明され、Preview 5ではこの対応を入れ、Preview 6までに依存関係の流れを直す趣旨のコメントも残されています。つまり、長期的な最終仕様として固定的に見るより、Preview段階の復元問題を回避するための実務的な修正として扱うのが安全です。(GitHub)

また、バックポートPRのマージ時には、変更自体はmainで検証済みとしつつ、Mac環境の一部チェックが利用できない状況だった旨のコメントもあります。macOS開発者を含むチームでは、Windowsだけで確認を終えず、実際に利用するOSごとに dotnet restore と dotnet build を実行しておくと安心です。(GitHub)

Purview連携アプリで確認すべきセキュリティ観点

今回の変更自体は、Purviewのセキュリティポリシーを強化する更新ではありません。それでも、Purview連携アプリは機密データ、ラベル、監査、コンプライアンス制御に関係することが多いため、依存関係の変更を軽く扱うべきではありません。

確認すべき観点は次のとおりです。

観点確認内容
パッケージソースnuget.orgまたは承認済み社内フィードから取得しているか
依存関係レビューMicrosoft.Extensions.ServiceDiscovery と関連パッケージのバージョン差異がないか
SBOM/脆弱性スキャンパッケージ更新後のスキャン結果に問題がないか
通信先制御Service Discoveryで解決されるAPIエンドポイントが想定どおりか
監査証跡Purview連携アプリの変更としてチケットやリリースノートに残しているか

特に、Service Discoveryはサービス名からエンドポイントを解決する仕組みです。構成ミスがあると、ビルドは通っても実行時に別環境のAPIへ接続する、ローカルでは動くが検証環境では解決できない、といった問題が起きます。NuGetの説明でも、構成ベースのエンドポイント解決、HttpClient との連携、appsettings.json などの構成ソースを使う仕組みが示されています。([NuGet][6])

エラーが出たときの切り分け

開発環境やCI/CDで失敗した場合は、Purviewのポリシー設定を疑う前に、.NETのパッケージ復元とテンプレート生成物を確認してください。

症状可能性が高い原因最初に見る場所
NU1102 Unable to find package Microsoft.Extensions.ServiceDiscovery公開フィードにないバージョンを参照している.csproj、Directory.Packages.props
ローカルでは成功し、CIで失敗社内NuGetミラーやプロキシが未同期nuget.config、CIログ
新規作成したプロジェクトだけ失敗古いSDKまたはテンプレートを使っているdotnet --list-sdks、テンプレート一覧
ビルド後にAPI接続で失敗Service Discoveryの構成不備appsettings.json、環境変数、Aspire AppHost
Purview API呼び出しだけ失敗認証・権限・Graph API側の問題Entra IDアプリ登録、APIアクセス許可、トークン

重要なのは、NU1102 はPurviewの権限不足やDLPブロックではなく、NuGetパッケージの復元問題として切り分けることです。Purview側のポリシーを緩めても、この種類のエラーは解決しません。

管理者・開発者・DevOpsの役割分担

今回のような更新は、誰か一人が対応するより、役割ごとに確認範囲を分けると早く片付きます。

役割やること
Microsoft Purview管理者Purview本体の設定変更が不要であることを確認し、連携アプリの有無を棚卸しする
アプリ開発者.csproj、Directory.Packages.props、dotnet restore の結果を確認する
DevOps担当CI/CD、社内NuGetミラー、テンプレート、ロックファイルを更新する
セキュリティ担当パッケージ取得元、SBOM、脆弱性スキャン、変更記録を確認する
ベンダー管理担当外部委託しているPurview連携アプリが該当テンプレートを使っていないか確認する

実務では、Purview管理者が「自分には関係ない」と判断して終わるのではなく、社内にPurview連携アプリがあるかどうかを確認するところまで行うと安全です。特に、AIアプリ、データ分類ポータル、ラベル適用支援ツール、監査レポート自動化ツールを内製している組織では、開発チームへ確認を回す価値があります。

今回の更新で次に取るべき行動

今回のMicrosoft Purview documentation updateは、Purviewの管理画面やセキュリティポリシーを直接変更するものではなく、.NET 11 Preview 5のBlazor WebAssembly Service Defaultsテンプレートに関する依存関係修正です。管理者はPurviewテナント設定を急いで変更する必要はありませんが、Purview APIやSDKと連携する社内アプリがある場合は、開発・DevOpsチームに確認を依頼してください。

まず行うべきことは、次の3つです。

  1. Purview連携アプリで blazor-wasm-servicedefaults や .NET 11 Previewを使っているか確認する
  2. Microsoft.Extensions.ServiceDiscovery の参照が 10.6.0 など復元可能な公開パッケージになっているか確認する
  3. ローカル端末だけでなく、CI/CDのクリーン環境でも dotnet restore と dotnet build を実行する

この更新をPurview本体のセキュリティ変更と誤解せず、Purview連携アプリの依存関係と展開基盤を点検するきっかけとして扱うのが、最も実務的な対応です。

[6]: https://www.nuget.org/packages/Microsoft.Extensions.ServiceDiscovery/10.6.0 “
NuGet Gallery
| Microsoft.Extensions.ServiceDiscovery 10.6.0
“

この記事を書いた人

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

コメント

コメントする

目次