在 Azure 容器应用中设置 IP 入口限制
Azure 容器应用允许通过入口配置设置 IP 入口限制,以限制容器应用的入站流量。
有两种类型的限制:
- 允许:仅允许来自允许规则中指定的地址范围的入站流量。
- 拒绝:仅拒绝来自拒绝规则中指定的地址范围的所有入站流量。
如果未定义 IP 限制规则,则允许所有入站流量。
IP 限制规则包含以下属性:
属性 | 值 | 描述 |
---|---|---|
name | 字符串 | 规则的名称。 |
description | 字符串 | 规则的描述。 |
ipAddressRange | 采用 CIDR 格式的 IP 地址范围 | 采用 CIDR 表示法的 IP 地址范围。 |
action | “允许”或“拒绝” | 要对规则执行的操作。 |
ipAddressRange
参数接受 IPv4 地址。 采用无类别域际路由选择 (CIDR) 表示法定义每个 IPv4 地址块。
注意
所有规则的类型必须相同。 不能组合使用允许规则和拒绝规则。
管理 IP 入口限制
可以通过 Azure 门户或 Azure CLI 管理 IP 访问限制规则。
添加规则
在 Azure 门户中转到你的容器应用。
在左侧菜单中选择“入口”。
选择“IP 安全限制模式”切换开关以启用 IP 限制。 可以选择允许或拒绝来自指定 IP 地址范围的流量。
选择“添加”以创建规则。
在以下字段中输入值:
字段 说明 IPv4 地址或范围 以 CIDR 表示法输入 IP 地址或 IP 地址范围。 例如,若要允许从单个 IP 地址进行访问,请使用以下格式:10.200.10.2/32。 名称 输入规则的名称。 说明 输入规则的说明。 选择 添加 。
重复步骤 4-6 以添加更多规则。
添加完规则后,选择“保存”。
更新规则
- 在 Azure 门户中转到你的容器应用。
- 在左侧菜单中选择“入口”。
- 选择要更新的规则。
- 更改规则设置。
- 选择“保存”以保存更新。
- 在“入口”页上选择“保存”以保存更新的规则。
删除规则
- 在 Azure 门户中转到你的容器应用。
- 在左侧菜单中选择“入口”。
- 选择要删除的规则旁边的删除图标。
- 选择“保存”。
可以使用 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 (必需) |
采用 CIDR 表示法的 IP 地址或 IP 地址范围 | 指定要允许或拒绝的 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>