Compartir por


Protección de una red virtual en Azure Container Apps con grupos de seguridad de red

Los grupos de seguridad de red (NSG) que necesita para configurar redes virtuales se asemejan mucho a la configuración requerida por Kubernetes.

Puede bloquear una red a través de grupos de seguridad de red con reglas más restrictivas que las reglas de NSG predeterminadas para controlar todo el tráfico entrante y saliente para el entorno de Container Apps en el nivel de suscripción.

En el entorno de perfiles de carga de trabajo, se admiten rutas definidas por el usuario (UDR) y protección del tráfico saliente con un firewall .

Nota:

Para obtener una guía sobre cómo configurar UDR con Container Apps para restringir el tráfico saliente con Azure Firewall, visite el procedimiento para Aplicaciones de contenedor y Azure Firewall.

Cuando se usa un entorno de perfiles de carga de trabajo externo, el tráfico entrante a las rutas de Azure Container Apps a través de la dirección IP pública que existe en el grupo de recursos administrado en lugar de a través de la subred. Esta limitación significa que no se admite el bloqueo del tráfico entrante a través de NSG o firewall en un entorno de perfiles de carga de trabajo externo. Para obtener más información, consulte Control del tráfico saliente con rutas definidas por el usuario.

En el entorno heredado Solo consumo, no se admiten las rutas rápidas y las rutas definidas por el usuario (UDR) personalizadas tienen compatibilidad limitada. Para obtener más información sobre el nivel de compatibilidad con UDR disponible en un entorno de solo consumo, consulte las preguntas más frecuentes.

Reglas de permisos de NSG

En las tablas siguientes se describe cómo configurar una colección de reglas de permisos de NSG. Las reglas específicas necesarias dependen del tipo de entorno.

Entrada

Nota:

Cuando se usan perfiles de carga de trabajo, las reglas de NSG entrantes solo se aplican al tráfico que pasa por la red virtual. Si establece las aplicaciones de contenedor para que acepten el tráfico de la red pública de Internet, el tráfico entrante pasa por el punto de conexión público en lugar de la red virtual.

Protocolo Origen Puertos de origen Destino Puertos de destino Descripción
TCP Direcciones IP de cliente * Subred 1 de la aplicación contenedora 80, 31080 Permitir que las direcciones IP del cliente accedan a Azure Container Apps al usar HTTP. 31080 es el puerto en el que el proxy perimetral del entorno de Container Apps responde al tráfico HTTP. Está detrás del equilibrador de carga interno.
TCP Direcciones IP de cliente * Subred 1 de la aplicación contenedora 443, 31443 Permitir que las direcciones IP del cliente accedan a Azure Container Apps al usar HTTPS. 31443 es el puerto en el que el proxy perimetral del entorno de Container Apps responde al tráfico HTTPS. Está detrás del equilibrador de carga interno.
TCP AzureLoadBalancer (equilibrador de carga de Azure) * Subred de la aplicación contenedora 30000-32767 2 Permitir que Azure Load Balancer sondee los grupos de back-end.
TCP Direcciones IP de cliente * Subred de la aplicación contenedora Puertos expuestos y 30000-327672 Esta regla solo se aplica a las aplicaciones TCP. Esta regla no es necesaria para las aplicaciones HTTP.

1 Esta dirección se pasa como parámetro al crear un entorno. Por ejemplo, 10.0.0.0/21.
2 Necesita el intervalo completo al crear las aplicaciones de contenedor de Azure como puerto dentro del intervalo se asigna dinámicamente. Una vez creados, los puertos necesarios son dos valores estáticos inmutables y se pueden actualizar las reglas del grupo de seguridad de red.

Salida

Protocolo Origen Puertos de origen Destino Puertos de destino Descripción
TCP Subred de la aplicación contenedora * MicrosoftContainerRegistry 443 Esta etiqueta de servicio representa el registro de contenedor de Microsoft para los contenedores del sistema.
TCP Subred de la aplicación contenedora * AzureFrontDoor.FirstParty 443 Esta etiqueta de servicio es una dependencia de la MicrosoftContainerRegistry etiqueta de servicio.
Cualquiera Subred de la aplicación contenedora * Subred de la aplicación contenedora * Permite la comunicación entre direcciones IP en la subred de la aplicación contenedora.
TCP Subred de la aplicación contenedora * AzureActiveDirectory 443 Si usa una identidad administrada, es necesario.
TCP Subred de la aplicación contenedora * AzureMonitor 443 Solo es necesario cuando se usa Azure Monitor. Permite llamadas salientes a Azure Monitor.
TCP y UDP Subred de la aplicación contenedora * 168.63.129.16 53 Permite que el entorno use Azure DNS para resolver el nombre de host.

Nota: La comunicación DNS con Azure DNS no está sujeta a NSG a menos que se dirija a través de la etiqueta de AzurePlatformDNS servicio. Para bloquear el tráfico DNS, cree una regla de salida para denegar el tráfico a la etiqueta de AzurePlatformDNS servicio.
TCP Subred 1 de la aplicación contenedora * Su registro de contenedor Puerto del registro de contenedor Esta regla es necesaria para comunicarse con el registro de contenedor. Por ejemplo, al usar ACR, necesita AzureContainerRegistry y AzureActiveDirectory para el destino, y el puerto es el puerto del registro de contenedor a menos que use puntos de conexión privados.2
TCP Subred de la aplicación contenedora * Storage.<Region> 443 Solo es necesario cuando se usa Azure Container Registry para hospedar las imágenes.

1 Esta dirección se pasa como parámetro al crear un entorno. Por ejemplo, 10.0.0.0/21.
2 Si usa Azure Container Registry (ACR) con grupos de seguridad de red configurados en la red virtual, cree un punto de conexión privado en ACR para permitir que Azure Container Apps extraiga imágenes a través de la red virtual. No es necesario agregar una regla de NSG para ACR cuando se configura con puntos de conexión privados.

Consideraciones

  • Si ejecuta servidores HTTP, es posible que tenga que agregar puertos 80 y 443.
  • No deniegue explícitamente la dirección 168.63.129.16 DNS de Azure en las reglas de NSG salientes o el entorno de Container Apps no funciona.

Pasos siguientes