Grupos de segurança de rede para configurar uma rede virtual no Aplicativos de Contêiner do Azure

NSGs (grupos de segurança de rede) necessários para configurar redes virtuais se assemelham às configurações necessárias para o Kubernetes.

Você pode ajudar a proteger uma rede por meio de NSGs com regras mais restritivas do que as regras NSG padrão para controlar todo o tráfego de entrada e saída para o ambiente Aplicativos de Contêiner do Azure no nível da assinatura.

No ambiente de perfil de carga de trabalho, há suporte para UDRs (rotas definidas pelo usuário) e proteção do tráfego de saída com um firewall . Para obter um guia sobre como configurar uma UDR para Aplicativos de Contêiner para restringir o tráfego de saída com Firewall do Azure, consulte Controle o tráfego de saída em Aplicativos de Contêiner do Azure com rotas definidas pelo usuário.

Quando você usa um ambiente de perfil de carga de trabalho externa, o tráfego de entrada para Aplicativos de Contêiner é roteado por meio do IP público que existe no grupo de recursos gerenciados e não por meio de sua sub-rede. Essa limitação significa que não há suporte para bloquear o tráfego de entrada por meio de NSG ou firewall em um ambiente de perfil de carga de trabalho externo.

No ambiente somente consumo herdado, não há suporte para Azure ExpressRoute e UDRs personalizadas têm suporte limitado. Para obter mais informações sobre o nível de suporte a UDR disponível em um ambiente somente de consumo, consulte as perguntas frequentes.

Regras de permissão do NSG

As tabelas a seguir descrevem como configurar uma coleção de regras de permissão do NSG. As regras específicas de que você precisa dependem do tipo de ambiente.

Entrada

Observação

Quando você usa perfis de carga de trabalho, as regras NSG de entrada se aplicam somente ao tráfego que passa pela sua rede virtual. Se você definir seus aplicativos de contêiner para aceitar o tráfego da Internet pública, o tráfego de entrada passará pelo ponto de extremidade público em vez da rede virtual.

Protocolo Origem Portas de origem Destino Portas de destino Descrição
TCP Seus IPs de cliente * Sub-rede1 do aplicativo de contêiner 80, 31080 Permitir que seus IPs cliente acessem aplicativos de contêiner quando você estiver usando HTTP. 31080 é a porta na qual o proxy de borda do ambiente dos Aplicativos de Contêiner responde ao tráfego HTTP. Ele está por trás do balanceador de carga interno.
TCP Seus IPs de cliente * Sub-rede1 do aplicativo de contêiner 443, 31443 Permitir que os IPs cliente acessem aplicativos de contêiner quando você estiver usando HTTPS. 31443 é a porta na qual o proxy de borda do ambiente dos Aplicativos de Contêiner responde ao tráfego HTTPS. Ele está por trás do balanceador de carga interno.
TCP Azure Load Balancer * A sub-rede do aplicativo de contêiner 30000-32767 2 Permitir que o Azure Load Balancer investigue pools de back-end.
TCP Seus IPs de cliente * A sub-rede do aplicativo de contêiner Portas expostas e 30000-327672 Essa regra se aplica somente a aplicativos TCP. Não é necessário para aplicativos HTTP.

1 Você passa esse endereço como um parâmetro ao criar um ambiente. Por exemplo, 10.0.0.0/21.

2 Você precisa de todo o intervalo ao criar seus aplicativos de contêiner como uma porta dentro do intervalo é alocado dinamicamente. Depois de criar os aplicativos de contêiner, as portas necessárias são dois valores estáticos e imutáveis e você pode atualizar suas regras de NSG.

Saída

Protocolo Origem Portas de origem Destino Portas de destino Descrição
TCP A sub-rede do aplicativo de contêiner * MicrosoftContainerRegistry 443 Essa marca de serviço representa Microsoft Registro de Artefatos para contêineres do sistema.
TCP A sub-rede do aplicativo de contêiner * AzureFrontDoor.FirstParty 443 Essa marca de serviço é uma dependência da MicrosoftContainerRegistry marca de serviço.
Algum A sub-rede do aplicativo de contêiner * A sub-rede do aplicativo de contêiner * Essa regra permite a comunicação entre IPs na sub-rede do seu aplicativo de contêiner.
TCP A sub-rede do aplicativo de contêiner * AzureActiveDirectory 443 Se você estiver usando uma identidade gerenciada, ela será necessária.
TCP A sub-rede do aplicativo de contêiner * AzureMonitor 443 Essa regra é necessária somente quando você está usando Azure Monitor. Ele permite que as chamadas de saída Azure Monitor.
TCP e UDP A sub-rede do aplicativo de contêiner * 168.63.129.16 53 Essa regra permite que o ambiente use DNS do Azure para resolver o nome do host.

A comunicação DNS com DNS do Azure não está sujeita a NSGs, a menos que seja direcionada por meio da marca de serviço AzurePlatformDNS. Para bloquear o tráfego DNS, crie uma regra de saída para negar o tráfego para a AzurePlatformDNS marca de serviço.
TCP Sub-rede1 do aplicativo de contêiner * Seu registro de contêiner A porta do registro de contêiner Essa regra é necessária para se comunicar com o registro de contêiner. Por exemplo, ao usar Registro de Contêiner do Azure, você precisa AzureContainerRegistry e AzureActiveDirectory para o destino. A porta é a porta do registro de contêiner, a menos que você esteja usando pontos de extremidade privados. 2
TCP A sub-rede do aplicativo de contêiner * Storage.<Region> 443 Essa regra é necessária somente quando você estiver usando o Registro de Contêiner para hospedar suas imagens.

1 Você passa esse endereço como um parâmetro ao criar um ambiente. Por exemplo, 10.0.0.0/21.

2 Se você estiver usando o Registro de Contêiner com NSGs configurados em sua rede virtual, crie um ponto de extremidade privado no registro de contêiner para permitir que os Aplicativos de Contêiner efetuem pull de imagens por meio da rede virtual. Você não precisa adicionar uma regra NSG para o Registro de Contêiner quando ela é configurada com pontos de extremidade privados.

Considerações

  • Se você estiver executando servidores HTTP, talvez seja necessário adicionar as portas 80 e 443.
  • Não negue explicitamente o endereço DNS do Azure 168.63.129.16 nas regras NSG de saída. Se você fizer isso, seu ambiente de Aplicativos de Contêiner não funcionará.