Azure App ConfigurationのNSP対応とは?Azure Networking更新の影響と設定確認ポイント

2026年5月20日の更新で、Azure App Configuration ストアを Azure Network Security Perimeter(NSP)の管理対象として扱うための Azure CLI サポートが追加されました。重要なのは、単に新しいコマンドが増えたことではありません。App Configuration の公開ネットワークアクセスを、NSPの境界ルールで制御する運用に移行できるようになった点です。(GitHub)

管理者がまず確認すべきことは、既存の App Configuration ストアが public network access、Private Endpoint、CI/CD、アプリ実行環境のどれに依存しているかです。特に --public-network-access SecuredByPerimeter は強力な設定ですが、準備不足のまま適用すると、アプリの起動時設定取得、機能フラグの更新、運用者のポータル確認が失敗する可能性があります。

目次

Azure Networkingの更新で何が変わったか

今回の更新では、Azure CLI の az appconfig に App Configuration 向けの NSP 管理コマンドと、公開ネットワークアクセスを制御する新しいパラメーターが追加されました。PR上では、az appconfig network-security-perimeter-configuration list/show/reconcile の追加、az appconfig create/update --public-network-access の追加、旧 --enable-public-network の非推奨化が明記されています。(GitHub)

変更点内容実務上の意味
NSP構成の確認コマンド追加list、show、reconcile が追加App Configuration ストアに関連付く NSP 構成、プロファイル、アクセスモードをCLIで確認しやすくなる
--public-network-access の追加Disabled、Enabled、SecuredByPerimeter を指定可能公開ネットワークからのデータプレーン通信を、従来より明確な値で制御できる
SecuredByPerimeter の追加NSPと関連付ける場合に使う値。CLI上ではプレビュー扱い本番適用前に動作確認、ログ確認、ロールバック手順が必要
--enable-public-network の非推奨化新しい --public-network-access への移行が推奨される自動化スクリプト、Terraform外部実行、Azure DevOps/GitHub Actionsのコマンド見直しが必要
相互排他チェック--enable-public-network と --public-network-access の同時指定はエラー古いテンプレートと新しい引数が混在するCI/CDで失敗しやすい

App Configuration の ARM/Bicep/Terraform AzAPI リファレンスでも、publicNetworkAccess の値として Disabled、Enabled、SecuredByPerimeter が示されています。つまり、CLIだけでなくIaCでもこのプロパティを明示する設計に寄せるのが自然です。(Microsoft Learn)

Network Security PerimeterをApp Configurationに適用する意味

Azure Network Security Perimeter は、仮想ネットワーク外に配置されるPaaSリソースの周囲に論理的な境界を作り、境界外とのパブリックな受信・送信通信を明示的なルールで制御する仕組みです。NSPには、境界内リソース同士の通信、外部公開アクセスのルール管理、監査ログ、複数PaaSリソースを横断した一元的な管理といった特徴があります。(Microsoft Learn)

App Configurationで重要なのは、設定値や機能フラグがアプリの起動や実行中の判断に直結する点です。たとえば、App Service、Azure Functions、AKS、VM上のアプリが起動時に App Configuration へ接続できなくなると、アプリ自体はデプロイ済みでも正常に動作しないことがあります。

NSP対応は「App Configurationの認証が不要になる」機能ではありません。Microsoft Entra ID、アクセスキー、RBAC、ローカル認証無効化などの認証・認可とは別に、ネットワーク境界を制御するものです。disableLocalAuth などの認証関連設定は、publicNetworkAccess とは別プロパティとして扱われます。(Microsoft Learn)

影響範囲:管理者・開発者・DevOpsが見るべきポイント

今回の更新はネットワーク管理者だけの話ではありません。App Configuration はアプリケーション設定の中枢になりやすいため、運用チーム、開発チーム、CI/CD担当者が同じ前提で確認する必要があります。

対象者確認すべきこと放置した場合のリスク
Azure管理者既存ストアの publicNetworkAccess、Private Endpoint、NSP関連付け、アクセスモード公開アクセスを塞いだ後に、正当なアプリや管理者も接続できなくなる
ネットワーク/セキュリティ担当NSPプロファイル、受信ルール、送信ルール、ログカテゴリルール不足により通信遮断、または過剰許可により境界の意味が薄れる
開発者アプリの設定取得タイミング、リトライ、キャッシュ、起動失敗時の動作設定取得エラーがアプリ障害として表面化する
DevOps担当Azure CLIバージョン、デプロイコマンド、旧引数の使用有無--enable-public-network と新引数の混在でパイプラインが失敗する
ガバナンス担当Azure Policy、Bicep/Terraform、例外申請フローポリシーは準拠しているのに、NSP運用では未整備という状態になる

App Configuration は Private Endpoint も利用できます。Private Endpointでは、仮想ネットワーク内のプライベートIP経由で App Configuration に接続でき、Microsoftバックボーン上で通信できます。App Configuration の Private Endpoint はSKUごとに上限があるため、StandardやPremiumで複数環境・複数リージョンを扱う場合は、事前に上限も確認してください。(Microsoft Learn)

--public-network-access の値はどう選ぶべきか

--public-network-access は、App Configuration のデータプレーンに対する公開ネットワークアクセスを制御します。今回の更新で、Enabled、Disabled、SecuredByPerimeter をCLIから明示しやすくなりました。(GitHub)

値向いているケース注意点
Enabled移行前の暫定運用、外部ネットワークからのアクセスが必要な検証環境便利だが、ゼロトラストや境界制御の観点では最小化したい
DisabledPrivate Endpoint経由に限定したい環境管理者端末、CI/CD、アプリ実行基盤がPrivate Link経由で到達できるか確認が必要
SecuredByPerimeterNSPで公開ネットワークアクセスを境界ルールに従って制御したい環境CLI上ではプレビュー扱い。関連付けやルールが未整備だと通信断の原因になる

特に SecuredByPerimeter は慎重に扱うべきです。Azureの移行ドキュメントでは、publicNetworkAccess を SecuredByPerimeter に設定したリソースは、NSPにまだ関連付いていない場合でもロックダウン状態で作成され、Private Linkが構成されていればその通信のみ許可されると説明されています。NSPに関連付けた後は、NSPのアクセスルールが通信可否を決めます。(Microsoft Learn)

まず実行する確認コマンド

最初に、利用しているAzure CLIで新しいコマンドが使えるか確認します。PRは2026年5月20日にマージされていますが、実際に手元のCLIやCloud Shellで利用できるかはリリース状況に依存します。コマンドが見つからない場合は、Azure CLIを更新してから再確認してください。

az --version
az appconfig network-security-perimeter-configuration -h

既存の App Configuration ストアの公開ネットワークアクセス設定を確認します。

az appconfig show \
  --resource-group <RESOURCE_GROUP> \
  --name <STORE_NAME> \
  --query "{name:name, publicNetworkAccess:publicNetworkAccess}" \
  --output table

NSP構成が関連付いているか確認します。

az appconfig network-security-perimeter-configuration list \
  --store-name <STORE_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --output table

特定のNSP構成を詳しく確認する場合は show を使います。

az appconfig network-security-perimeter-configuration show \
  --store-name <STORE_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --name <NSP_CONFIGURATION_NAME>

NSP側の関連付けやルール変更後、App Configuration側の有効な構成が古いように見える場合は reconcile を使います。これは指定したNSP構成の更新を強制的に再同期する操作であり、足りないアクセスルールを自動で作るコマンドではありません。App Configuration REST APIでも、NSP構成の Get、List By Configuration Store、Reconcile が 2025-08-01-preview APIとして定義されています。(Microsoft Learn)

az appconfig network-security-perimeter-configuration reconcile \
  --store-name <STORE_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --name <NSP_CONFIGURATION_NAME>

新規作成時にNSP前提の公開ネットワークアクセスを指定する例です。

az appconfig create \
  --resource-group <RESOURCE_GROUP> \
  --name <STORE_NAME> \
  --location <LOCATION> \
  --sku Standard \
  --public-network-access SecuredByPerimeter

既存ストアを更新する例です。

az appconfig update \
  --resource-group <RESOURCE_GROUP> \
  --name <STORE_NAME> \
  --public-network-access SecuredByPerimeter

旧来の --enable-public-network は使い続けないほうが安全です。新旧の引数を同時に指定すると相互排他エラーになるため、CI/CD内の共通テンプレートや再利用スクリプトを必ず見直してください。(GitHub)

既存環境で安全に移行する手順

既存の本番 App Configuration ストアでは、いきなり SecuredByPerimeter や強制モードに寄せるのではなく、通信実態を把握してから段階的に移行します。NSPの移行ドキュメントでは、既存PaaSリソースを移行する際に、まずTransitionモードで既存のアクセスパターンを把握し、その後Enforcedモードへ移る考え方が示されています。(Microsoft Learn)

手順実施内容確認ポイント
棚卸しApp Configuration ストア、利用アプリ、CI/CD、管理者アクセス経路を一覧化どのアプリがどのタイミングで設定を取得するか
現状確認publicNetworkAccess、Private Endpoint、DNS、SDK接続先を確認パブリック経由・Private Link経由のどちらに依存しているか
NSP関連付けNSP、プロファイル、アクセスルールを設計受信元IP、サブスクリプション、境界内リソースを過不足なく定義
観察期間Transition相当のモードやログで通信を確認拒否される予定の通信、不要な通信、想定外の外部アクセス
切り替え--public-network-access SecuredByPerimeter を適用メンテナンス枠、ロールバックコマンド、関係者連絡を準備
再同期と検証reconcile、アプリ起動、機能フラグ更新、ポータル確認アプリログ、NSPログ、App Configuration取得エラー

ここで失敗しやすいのは、アプリ本体の通信だけを見て、CI/CDや運用者のアクセスを見落とすケースです。たとえば、GitHub Actionsのホステッドランナーや社外ネットワークから設定値を投入している場合、NSP適用後にデプロイだけ失敗することがあります。自己ホストランナーをPrivate Link到達可能なネットワークに置く、または必要なアクセスルールを設計するなど、デプロイ経路も含めて確認してください。

ログと監査で見るべき項目

NSPの運用では、設定を入れて終わりではなく、ログを見て「どの通信が許可され、どの通信が拒否されるべきか」を継続的に確認することが重要です。Azure Monitorには microsoft.network/networksecurityperimeters 向けの NSPAccessLogs テーブルがあり、NSPアクセスルールに基づいて許可されたインバウンドアクセスログを扱います。(Microsoft Learn)

App Configuration のNSP構成取得結果には、networkSecurityPerimeter、profile、resourceAssociation、provisioningState、provisioningIssues などの情報が含まれます。provisioningIssues には、構成伝播失敗、境界構成不足、マネージドID構成不足などの問題種別が返る可能性があります。(Microsoft Learn)

運用で見るべきポイントは次の通りです。

観点確認内容
アクセスモードresourceAssociation.accessMode が想定通りか
ルールの鮮度accessRulesVersion が変更後の値になっているか
診断設定diagnosticSettingsVersion と有効ログカテゴリが想定通りか
プロビジョニング状態Succeeded 以外が続いていないか
問題通知provisioningIssues に MissingPerimeterConfiguration や MissingIdentityConfiguration が出ていないか

reconcile は、こうした構成の反映ずれを疑うときに使う確認・再同期の手段です。ただし、通信要件の洗い出し不足やルール設計ミスを自動修復するものではありません。

Private Endpointとの使い分け

NSPとPrivate Endpointは競合する機能ではありません。Private Endpointは、仮想ネットワークから App Configuration にプライベートIPで接続するための仕組みです。一方、NSPはPaaSリソースの公開ネットワークアクセスを境界として制御する仕組みです。AzureのNSP移行ドキュメントでも、Private Link経由のアクセスはNSPの影響を受けないと説明されています。(Microsoft Learn)

判断基準は次のように考えると実務で迷いにくくなります。

構成向いているケース
Private Endpoint中心アプリがVNet内、またはExpressRoute/VPN経由の閉域網からのみ利用する
NSP中心複数のPaaSリソースを境界でまとめ、外部公開アクセスを一元的に管理したい
Private Endpoint + NSP閉域接続を基本としつつ、PaaS間通信や例外的な公開アクセスも統制したい
一時的に Enabled移行前検証、例外処理、既存アプリの改修期間中のみ

また、geo-replicationを使う App Configuration ストアでは、単一のPrivate Endpointで複数レプリカへ接続できる一方、リージョン障害時の到達性を考えると、レプリカごとにPrivate Endpointを用意する設計も検討対象になります。(Microsoft Learn)

Azure PolicyとIaCで確認すべきこと

Azure Policyには、App Configurationの公開ネットワークアクセスを無効化する組み込みポリシーや、Private Endpoint、Private DNS Zoneに関するポリシーが用意されています。公開ネットワークアクセスを無効化するポリシーはデータ漏えいリスク低減の文脈で説明されており、Private Endpoint作成と組み合わせた統制が前提になります。(Microsoft Learn)

ただし、既存ポリシーが「公開アクセス無効化」を見ているだけの場合、NSPの SecuredByPerimeter をどう評価するかは組織側で整理が必要です。Azure Policy、Bicep、Terraform、Azure CLIの値がばらばらだと、ある環境では Disabled、別の環境では SecuredByPerimeter、CI/CDでは旧 --enable-public-network false という不整合が起こります。

IaCでは、少なくとも次を明示してください。

resource appConfig 'Microsoft.AppConfiguration/configurationStores@2025-08-01-preview' = {
  name: appConfigName
  location: location
  sku: {
    name: 'standard'
  }
  properties: {
    publicNetworkAccess: 'SecuredByPerimeter'
    disableLocalAuth: true
  }
}

この例では publicNetworkAccess と disableLocalAuth をあえて分けて書いています。ネットワーク境界と認証方式は別の管理対象であり、片方だけでセキュリティ要件を満たしたと判断しないためです。

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

SecuredByPerimeter を先に適用し、NSP関連付けやPrivate Endpointが後追いになる構成は避けてください。特に新規リソースで SecuredByPerimeter を指定すると、NSP未関連付けでも公開アクセスがロックダウンされるため、初期設定スクリプトや設定値投入ジョブが接続できないことがあります。(Microsoft Learn)

また、EnforcedモードではNSPアクセスルールが中心になります。Azureの移行ドキュメントでは、Trusted accessはEnforcedモードでサポートされないと説明されているため、従来「信頼されたAzureサービスだから通る」と考えていた通信は再確認が必要です。(Microsoft Learn)

実務での注意点をまとめると、次の通りです。

失敗パターン対策
旧引数と新引数を混在--enable-public-network を削除し、--public-network-access に統一する
アプリ通信だけを確認CI/CD、管理者端末、監視、設定投入バッチも確認する
DNS確認を省略Private Endpoint利用時はPrivate DNS Zoneと名前解決を必ず確認する
ログを有効化せず切り替え切り替え前にNSPログとアプリログを取得できる状態にする
すぐEnforcedにする既存環境ではTransition相当の観察期間を設ける
ロールバックを用意しないEnabled または Disabled へ戻す手順、例外ルール追加手順を事前に決める

管理者が次に取るべき行動

今回の Azure Networking 更新は、App Configuration をより厳密なネットワーク境界で管理するための重要な前進です。一方で、App Configuration はアプリの起動や設定更新に直結するため、ネットワーク変更の影響がすぐアプリ障害として現れます。

まずは、すべての App Configuration ストアについて publicNetworkAccess、Private Endpoint、利用アプリ、CI/CD経路を棚卸ししてください。そのうえで、検証環境で az appconfig network-security-perimeter-configuration list/show/reconcile を使い、NSP構成の見え方とログを確認します。既存本番環境では、Transition相当の観察、アクセスルール整備、アプリ起動テスト、ロールバック手順の準備まで完了してから SecuredByPerimeter を適用するのが安全です。

この記事を書いた人

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

コメント

コメントする

目次