🎼
Azure Container Apps の IP アクセス制限を試してみた
Azure Container Apps (ACA) にて、接続元 IP 制限がパブリックプレビューになったとのこと。
興味があったので試してみました。
環境・準備
- Azure Container Apps
- Windows 10
- Windows PowerShell
- Azure CLI (v2.43.0)
今回の動作確認においては、基本的な Web アプリケーションであれば問題ないため、公式クイックスタートのサンプルを利用します。
やってみた
許可リストを構成する
特定の IP からのアクセスを許可するには、下記の Azure CLI コマンドで設定を行えば OK です。
az containerapp ingress access-restriction set `
--name <コンテナーアプリ名> `
--resource-group <リソースグループ名> `
--rule-name <ルールの名前> `
--ip-address <IP アドレス範囲> `
--description <ルールの説明文> `
--action Allow
ここで、公式ドキュメントでは IP アドレス範囲が「192.168.1.1/28」と例示されています。
この指定をすると「192.168.1.0 - 192.168.1.15」が許可されることになります。
個人的には、そういう指定の場合は「192.168.1.0/24」と書きたい人なので、すこーし分かりにくかったです。
許可外の IP からアクセスした場合
パケットがドロップされるわけではなく、
RBAC: access denied
というだけのページが表示されました。
注意点
公式ドキュメントに、重要な注意点が記載されていました。
定義されている場合、すべてのルールは同じ型である必要があります。 許可規則と拒否規則を組み合わせることはできません。
とのことで、「192.168.11.0/24
の範囲は空けて 192.168.11.100
だけ拒否したい」という設定をする際は…
「192.168.11.0 - 192.168.11.99
を空けて 192.168.11.101 - 192.168.11.255
を空ける」という設定を行う必要があります。おぉめんどくさい😱
まとめ
ということで、ACA 側で接続元 IP 制限を行う方法でした。
ちょっと設定には一癖ありますが、必要なシーンでは使ってみたいですね!
Discussion