Network Security Perimeters (ネットワーク セキュリティ境界) の使い方
1. はじめに
ネットワーク セキュリティ境界(Network Security Perimeters, NSP)が一般提供となり、異なる種類の PaaS リソースに対するネットワーク アクセス(受信・送信)を一元的に管理できるようになりました。従来は、厳格なアクセス制御やログ取得を実現するために VNET 統合やプライベート エンドポイントの構成が必要でしたが、NSP によってこれらの構成を代替できるかどうかを検証します。
2. 現在の PaaS ネットワーク制御とネットワーク セキュリティ境界
まず現在、適用可能なアクセス制御とネットワーク セキュリティ境界の機能を確認します。
パブリック ネットワークの場合
- 受信側リソースで送信元 IP アドレスを許可(リソース タイプや SKU によっては他のお客様と共用となる場合あり)。
- この場合、送信側リソースからのアウトバウンド通信の制御やログ記録は不可
プライベート ネットワークの場合
- VNET 統合とサービス エンドポイント、またはプライベート エンドポイントを組み合わせて構成
- Azure ファイアウォールなどを経由させることで、通信制御やログ取得が可能
ネットワーク セキュリティ境界の機能
- 境界メンバー内でのリソース間アクセス通信
- 境界に関連付けられている PaaS リソースの明示的な規則を使用した外部パブリック アクセス管理
- 監査とコンプライアンスのためのアクセス ログ
- PaaS リソース全体で統合されたエクスペリエンス
上記機能であれば、現在のプライベート ネットワーク構成で実施している内容をカバーできるのではと考えています。以降で、実際に動作を確認していきます。
3. NSP リソースの作成
Network Security Perimeters のページから [作成] をクリックします。
必要事項を入力し、プロファイルなどは後から設定するため [確認および作成] をクリックします。
[作成] をクリックします。
4. プロファイルの編集
作成した NSP リソースのプロファイルを編集していきます。
4.1. 関連付けられているリソース
[プロファイル] から defaultprofile
をクリックします。
[関連付けられているリソース] > [+リソースの関連付け] をクリックします。
[追加] をクリックし、関連付けるリソースを選択します(例:AOAI やストレージ アカウント)。
[関連付け] をクリックします。
リソースの一覧が表示され、[問題の表示] がある場合はクリックして詳細を確認します。
(管理) からマネージド ID を有効化します。
4.2. 受信アクセス規則
[受信アクセス規則] > [+追加] をクリックし、ルールを追加します(サブスクリプションまたは IP アドレス範囲で指定可能)。
4.3. 送信アクセス規則
[送信アクセス規則] > [+追加] をクリックし、ルールを追加します(FQDN で指定可能です)。
5. 検証
設定した内容を受信・境界内・送信に分けて検証していきます。
5.1. 受信アクセス規則
ストレージ アカウントのパブリック アクセスが OFF の場合、NSP で許可された受信アクセスのみが可能となります。
- 許可された IP アドレスからアクセスした場合は BLOB へのアクセスが可能です。
- 許可されていない IP アドレスからはアクセスできません。
5.2. 境界内アクセス
AI Search リソースを追加、一部のストレージ アカウントを除外し、境界内アクセスの挙動を確認します。
AI Foundry のチャット プレイグラウンドから BLOB ストレージのデータ ソースを追加します。
- 境界内のストレージ アカウントは追加可能です。
- 境界外のストレージ アカウントはエラーとなります。
5.3. 送信アクセス
AI Foundry のチャット プレイグラウンドから URL のデータ ソースを追加した場合の挙動です。
- 許可している
learn.microsoft.com
については追加可能です。
- 許可していない
docs.github.com
についても追加できてしまっています(設定の問題か、プレビュー段階の制限かは不明です)。 今後 AKS でも追加検証を行おうと思います。
6. ログの取得と確認
[診断設定] からログ取得を有効化できます。
取得できるログの詳細については、以下をご参照ください。
-
NspPublicOutboundResourceRulesAllowed
のログのサンプル
-
NspIntraPerimeterInboundAllowed
のログのサンプル
ログの種類やリソース タイプによって取得できる情報の粒度が異なるため、運用時には工夫が必要です。
7. まとめ
一部、想定通り動作しない箇所がありましたが、NSP を活用することで境界内に閉じた形でアクセス許可を柔軟に設定できるようになりました。今後、対応リソースが増加すれば、VNET 統合やプライベート エンドポイント構成の代替手段としても期待できそうです。
Discussion