Microsoft Power Platformから別テナントのバックエンドAPIへ閉域接続するための構成ガイド
Microsoft Power Platform(以下、Power Platform)から、別のMicrosoft Entra IDテナントで管理するバックエンドAPIへ、インターネットにAPIを公開せずに接続するには、通信経路と名前解決をどこに用意すればよいのでしょうか。
この記事では、次の要件を前提に構成を検討します。
- Power Platform環境は日本リージョンに配置されている。
- Power PlatformからバックエンドAPIを呼び出す。
- APIは別のMicrosoft Entra IDテナントで管理されている。
- APIをインターネットに公開せず、Azure Private Linkを使用して接続したい。
- APIの名前解決にはプライベートDNSを利用する。
Power PlatformのAzure Virtual Network(以下、VNet)統合と、接続元テナントに配置するPrivate Endpointを組み合わせる構成が基本です。
日本リージョンでは、東日本(Japan East)と西日本(Japan West)の両方にVNetと委任サブネットを用意します。この記事は公式資料に基づく設計ガイドであり、実環境での構築・疎通試験の結果を示すものではありません。
目次
- 1. 全体アーキテクチャ
- 2. Power PlatformのVNet統合
- 3. クロステナントPrivate Linkの仕組み
- 4. DNSの設定
- 5. ネットワーク以外に必要な設定
- 6. 必要な管理権限と担当分担
- 7. 構築と検証の進め方
- 8. 要件に対する推奨構成
1. 全体アーキテクチャ
以下は、接続先がAzure App ServiceまたはAzure FunctionsでホストされているAPIである場合の構成例です。
この構成には、役割の異なる4つの技術が使われます。
| 技術 | 担当する役割 |
|---|---|
| VNet統合 | Power PlatformからのAPI通信をAzure VNet内に出す |
| Private Endpoint | 接続元VNet内にAPIのプライベート接続先を作る |
| クロステナントPrivate Link | 別テナントで管理されているAPIとのプライベート接続を確立する |
| Private DNS | APIのホスト名をPrivate EndpointのプライベートIPに解決する |
特に重要なのは、VNet統合は通信の出口、Private Endpointは接続先への入口という役割の違いです。[1][3]
2. Power PlatformのVNet統合
Power Platformは通常、Microsoftが管理するサービス基盤で実行されるため、Azureの仮想マシンのように自分のVNetに直接配置することはできません。
そこで使用するのが、Power PlatformのAzure Virtual Networkサポート(サブネット委任)です。
この機能では、利用者が所有するAzure VNetのサブネットをPower Platformに委任し、サポートされるコンポーネントからのAPI通信をそのサブネット経由で実行させます。
日本リージョンで必要なリソース
| 項目 | Japan East | Japan West |
|---|---|---|
| Azure VNet | 必要 | 必要 |
| Power Platform委任サブネット | 必要 | 必要 |
| サブネット委任先 | Microsoft.PowerPlatform/enterprisePolicies |
同左 |
| エンタープライズポリシー | 両リージョンのサブネットを関連付ける | 同左 |
| Private Endpoint | ネットワーク設計に応じて配置 | ネットワーク設計に応じて配置 |
| DNS解決経路 | 必要 | 必要 |
Microsoftは、日本のPower Platform環境に対してjapaneastとjapanwestを対応リージョンとして明記しています。[1][2]
両リージョンに委任サブネットを用意することは、Power Platform側のフェールオーバーを考慮するための要件です。バックエンドAPI自体の冗長化とは別の話になります。
VNet統合の構築手順
- AzureにJapan EastとJapan WestのVNetを作成する。
- Power Platform用サブネットをそれぞれ用意し、サブネット委任を設定する。
- Azure上にエンタープライズポリシー(Enterprise Policy)を作成し、両サブネットを登録する。
- Power Platform環境をマネージド環境に設定し、適用するライセンス条件を確認する。
- Enterprise PolicyをPower Platform環境に関連付け、VNetサポートを有効化する。
- API通信の経路とDNS解決を検証する。
両委任サブネットは利用可能なIPアドレス数をそろえます。VNetサポートの有効化・無効化では最大30分の不安定化や利用不可が生じる場合があるため、既存環境への適用時には作業時間も確保します。[2]
注意点として、VNet統合はすべてのPower Platformコンポーネントに無条件で適用されるわけではありません。
Microsoftのドキュメントでは、Microsoft Dataverse(以下、Dataverse)のプラグイン、カスタムコネクタ、HTTP with Microsoft Entra ID (preauthorized)などが対象として挙げられています。実際に使うコネクタが対応しているか、個別に確認する必要があります。
また、VNet統合の有効化により、従来はインターネット経由でアクセスできていた接続先が、ネットワーク制御によって通信できなくなることがあります。既存のフローやプラグインへの影響評価も必要です。[2]
3. クロステナントPrivate Linkの仕組み
異なるテナント間でPrivate Linkを利用するときは、接続を開始する側(Consumer)とAPIを提供する側(Provider)に分けて考えます。
接続元をテナントA、API提供側をテナントBとした場合、次の分担です。
| 項目 | テナントA(Power Platform側) | テナントB(API側) |
|---|---|---|
| Power Platform | 保有 | なし |
| VNet統合 | 構成する | 不要 |
| Private Endpoint | 作成する | 必要に応じて別途作成 |
| バックエンドAPI | 呼び出す | 保有・運用 |
| Private Link接続 | 接続要求する | 接続を承認する |
| Private DNS | 接続元用の名前解決を構成 | 必要に応じて構成 |
| API認証・認可 | トークンなどを取得 | トークン検証・アクセス許可 |
Private Endpointを作成する場所
接続元であるテナントAにPrivate Endpointを作成します。
ただし、Power Platformに委任したサブネットに配置するのではなく、Private Endpoint用の別サブネットを利用する構成にします。
たとえば以下のようなアドレス設計です。
| リソース | アドレスの例 |
|---|---|
| Japan East VNet | 10.10.0.0/16 |
| Japan East Power Platformサブネット | 10.10.1.0/24 |
| Japan East Private Endpointサブネット | 10.10.2.0/27 |
| Japan West VNet | 10.20.0.0/16 |
| Japan West Power Platformサブネット | 10.20.1.0/24 |
| Japan West Private Endpointサブネット | 10.20.2.0/27 |
これらは設計例であり、既存ネットワークとのアドレス重複がないことを確認する必要があります。
クロステナント接続の確立手順
-
API提供側が接続情報を共有する
Azure App Serviceの場合、対象リソースの完全なAzure Resource IDと、サブリソース
sitesを提供します。 -
Power Platform側がPrivate Endpointを作成する
対象を別テナントのリソースIDで指定して、Private Endpoint接続を要求します。
-
API提供側が接続を承認する
API側の管理者がPrivate Endpoint接続を確認し、承認します。承認前は通信できません。
-
Power Platform側がDNSとルーティングを設定する
APIのFQDNをPrivate EndpointのIPに解決し、サブネットから到達できるようにします。
-
API呼び出しを検証する
DNS、TCP、TLS、API認証、アプリケーション応答を順に検証します。
Azure App ServiceとAzure Functionsでは、対応するプランのPrivate Endpoint機能を使います。追加でAzure Private Link Serviceを自作する必要はありません。App ServiceとFunctionsで利用可能なプランは同一ではないため、採用するプランの対応を確認します。[3][4]
一方、バックエンドAPIがAzure Virtual Machines(VM)、Azure Kubernetes Service(AKS)、独自のロードバランサー配下で動く場合には、Standard Load BalancerとAzure Private Link Serviceを組み合わせる方式を検討します。
4. DNSの設定
今回の設計では、DNSは重要な要素です。
Private Endpointを作成しても、APIの名前解決がパブリックIPを返してしまうと、Private Linkを利用した通信にはなりません。
したがって、Power PlatformのVNetからAPIのFQDNを引いたときに、正しいPrivate EndpointのIPが返るようにする必要があります。
App Serviceの例
APIが backend-api.azurewebsites.net という名前で提供されているとします。
必要なDNSリソース
Azureの標準DNSを利用する場合、一般的には次を用意します。
| リソース | 設定 |
|---|---|
| Private DNS Zone | privatelink.azurewebsites.net |
| DNSレコード | backend-api のAレコード |
| レコードの値 | Private EndpointのプライベートIP |
| Virtual Network Link | Power PlatformのVNetから解決できるよう関連付け |
| DNS Zone Group | Private EndpointとDNS Zoneを連携 |
App Serviceの場合、API呼び出しには元のホスト名 backend-api.azurewebsites.net を使用します。HTTPSの証明書検証やHostヘッダーとの整合性を維持するためです。
Private EndpointのIPをAPIのURLに直接指定する構成は避けるべきです。
また、Private DNS Zoneのレコード登録はクロステナント構成で自動化されない場合があります。接続元テナントの管理者がDNS設定を確認する必要があります。
Japan EastとJapan WestのDNSはどうするか
ここは、Private Endpointの配置とセットで設計する必要があります。
代表的な方式は次の2つです。
| 方式 | 特徴 |
|---|---|
| 各リージョンにPrivate Endpointを置き、DNSゾーンをVNetごとに分離 | リージョンごとに独立した接続を構成しやすい |
| Private Endpointを集約し、他リージョンからネットワーク接続する | リソース数を削減できるが、リージョン間ルーティングとDNS設計が必要 |
各リージョンに異なるプライベートIPのPrivate Endpointを作る場合には、同一ホスト名に対してどちらのIPを返すかを考える必要があります。
同じPrivate DNS ZoneにAレコードを2つ登録するだけでは、リージョンごとの適切な振り分けを保証できません。ここでは、各リージョンのVNetに、同じゾーン名の別々のPrivate DNS Zoneを関連付ける設計例を採用します。各ゾーンには、そのリージョンから到達させるPrivate EndpointのIPを登録します。DNSゾーンはリージョンに配置するリソースではなく、どのVNetに関連付けるかで名前解決の範囲を分けます。
リージョン別のDNSビューやDNSフォワーダー、Private DNS Resolver、VNetピアリングなどを使って、意図した接続先に解決させる設計が必要になります。
また、Power PlatformのVNetサポートは、VNetに設定されたカスタムDNSを利用できます。企業内DNSと統合する場合には、Azure DNS Private Resolverや条件付き転送の利用が候補となります。[5][1]
5. ネットワーク以外に必要な設定
Private LinkとDNSが完成しても、それだけでAPIを呼び出せるわけではありません。通信経路、認証、Power Platform側の実行条件まで確認する必要があります。
ネットワークとアクセス制御
| 項目 | 設計・確認内容 |
|---|---|
| NSG | Power Platform委任サブネットからPrivate EndpointへのHTTPS通信を許可する |
| ルートテーブル | APIまでの経路が正しく確保され、意図しない経路へ転送されないこと |
| VNetピアリング | リージョン間またはHub-Spoke間で必要に応じて設定する |
| Private Endpoint接続 | API提供側で承認済みになっていること |
| APIのパブリックアクセス | 閉域接続の要件に合わせて無効化する |
| TLS | DNS名とAPIのサーバー証明書が一致すること |
| 認証・認可 | Private Linkとは別にMicrosoft Entra IDやOAuthなどで制御する |
Private Linkはネットワーク上のプライベート接続を提供するもので、APIの認証機能ではありません。App Serviceでは、Private Endpointの作成だけでパブリックアクセスが無効になるとは限らず、別途無効化します。また、App Serviceのアクセス制限ルールはPrivate Endpoint経由の要求では評価されません。[4]
クロステナント構成の場合、APIにアクセスするアプリケーションのID、トークンの発行元、API側のアクセス許可も設計対象です。
Power Platform特有の注意点
特にカスタムコネクタを利用する場合、Microsoft公式資料では次の制約が示されています。
- VNet統合より前に作成したカスタムコネクタは再保存が必要。
- APIエンドポイントへの要求はVNetを経由する。
- OAuth認証・トークン取得要求は、そのVNetを経由しない。
- 特定のトリガーやカスタムコードに制約がある。
したがって、APIへの通信経路と、認証トークンを取得する経路を分けて考える必要があります。[6]
6. 必要な管理権限と担当分担
実際の構築では、Power Platform管理者だけで完結しません。
| 作業 | 主な担当者・権限 |
|---|---|
| VNetとサブネットの作成 | テナントAのAzureネットワーク共同作成者など |
| サブネット委任 | テナントAのAzureネットワーク管理者 |
| Enterprise Policyの作成 | テナントAのAzureリソース管理担当 |
| Power Platformへの関連付け | Power Platform管理者。Enterprise Policyに対する読み取り権限も必要 |
| Private Endpointの作成 | テナントAのAzureネットワーク管理者 |
| Private Link接続の承認 | テナントBの対象APIリソース管理者 |
| Private DNSの設定 | テナントAのDNS管理担当 |
| API認証設定 | テナントA・Bのアプリケーション管理担当 |
Power Platform VNetサポートの構築には、AzureとMicrosoft Entra IDの両方で適切な権限が必要です。
7. 構築と検証の進め方
まずは本番環境に一括適用するのではなく、テスト用Power Platform環境で疎通を確認することをおすすめします。
構築・検証チェックリスト
- 日本リージョンに対応したEast / WestのVNetを準備
- 委任サブネットとEnterprise Policyを作成
- Power Platform環境でVNet統合を有効化
- 接続元側にPrivate Endpointを作成
- API提供側でクロステナント接続を承認
- Private DNS Zoneと名前解決経路を構成
- APIのFQDNがプライベートIPに解決されることを確認
- TCP 443とTLSの接続を検証
- Power Platformの実際のコネクタからAPIを実行
- Japan East / West両方の通信・障害時動作を検証
- パブリック経路からのアクセスが遮断されていることを確認
障害が発生した際には、次のように切り分けます。
| 症状 | 主に疑う箇所 |
|---|---|
| APIがパブリックIPに解決される | Private DNS Zone、VNet Link、DNSフォワーダー |
| DNSは正常だが接続タイムアウト | NSG、ルーティング、Private Endpoint接続状態 |
| HTTP 403 | API認可、パブリックIPへの誤解決、Private Endpoint経路。App Serviceのアクセス制限ルールはPrivate Endpoint経由では評価されない |
| HTTP 401 | Microsoft Entra ID、OAuth、トークン設定 |
| 特定のコネクタだけ失敗する | Power PlatformのVNet対応範囲、コネクタ固有の制約 |
| 東日本で動くが西日本で失敗する | 西日本側のDNS、Private Endpoint、通信経路 |
なお、Power Platformの委任サブネット内には一般的な検証用VMを直接配置しないため、別の検証用サブネットにVMを配置してDNSとネットワークの疎通を確認し、最後にPower Platformの実際の呼び出し元から確認する方法が現実的です。
8. 要件に対する推奨構成
現時点では、以下を基本設計の出発点にするのがよいと考えます。
| 設計項目 | 推奨 |
|---|---|
| Power Platformの配置 | 日本リージョン |
| VNet統合 | Japan EastとJapan Westの委任サブネット |
| Enterprise Policy | 両リージョンを登録したポリシー |
| Private Endpoint | 接続元テナントAに配置 |
| クロステナント接続 | テナントBのAPIリソースに対する接続要求と承認 |
| DNS | 接続元側にPrivate DNS Zone、または既存DNS基盤との連携 |
| API通信 | HTTPS / TLS |
| API認証 | Microsoft Entra IDなど |
| 冗長性 | 両リージョンでの名前解決とPrivate Link到達性を検証 |
設計前に確定しておくべきこと
ここまでの構成は、APIがAzure App Service / Functionsで提供される想定です。実際には、次の3点が構成を大きく左右します。
- APIのホスティング先:App Service / Functions / API Management / AKS / VMのどれか。Private EndpointとPrivate Link Serviceのどちらを使うかに関係します。
- Power Platformの呼び出し方式:カスタムコネクタ、Power AutomateのHTTPアクション、Dataverseプラグインのどれか。VNet対応範囲に関係します。
- DNSの既存構成:Azure DNSを使っているか、企業独自のDNSサーバーが存在するか。名前解決の設計に関係します。
特に次の検討段階では、東日本・西日本のVNetから別テナントのAPIへどう到達させ、どこでDNSを解決するかを、物理構成に近いネットワーク図に落とし込むことが重要です。
この3点が確定すれば、Azureリソースの配置、アドレス体系、DNS Zone、VNet Link、Private Endpoint接続、必要権限までを具体的な構築手順として整理できます。
参考資料
資料の確認日:2026年11月5日。英語版の本文を確認し、参考リンクには日本語版を掲載しています。ネットワーク構成とアドレスは設計例です。
- Power PlatformのVNetサポートの概要(Microsoft Learn)
- Power PlatformのVNetサポートの設定(Microsoft Learn)
- Private Endpointによるクロステナントのアプリ接続(Microsoft Learn)
- App ServiceでのPrivate Endpointの使用(Microsoft Learn)
- Azure Private EndpointのプライベートDNSゾーン(Microsoft Learn)
- カスタムコネクタの概要とVirtual Networkの制約(Microsoft Learn)
- マルチテナント構成でのAzure Private Linkの設計(Microsoft Learn)