🎼

Azure Container Apps の IP アクセス制限を試してみた

2022/12/09に公開

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