Microsoft FoundryのCapability Hosts導入チェックリスト|安全なプライベート接続の前提条件と設定順序

Microsoft Foundry でオンプレミス API や社内限定サービスへ安全に接続したい管理者が最初に押さえるべき答えは、Private Endpoint だけでは agent の実行経路は私設ネットワークに入りきらないという点です。2026年4月20日に公開された Microsoft Foundry Blog は、Project / Agent Capability Hosts を見落とすと、VPN・ExpressRoute・社内 DNS・Private Link を整えても secure private AI connectivity は完成しないと整理しました。さらに Learn の公式ドキュメントでは、Capability Host はアカウント/プロジェクトのサブリソースとして扱われ、1スコープ1つ、更新不可、現在は REST API ベースで管理する前提が示されています。つまり、発表直後に管理者が確認すべきなのは「設定の有無」だけではなく、展開順序と変更管理の組み方です。 (TECHCOMMUNITY.MICROSOFT.COM)

この記事では、Microsoft Foundry / Agent Capability Hosts をこれから導入する管理者向けに、導入前、設定、周知、展開順序、運用ガードレールまでをそのまま使えるチェックリスト形式で整理します。

目次

2026年4月20日の更新で押さえるべき本質

今回の更新で重要なのは、「Private Endpoint は入口の保護であり、agent の outbound 実行場所を決めるものではない」と Microsoft が明確に言語化したことです。Foundry の network isolation ドキュメントでも、inbound access、Foundry resource からの outbound access、そして Foundry Agent client から依存先へ出る outbound access を分けて説明しています。後者を社内ネットワーク境界の中へ入れるには、VNet injection と Capability Host が実質的な前提になります。 (TECHCOMMUNITY.MICROSOFT.COM)

以下の2つを混同すると、設計もトラブルシュートも外しやすくなります。 (TECHCOMMUNITY.MICROSOFT.COM)

誤解実際
Foundry に Private Endpoint を作れば、agent の通信も自動で VNet に入るPrivate Endpoint は主に inbound の保護。agent の outbound を VNet 経由にするには、Capability Host と subnet 側の準備が必要
VM で DNS 解決できるなら、agent も同じ結果になるCapability Host がないと agent runtime はその VNet/DNS 経路を継承しないことがある

この前提を外すと、「VM では成功、agent だけ失敗」という典型パターンにそのまま入ります。Microsoft の 4 月 20 日の blog でも、この症状は DNS 設計そのものより agent がどこで実行されているか を誤認しているケースで起きやすいと説明されています。 (TECHCOMMUNITY.MICROSOFT.COM)

まずは影響範囲を判定する

自社がどの構成を選ぶべきか

以下は、管理者が最初に切り分けるべき導入パターンです。Environment setup、Capability hosts、network isolation、managed virtual network の公式ドキュメントをもとに整理しています。 (Microsoft Learn)

いまの要件Capability Hosts の優先度推奨構成見落としやすい点
Foundry への private inbound だけ必要低Private Endpoint と DNS 構成inbound と agent outbound を混同しない
データ所有権、CMK、自社ストレージ運用が必要高Standard Setupaccount / project capability host と project connection が必要
agent からオンプレ API や private PaaS を呼びたい最重要Standard Setup + Private Networkingdelegated subnet、private DNS、same region、subnet binding が必要
preview を許容して Microsoft 管理ネットワークも検討したい高Managed VNet(preview)カスタム VNet からのアップグレード不可、再デプロイ前提、機能差分の確認が必要

Private Network Isolation は Standard Setup で使う前提で整理されており、managed virtual network は 2026年4月時点で preview、無効化不可、custom VNet からの移行パスなしという制約があります。preview を本番標準にするかどうかは、ネットワーク要件だけでなく変更管理と再デプロイ許容度で判断したほうが安全です。 (Microsoft Learn)

用語のズレで迷わないための整理

ここは実務上かなり大事です。2026年4月20日の blog は Project Capability Host と Agent Capability Host という表現で、「どの subnet に agent runtime を入れるか」という実行面の考え方を強調しています。一方、現行 Learn ドキュメントで管理対象として明示されているのは account-level と project-level の Capability Host です。階層は service defaults → account-level → project-level で、より具体的な設定が上位を上書きします。 (TECHCOMMUNITY.MICROSOFT.COM)

管理者向けの運用手順は、account capability host をサービス有効化と既定値の管理対象、project capability host を実際の接続先・保存先・subnet ひも付けの管理対象として組むのが安全です。加えて、現在の docs では Capability Host は 1 スコープ 1 つ、更新不可、REST API 管理です。つまり、本番での変更は「あとで画面で直す」想定ではなく、再作成を前提にした change window として扱うべきです。 (Microsoft Learn)

Microsoft Foundry / Agent Capability Hosts の導入前チェックリスト

設計前に以下が埋まっていなければ、実装に進まないほうが手戻りを減らせます。Rollout guidance、RBAC、networking、baseline architecture をもとにした管理者向けチェックです。 (Microsoft Learn)

確認項目何を決めるか完了の目安
環境分離dev / test / prod の subscription・resource group・Entra グループ分離環境ごとの所有者と承認者が定義済み
リージョンFoundry、VNet、Storage、Cosmos、Search、モデル配置の整合「同一リージョン前提」で設計書に固定済み
Resource Provider必要 namespace の登録事前登録済みでテンプレート実行時に止まらない
RBAC 体制Azure AI Account Owner、Role Based Access Control Administrator / Owner、Azure AI User の担当誰がどのスコープで付与するか明文化済み
プロジェクト分割ルールどの access pattern ごとに project を分けるか「同じ project に載せてよい agent」の基準がある
認証方針Entra ID を標準にするか、API key を例外にするか本番は Entra ID、例外時の承認ルールあり
Connection 方針project-level を基本にするか、account-level を使う例外を定めるか共有接続の使用条件が明文化済み
Hosted / Preview 判定hosted agents、managed VNet preview を使うかrecreate-sensitive な変更として別扱いになっている

特に重要なのは、同じ project 内の agent は同じ managed identity を共有する点です。異なる権限境界が必要な agent を 1 project に混在させると、最小権限設計が崩れやすくなります。Microsoft の baseline architecture でも、異なる access pattern を持つ agent は project を分けること、connection は project-level を優先し、account-level connection は広すぎる権限になりやすいと警告しています。 (Microsoft Learn)

また、本番の認証方式は Entra ID が基本です。Microsoft は production workload で Entra ID を推奨し、API keys は rapid prototyping 向けと整理しています。Capability Host、networking、connection、agent 実行の担当が分かれるほど、後で監査しやすい Entra ID 前提のほうが運用しやすくなります。 (Microsoft Learn)

設定チェックリスト

先に作るもの、後で作るもの

Capability Host を「最後に足すオプション」と考えると順番を外しやすいので、以下の順で固定しておくと安全です。Standard setup と private networking の公式手順、および Capability Host の概念ページをもとにしています。 (Microsoft Learn)

順序やること完了の目安飛ばすと起きやすいこと
1Azure Storage、Azure Cosmos DB for NoSQL、Azure AI Search を用意する。必要に応じて Key Vault / App Insights も決める依存リソースの所有者と配置先が確定後続の host 作成や監査設計が止まる
2Foundry account、project、モデル配置を作るaccount / project / model が揃うagent 作成以前の前提が不足する
3project connections を作る。Storage、Cosmos、Search、必要なら Azure OpenAI を project へ接続するconnection 名が project 上で確認できるresource ID だけあっても host から参照できない
4project managed identity に必要 RBAC を付与するIAM 画面で scope と role を確認済み403、index 作成失敗、ファイル保存失敗
5account capability host を作るstatus が Succeeded標準化した既定値や service enablement が曖昧になる
6project capability host を作る。Storage / Cosmos / Search の connection 名、必要なら aiServicesConnections、private 構成なら customer subnet 情報を入れるstatus が SucceededVNet injection が起きない、保存先が意図どおりにならない
7private networking を作る。delegated agent subnet、private endpoints、private DNS、PNA 無効化、必要な firewall 設定を揃えるprivate IP 解決が確認できるVM は成功、agent だけ失敗する
8VNet 内または VPN / ExpressRoute 先から疎通確認し、agent を再デプロイまたは再検証するtarget API まで agent で到達確認401 / 403 / timeout の切り分けが曖昧なまま残る

ここでの落とし穴は 3 つあります。
1つ目は、Capability Host は connection 名を参照するので、ARM resource ID を持っているだけでは不十分なこと。
2つ目は、1 scope 1 host・update 不可・REST 管理であること。subnet や接続名を後から修正する場合は、再作成前提で change window を切る必要があります。
3つ目は、private networking の agent subnet が Microsoft.App/environments に delegated された専用 subnet であることです。推奨サイズは /24、最小は /27、共有不可、RFC1918 の private range が前提です。 (Microsoft Learn)

検証コマンドの最低限

検証は、VNet 内の VM か VPN / ExpressRoute で接続したオンプレ端末 から行います。まずは Foundry endpoint と、依存する private endpoint 側の FQDN が private IP に解決されるかを確認します。 (Microsoft Learn)

nslookup <your-foundry-endpoint-hostname>
nslookup <your-private-service-fqdn>
Test-NetConnection <private-endpoint-ip> -Port 443

Foundry の docs では、private endpoint の状態が Approved であること、VNet 内から Foundry endpoint が private IP に解決されること、443/TCP が到達することを最低確認としています。Storage、Search、Cosmos DB、社内 API も、同じネットワーク条件で名前解決と疎通を確認してください。 (Microsoft Learn)

Hosted agents を含む場合の注意

2026年4月の docs を合わせてみると、hosted agents の private networking 周りは要件整理が細かく更新されています。4月22日更新の hosted agents docs では network-isolated Foundry resource へのデプロイが案内される一方、private networking setup docs では network injection は account 作成時に含める必要があり、既存 account への後付けはサポートされないと書かれています。少なくとも本番で hosted agents を含めるなら、「既存 account に後から足す」前提ではなく、新規 account で先に検証するほうが安全です。 (Microsoft Learn)

周知チェックリスト

技術設定だけでなく、誰に何を伝えるかを決めておかないと、発表直後の社内展開は失敗しやすくなります。以下は管理者が先に共有しておきたい内容です。 (TECHCOMMUNITY.MICROSOFT.COM)

周知先伝える内容伝えないと起きやすい誤解
ネットワーク担当Private Endpoint は inbound 側、agent outbound は Capability Host と delegated subnet 側の話「VM で通るから DNS/VPN は問題ないはず」で調査が止まる
セキュリティ / GRC同じ project の agent は同じ managed identity と connection 境界を共有する。project 分離が最小権限の基本1 project に複数業務を載せて権限境界が崩れる
開発 / agent オーナー401 は network 復旧後に出ることがある。これは auth 切り分けに進んだサインネットワーク側の問題だと思い込み続ける
運用 / ヘルプデスクCapability Host は update 不可、409 は既存 host か同時操作、Pending は PE 承認や DNS を確認誤った切り戻しや場当たり対応が増える
変更承認 / 予算管理Standard Setup は customer-owned resources 前提で、Storage / Cosmos / Search の運用コストが増える。managed VNet preview の approved outbound では managed Azure Firewall コストも発生し得る「単なる設定追加でコスト影響は小さい」と誤解される

本番周知では、「Capability Host を追加したら終わり」ではなく、project 分離、connection 境界、identity、再作成前提の変更管理までまとめて伝えると混乱が減ります。Microsoft の標準設計や高可用性ガイドでも、state store を customer-owned resource として運用するなら、権限境界と削除保護を合わせて設計することが推奨されています。 (Microsoft Learn)

展開順序

最も事故が少ないのは、ネットワークの複雑さではなく access pattern の単純さ から pilot を始める順番です。Foundry の rollout guidance は、subscription / resource group、identity groups、region、security requirement を先に決めることを勧めていますし、baseline architecture は production で portal 主導の project 作成を避けるよう警告しています。 (Microsoft Learn)

  1. まずは 1 project、1 delegated subnet、1 private API の最小構成で pilot を作る
  2. DNS、private endpoint、managed identity、connection 認証を通す
  3. 同じ access pattern の workloads だけ横展開する
  4. 別の接続先や権限境界が必要な agent は、新しい project として分ける
  5. 検証が通ってから Azure Policy、delete lock、portal 制限を入れて本番へ広げる

この順番なら、「project を分けるべきだった」「subnet を変えたいが host を更新できない」「portal から作った project が intended perimeter を外れた」といった手戻りを本番前に潰しやすくなります。 (Microsoft Learn)

よくある失敗と対処

以下は、実際に管理者が最も踏みやすいポイントです。4月20日の blog と Learn の troubleshooting / networking / standard setup docs をベースに整理しています。 (TECHCOMMUNITY.MICROSOFT.COM)

症状まず見る場所典型原因次の一手
VM からは成功、agent だけ失敗project capability host、customer subnet、association 状態agent runtime が VNet に入っていないhost と subnet binding を確認し、agent を再検証する
401 が出るconnection 認証、header、audienceprivate path は復旧したが認証が崩れているtoken / credential / auth flow を確認する
Capability Host 作成で 409、更新で失敗既存 host、同時操作、update 実施有無1 scope 1 host、update 不可既存 host を GET で確認し、必要なら delete/recreate で切り替える
Private Endpoint が Pending、または public IP に解決されるPE 承認、private DNS zone link、on-prem DNS forwarder承認不足、DNS 未連携承認後に privatelink 解決を再確認する
subnet を正しく切ったつもりなのに動かないsubnet delegation、IP range、共有有無shared subnet、サイズ不足、誤った IP plandedicated subnet、/24 推奨・/27 最小、private range を再確認する
private で tool の挙動が想定と違うtool support matrix、portal / agent typenetwork isolation 未対応または部分対応tool ごとの support matrix を先に確認する

tool 周りでは、「動くかどうか」と「完全に private かどうか」を分けて考えるのが重要です。例えば、network isolation docs では public endpoint tools は動作しても public internet を使うと説明されていますし、Publish Agent to Teams / M365 は network isolation 非対応、Workflow Agents の outbound virtual network injection は未対応、Blob Storage の File Search も private networking docs で非対応とされています。network fault と機能制約を混同しないことが大切です。 (Microsoft Learn)

補足すると、subnet 設計そのものが原因になることもあります。private networking docs では RFC1918 の private IP range を前提とし、172.17.0.0/16 は Docker bridge networking 用に避けるよう案内しています。VNet だけ正しければよい、とは考えないほうが安全です。 (Microsoft Learn)

本番運用で追加したいガードレール

ここまでを設定できても、運用ガードレールがなければ長期運用で崩れます。Microsoft の Azure Policy、HA/DR、baseline architecture から、管理者が最初に入れておきたいものを絞ると次のとおりです。 (Microsoft Learn)

ガードレール目的実務メモ
Azure Policy で valid Agent capability host を audithost 抜けの早期発見まず audit、慣れてから prod だけ deny に寄せる
Foundry / Cosmos / Search / Storage に delete lock誤削除防止Foundry account lock は projects、models、connections、agent capability hosts も守れる
project は UAMI 優先再作成時の role 再付与を減らすproject / capability host 復旧の手間を減らせる
IaC と source control を標準化再現可能な再展開agent 定義、connection、prompt、tool 設定を repo に残す
production portal access を最小化情報露出と事故を減らすportal 閲覧だけのつもりでも data plane 事故を避けにくい

運用面で特に見落としやすいのは 2 点です。1つ目は、Foundry の built-in AI role には data plane を安全に「閲覧だけ」にする read-only 役割がないこと。2つ目は、Foundry account を復旧しても private endpoints は戻らないことです。したがって、本番 runbook には「private endpoint 再作成」「agent 定義と connection の再展開」「delete lock の付け直し」まで明記しておくべきです。 (Microsoft Learn)

最後にやること

要点を一文でまとめると、Microsoft Foundry の secure private AI connectivity は「Private Endpoint を作ったか」ではなく、agent がどこで実行され、どの connection と subnet を Capability Host で束ねたかで決まります。今日やるべきことは 3 つです。影響を受ける project を洗い出す、project 分離ルールと展開順序を決める、IaC で account / project capability host と private networking の検証を先に通す。この順番なら、2026年4月20日の更新を踏まえた展開でも、設定差分、周知項目、運用リスクを一度に揃えやすくなります。 (TECHCOMMUNITY.MICROSOFT.COM)

この記事を書いた人

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

コメント

コメントする

目次