你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
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>