1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Azure Network Security Perimeter がパブリックプレビュー (2024/11/20) となっています。Azure PaaS リソースの論理ネットワークの境界を作るサービスですが、実際にどういったことができるのかを試してみましたので、ご利用の際に、参考になれば幸いです。

利用シナリオ

  • PaaS のファイアウォール設定を一元管理したい
  • PaaS のファイアウォールのログを一元管理したい
  • AI Search 等からのアウトバウンドの通信を制御したい
  • マネージド ID を使った通信をサブスクリプション単位で通信制御を行いたい
  • サービスタグを使って送受信の通信制御を行いたい (現時点で利用不可)

Network Security Group との違い

  • NSG が対応しているのは VNet 上のリソース (VM, VMSS, Private Endpoint, Application Gateway 等) のみ

サポートされるリソース

留意点

  • IP レンジの指定はパブリック IP アドレスのみ
  • Azure Storage へのアクセスの場合、同じリージョンのパブリック IP アドレスからの通信はプライベート IP となるため IP アドレスレンジでは制御できない

設定手順

前提:

  • AI Search, BLOB Storage が作成済みであること
  • ポータル経由で操作できるようにネットワーク設定されていること
  • AllowNSPInPublicPreview の機能が登録済みであること

リソース作成

こちらの手順に従ってリソースを作成します。送受信の規則はあとで作成するためスキップします。

プロファイル作成

プロファイル (送受信ルールと関連付けるリソースをまとめたもの) を作成します。

image.png

NSP を割り当てるリソースを指定します。
image.png

インバウンドルールを作成します。次の動作確認で使えるように特定のパブリック IP アドレスからの通信のみ受け付けられるようにします。
image.png

アウトバウンドルールはスキップしてプロファイルを作成します。

動作確認

インバウンド

IP アドレス制限

Azure の Public IP アドレスからの通信を許可するような設定を試します。
東日本リージョンのパブリック IP アドレスだとストレージの制限でうまく動作しなかったため、東南アジアリージョンを使っています。

image.png

インバウンドルールで NAT Gateway のパブリック IP アドレスを指定しておきます。(事前実施)
image.png

対称のストレージに関連付けを行い、学習モードにしておきます。学習モードの場合は各 PaaS のファイアウォールの動作に従います。
image.png

Azure VM からも外部の端末からもアクセス可能なことを確認します。
image.png

ログにも異なる IP アドレスからの通信が許可されていることがわかります。
image.png

強制モードに切り替えます。強制モードの場合は NSP のルールの設定に従います。
image.png

ルールで許可されていないパブリック IP アドレスからの通信は拒否されるようになりました。
image.png

ログからもルールで許可されていないパブリック IP アドレスからの通信が拒否されていることがわかります。
image.png

サービスタグ

az account set --subscription 8ac4d210-xxxx-xxxx-xxxx-e03dc217172c

az network perimeter profile access-rule create -n MyAccessRule --profile-name profile2 --perimeter-name testnsp1 -g rg-nsp-test-01 --service-tags AzureCloud --direction "Inbound"

以下のようなエラーがでて利用できませんでした。今後の機能追加を待ちたいと思います。

"Message: AFEC flag EnableServiceTagsInNsp should be registered on the subscription: 8ac4d210-xxxx-xxxx-xxxx-e03dc217172c to process the Access Rule with Service Tags."

また、Azure Storage へのインバウンド方向のアクセスは同じリージョン内のサービスタグでは制御できないと思われますので注意が必要です。
理由は以下の通り、同じリージョン内のアクセスの場合、送信元がプライベート IP となるためサービスタグでは対応できないからです。

ストレージ アカウントと同じリージョンにデプロイされている Azure サービスへのアクセスを制限する。 ストレージ アカウントと同じリージョンでデプロイされたサービスでは、プライベート Azure IP アドレスが通信に使用されます。 そのため、特定の Azure サービスへのアクセスを、そのパブリック送信 IP アドレスの範囲に基づいて制限することはできません。

サブスクリプション

以下のような構成を作成し、NSP にて制御できることを確認していきます。

image.png

プロファイルを作成し、特定のサブスクリプション (図のサブスクリプション B) のインバウンド通信を許可するルールを作成しておきます。

image.png

まずは学習モードにて動作を確認します。
image.png

AI Search で BLOB ストレージからインデックス作成を行う操作を実施して、バリデーションが通ることを確認します。
サブスクリプション A の AI Search の操作
image.png
サブスクリプション B の AI Search の操作
image.png

ログでもそれぞれの操作が許可されていることがわかります。
image.png

ルールのモードを強制モードに切り替えます。
image.png

以下のような動作になるはずです。
image.png

サブスクリプション A の方の AI Search の画面。操作が拒否されていることがわかります。
image.png

サブスクリプション B の方は特に変化がありません。
image.png

ログからもサブスクリプション A の方の操作が拒否されていることがわかります。
image.png

アウトバウンド

IP アドレス、サブスクリプション、サービスタグの指定は現時点ではできないようです。CLI で駄目したところ以下のエラーがでました。EmailAddresses or PhoneNumbers の利用用途は不明。。

"(BadRequest) Either FQDNs or EmailAddresses or PhoneNumbers are mandatory for outbound access rules."

FQDN

特定の FQDN のみ許可するようなアウトバウンドルールを作成して動作を確認します。
image.png

特定の FQDN のみ許可するようなアウトバウンドルールを作成します。インバウンドルールは Azure Portal での操作が可能なように最低限のルールを入れておきます。

image.png

AI Search を関連付けし、強制モードに切り替えます。
image.png

FQDN が許可されていない BLOB ストレージへの接続は拒否されました。
image.png

FQDN が許可されている方の BLOB ストレージへの接続は問題なくアクセスできます。
image.png

ログからも特定の FQDN 以外へのアウトバウンド通信が拒否されていることがわかります。
image.png

モードの整理

パブリックネットワークアクセス

PaaS のパブリックネットワークアクセスと同じ概念で PaaS のファイアウォールを上書きできる。元々、ファイアウォールには送信規則の概念がなかったため、SecuredByPerimeter モードのみ送信拒否が加わっています。
NSP のみで運用したい場合は強制モードを使うことですぐに実現可能です。

パブリックネットワークアクセス 学習モード (ルール無し) 学習モード (ルールあり) 強制モード(ルールあり)
NSP  PaaS FW ANY  NSP  PaaS FW ANY  NSP  PaaS FW ANY 
Enabled (受信) × × × × ×
Enabled (送信) - - - - × ×
Disabled (受信) × × × × × × ×
Disabled (送信) - - - - × ×
SecuredByPerimeter (受信) × × × × × × ×
SecuredByPerimeter (送信) × × × × × × ×

ただし、以下のような例外もあるため要件に合うかは確認が必要です。

信頼されたアクセス: ネットワーク セキュリティ境界では、信頼されたアクセスよりも詳細な制御が提供されるため、信頼されたアクセスは強制モードではサポートされていません。

プライベート アクセス: プライベート リンク経由のアクセスは、ネットワーク セキュリティ境界の影響を受けません。

プライベートエンドポイントのログは記録されるか?

試してみましたが、プライベートエンドポイント経由の通信は異なる IP アドレスで記録されており、通信ログとしては十分ではなさそうです。

image.png

image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?