Azure Container Apps で IP のイングレス制限を設定する

Azure Container Apps では、イングレス構成を使用して IP イングレス制限を構成することで、コンテナー アプリへの受信トラフィックを制限できます。

次の 2 種類の制限があります。

  • 許可: 許可ルールで指定したアドレス範囲からの受信トラフィックのみを許可します。
  • 拒否: 拒否ルールで指定したアドレス範囲からの受信トラフィックのみをすべて拒否します。

IP 制限ルールが定義されていない場合は、すべての受信トラフィックが許可されます。

IP 制限ルールには、次のプロパティが含まれています。

プロパティ 内容
name string ルールの名前です。
description string ルールの説明。
ipAddressRange CIDR 形式のIP アドレス範囲 CIDR 表記の IP アドレス範囲。
action [許可] または [拒否] ルールに対して実行するアクション。

ipAddressRange パラメーターは IPv4 アドレスを受け入れます。 クラスレス ドメイン間ルーティング (CIDR) 表記で IPv4 アドレス ブロックを定義します。

Note

すべてのルールは同じ型である必要があります。 許可規則と拒否規則を組み合わせることはできません。

IP イングレス制限を管理する

IP アクセス制限ルールは、Azure portal または Azure CLI を使用して管理できます。

ルールの追加

  1. Azure portal でコンテナー アプリに移動します。

  2. 左側のメニューから [イングレス] を選びます。

  3. [IP セキュリティ制限モード] トグルを選択して、IP 制限を有効にします。 指定した IP アドレス範囲からのトラフィックを許可または拒否することができます。

  4. [追加] を選択し、規則を作成します。

    Screenshot of IP restriction settings on container app Ingress page.

  5. 次のフィールドの値を入力します。

    フィールド 説明
    IPv4 アドレスまたは範囲 IP アドレスまたは IP アドレスの範囲を CIDR 表記で入力します。 たとえば、1 つの IP アドレスからのアクセスを許可するには、次の形式を使用します: 10.200.10.2/32
    名前 規則の名前を入力します。
    説明 ルールの説明を入力します。
  6. [追加] を選択します。

  7. 手順 4 ~ 6 を繰り返して、さらにルールを追加します。

  8. ルールの追加が完了したら、[保存] を選択します。 Screenshot to save IP restrictions on container app Ingress page.

ルールを更新する

  1. Azure portal でコンテナー アプリに移動します。
  2. 左側のメニューから [イングレス] を選びます。
  3. 更新するルールを選びます。
  4. ルールの設定を変更します。
  5. [保存] を選択して更新プログラムを保存します。
  6. [イングレス] ページで [保存] を選択して、更新されたルールを保存します。

ルールを削除する

  1. Azure portal でコンテナー アプリに移動します。
  2. 左側のメニューから [イングレス] を選びます。
  3. 削除するルールの横にある削除アイコンを選択します。
  4. [保存] を選択します。

az containerapp ingress access-restriction コマンド グループを使用して、IP アクセス制限を管理できます。 このコマンド グループには、次のオプションがあります。

  • set: ルールを作成または更新します。
  • remove: ルールを削除します。
  • list: すべてのルールを一覧表示します。

ルールの作成または更新

az containerapp ingress access-restriction set コマンドを使用して、IP 制限を作成または更新できます。

この az containerapp ingress access-restriction set コマンドでは、次のパラメーターを使用します。

引数 説明
--rule-name (必須) String アクセス制限ルールの名前を指定します。
--description String アクセス制限ルールの詳細を指定します。
--action (必須) 許可、拒否 指定した IP アドレスの範囲からのアクセスを許可または拒否するかどうかを指定します。
--ip-address (必須) IP アドレスまたは IP アドレスの範囲 (CIDR 表記) 許可または拒否する IP アドレスの範囲を指定します。

別の --rule-name と ---ip-address 値を使用してコマンドを繰り返して、さらにルールを追加します。

許可ルールを作成する

次の例 az containerapp access-restriction set コマンドは、IP アドレス範囲への受信アクセスを制限するルールを作成します。 許可規則を追加する前に、既存の拒否規則を削除する必要があります。

次の例の値をお客様独自の値に置き換えてください。

az containerapp ingress access-restriction set \
   --name <CONTAINER_APP_NAME> \
   --resource-group <RESOURCE_GROUP> \
   --rule-name "my allow rule" \
   --description "example of rule allowing access" \
   --ip-address 192.168.0.1/28 \
   --action Allow

別の --ip-address--rule-name の値を使用してコマンドを繰り返して、許可ルールを追加します。

拒否ルールを作成する

次の az containerapp access-restriction set コマンドの例では、指定した IP 範囲からの受信トラフィックを拒否するアクセス規則を作成します。 拒否規則を追加する前に、既存の許可規則を削除する必要があります。

次の例にあるプレースホルダーは、独自の値に置き換えることができます。

az containerapp ingress access-restriction set \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "my deny rule" \
  --description "example of rule denying access" \
  --ip-address 192.168.0.100/28 \
  --action Deny

別の --ip-address--rule-name の値を使用してコマンドを繰り返して、拒否ルールを追加します。 既に存在するルール名を使用すると、既存のルールが更新されます。

ルールを更新する

az containerapp ingress access-restriction set コマンドを使用してルールを更新できます。 IP アドレス範囲とルールの詳細は変更できますが、ルール名やアクションは変更できません。

--action パラメーターは必須ですが、アクションを [許可] から [拒否] に、またはその逆に変更することはできません。
---description パラメーターを省略すると、説明が削除されます。

次の例では、IP アドレス範囲を更新します。

az containerapp ingress access-restriction set \
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "my deny rule" \
  --ip-address 192.168.0.1/24 \
  --description "example of rule denying access" \
  --action Deny

アクセス制限の削除

次の例の az containerapp ingress access-restriction remove コマンドはルールを削除します。

az containerapp ingress access-restriction list
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP> \
  --rule-name "<your rule name>"

アクセス制限の一覧

次の例の az containerapp ingress access-restriction list コマンドは、コンテナー アプリの IP 制限規則を一覧表示します。

az containerapp ingress access-restriction list
  --name <CONTAINER_APP_NAME> \
  --resource-group <RESOURCE_GROUP>

次のステップ