本文介绍如何使用用户定义的路由(UDR)将 Azure 容器应用环境与 Azure 防火墙集成。 使用 UDR,可以控制如何在虚拟网络中路由流量。 可以通过 Azure 防火墙路由来自容器应用的所有出站流量,该防火墙提供监视流量和应用安全策略的中心点。 此设置有助于保护容器应用免受潜在威胁。 它还通过提供详细的日志和监视功能来帮助满足合规性要求。
用户定义的路由 (UDR)
用户定义的路由(UDR)和通过 NAT 网关控制的出口仅在工作负荷配置文件环境中受支持。
可以使用 UDR 通过 Azure 防火墙或其他网络设备限制来自容器应用的出站流量。 有关详细信息,请参阅 使用用户定义的路由控制 Azure 容器应用中的出站流量。
UDR 配置是在容器应用环境范围之外完成的。
在创建虚拟网络时,Azure 将为虚拟网络创建一个默认路由表。 通过实现用户定义的路由表,可以控制流量在虚拟网络中的路由方式。 例如,可以创建一个 UDR,通过将其路由到 Azure 防火墙来限制来自容器应用的出站流量。
在 Azure 容器应用中将 UDR 与 Azure 防火墙配合使用时,必须将以下应用程序或网络规则添加到防火墙的允许列表,具体取决于所使用的资源。
注释
只需根据系统的要求配置应用程序规则或网络规则。 不需要同时配置这两种配置。
应用程序规则
应用程序规则基于应用程序层允许或拒绝流量。 根据方案,需要以下出站防火墙应用程序规则。
| Scenarios | FQDN | Description |
|---|---|---|
| 所有情景 |
mcr.microsoft.com、*.data.mcr.microsoft.com |
Azure 容器应用使用这些用于Microsoft容器注册表(MCR)的 FQDN。 将 Azure 容器应用与 Azure 防火墙配合使用时,必须将这些应用程序规则或 MCR 的网络规则添加到允许列表中。 |
| 所有情景 |
packages.aks.azure.com、acs-mirror.azureedge.net |
基础 AKS 群集需要这些 FQDN 才能下载和安装 Kubernetes 和 Azure CNI 二进制文件。 将 Azure 容器应用与 Azure 防火墙配合使用时,必须将这些应用程序规则或 MCR 的网络规则添加到允许列表中。 有关详细信息,请参阅 Azure 全局所需的 FQDN/应用程序规则 |
| Azure 容器注册表 (ACR) |
Your-ACR-address、*.blob.core.windows.net、login.microsoft.com |
将 Azure 容器应用与 ACR 和 Azure 防火墙配合使用时,需要这些 FQDN。 |
| Azure Key Vault |
Your-Azure-Key-Vault-address、login.microsoft.com |
除了 Azure Key Vault 的网络规则所需的服务标记外,还需要这些 FQDN。 |
| 托管身份 |
*.identity.azure.net、login.microsoftonline.com、*.login.microsoftonline.com、*.login.microsoft.com |
在 Azure 容器应用中将托管标识与 Azure 防火墙配合使用时,需要这些 FQDN。 |
| Docker Hub 注册表 |
hub.docker.com、registry-1.docker.io、production.cloudflare.docker.com |
如果使用的时 Docker Hub 注册表并希望通过防火墙访问它,则需要将这些 FQDN 添加到防火墙。 |
网络规则
网络规则基于网络和传输层允许或拒绝流量。 在 Azure 容器应用中将 UDR 与 Azure 防火墙配合使用时,必须基于方案添加以下出站防火墙网络规则。
| Scenarios | 服务标记 | Description |
|---|---|---|
| 所有情景 |
MicrosoftContainerRegistry、AzureFrontDoorFirstParty |
Microsoft容器注册表(MCR)的这些服务标记由 Azure 容器应用使用。 将 Azure 容器应用与 Azure 防火墙配合使用时,必须将这些网络规则或 MCR 的应用程序规则添加到允许列表中。 |
| Azure 容器注册表 (ACR) |
AzureContainerRegistry、AzureActiveDirectory |
将 ACR 与 Azure 容器应用配合使用时,需要配置 Azure 容器注册表使用的这些网络规则。 |
| Azure Key Vault |
AzureKeyVault、AzureActiveDirectory |
对于 Azure Key Vault 的网络规则,除了 FQDN 外,还需要这些服务标记。 |
| 托管身份 | AzureActiveDirectory |
将托管标识与 Azure 容器应用配合使用时,需要配置托管标识使用的这些网络规则。 |
注释
有关本文未列出的 Azure 防火墙使用的 Azure 资源,请参阅 服务标记文档。