与 Azure 防火墙集成

本文介绍如何使用用户定义的路由(UDR)将Azure 容器应用环境与Azure 防火墙集成。 通过使用 UDR,可以控制如何在虚拟网络中路由流量。 可以通过 Azure 防火墙路由来自容器应用的所有出站流量,该防火墙提供监视流量和应用安全策略的中心点。 此设置有助于保护容器应用免受潜在威胁。 它还通过提供详细的日志和监视功能来帮助满足合规性要求。

用户定义的路由 (UDR)

用户定义的路由(UDR)和通过 NAT 网关控制的出口仅在工作负荷配置文件环境中受支持。

显示如何为容器应用实现 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.comacs-mirror.azureedge.net 基础 AKS 群集需要这些 FQDN 才能下载和安装 Kubernetes 和 Azure CNI 二进制文件。 将 Azure 容器应用与 Azure 防火墙配合使用时,必须将这些应用程序规则或 MCR 的网络规则添加到允许列表中。 有关详细信息,请参阅 Azure 全局所需的 FQDN/应用程序规则
Azure 容器注册表 (ACR) Your-ACR-address*.blob.core.windows.netlogin.microsoft.com 将 Azure 容器应用与 ACR 和 Azure 防火墙配合使用时,需要这些 FQDN。
Azure 密钥保管库 Your-Azure-Key-Vault-addresslogin.microsoft.com 除了 Azure 密钥保管库 的网络规则所需的服务标记外,还需要这些 FQDN。
托管身份 *.identity.azure.netlogin.microsoftonline.com*.login.microsoftonline.com*.login.microsoft.com 在 Azure 容器应用中将托管标识与 Azure 防火墙配合使用时,需要这些 FQDN。
Docker Hub 注册表 hub.docker.comregistry-1.docker.ioproduction.cloudflare.docker.com 如果使用 Docker Hub 注册表并希望通过防火墙访问它,请将这些 FQDN 添加到防火墙。

网络规则

网络规则基于网络和传输层允许或拒绝流量。 在Azure 容器应用中将 UDR 与Azure 防火墙配合使用时,请根据方案添加以下出站防火墙网络规则。

Scenarios 服务标记 Description
所有情景 MicrosoftContainerRegistryAzureFrontDoorFirstParty Azure 容器应用将这些服务标记用于Microsoft容器注册表(MCR)。 若要允许Azure 容器应用使用 MCR,请在将Azure 容器应用与Azure 防火墙一起使用时,将这些网络规则或 MCR 的应用程序规则添加到允许列表中。
Azure 容器注册表 (ACR) AzureContainerRegistryAzureActiveDirectory 将 ACR 与Azure 容器应用配合使用时,请配置Azure 容器注册表使用的这些网络规则。
Azure 密钥保管库 AzureKeyVaultAzureActiveDirectory 对于 Azure 密钥保管库 的网络规则,除了 FQDN 外,还需要这些服务标记。
托管身份 AzureActiveDirectory 在Azure容器应用中使用托管标识时,请配置与托管标识相关的这些网络规则。
Azure 服务总线 ServiceBus 当容器应用使用 Azure 防火墙和服务标记访问 Azure 服务总线时是必需的。

注释

有关本文未列出的 Azure 防火墙使用的 Azure 资源,请参阅 服务标记文档

后续步骤