Implantação do Private Application Gateway

Introduction

Historicamente, as SKUs do Application Gateway v2 e, até certo ponto, a v1, exigiam endereçamento IP público para permitir o gerenciamento do serviço. Esse requisito impôs várias limitações no uso de controles refinados em Grupos de Segurança de Rede e Tabelas de Rotas. Especificamente, observaram-se os seguintes desafios:

  • Todas as implementações do Application Gateway v2 devem conter configuração de IP frontend público, para habilitar a comunicação com a etiqueta de serviço do Gateway Manager.
  • As associações do Grupo de Segurança de Rede exigem regras para permitir o acesso de entrada do GatewayManager e o acesso de saída à Internet.
  • Ao introduzir uma rota padrão (0.0.0.0/0) para encaminhar o tráfego para qualquer lugar que não seja a Internet, as métricas, o monitoramento e as atualizações do gateway resultam em um status de falha.

O Application Gateway v2 agora pode abordar cada um desses itens para eliminar ainda mais o risco de exfiltração de dados e controlar a privacidade da comunicação de dentro da rede virtual. Essas alterações incluem os seguintes recursos:

  • Configuração de IP frontend apenas privada
    • Nenhum recurso de endereço IP público necessário
  • Eliminação do tráfego de entrada da etiqueta de serviço GatewayManager através do Network Security Group
  • Capacidade de definir uma regra de saída Negar Tudo do NSG (Grupo de Segurança de Rede) para restringir o tráfego de saída para a Internet
  • Capacidade de substituir a rota padrão para a Internet (0.0.0.0/0)
  • Resolução de DNS através de resolvedores definidos na rede virtual Saiba mais, incluindo zonas DNS privadas de ligação privada.

Sugestão

Consulte a resolução DNS do Gateway de Aplicação para orientações detalhadas sobre a configuração do DNS para o Gateway de Aplicação.

Cada um desses recursos pode ser configurado de forma independente. Por exemplo, um endereço IP público pode ser usado para permitir a entrada de tráfego da Internet e você pode definir uma regra Negar todas as saídas na configuração do grupo de segurança de rede para evitar a exfiltração de dados.

Iniciar utilização do recurso

Este artigo aborda a implementação privada do Application Gateway para os SKUs v2 do Application Gateway. Suporta dois modos de implementação: uma configuração de IPs de frontend apenas privada e uma configuração combinada que utiliza tanto uma configuração de IPs de frontend pública como uma de privada. Os controlos para configuração privada de IPs frontend, gestão de regras do grupo de segurança de rede (NSG) e configuração de tabelas de roteamento estão geralmente disponíveis e suportados em produção.

Para utilizar estas capacidades, deve aderir à experiência utilizando o portal Azure, PowerShell, CLI ou API REST. Este mecanismo de opt-in também oferece flexibilidade caso precise de voltar à funcionalidade tradicional do Application Gateway quando necessário (por exemplo, para ativar o Private Link).

Sugestão

Os gateways operam utilizando as capacidades disponíveis no momento em que são provisionadas. Se desregistares da funcionalidade, os gateways existentes continuam a operar com as capacidades que estavam ativadas quando foram criados.

Registar a funcionalidade

Note

Na experiência do portal Azure, o processo de registo de funcionalidades é rotulado como pré-visualização; no entanto, esta experiência é Geralmente Disponível, totalmente suportada para cargas de trabalho em produção e abrangida pelos SLA publicados do Application Gateway.

Use os seguintes passos para registar a funcionalidade privada de implementação do Application Gateway através do portal Azure:

  1. Inicie sessão no portal Azure.

  2. Na caixa de pesquisa, introduza subscrições e selecione Subscrições.

    Captura de ecrã da pesquisa do portal do Azure.

  3. Selecione o link para o nome da sua assinatura.

    Captura de ecrã a mostrar a seleção da subscrição do Azure.

  4. No menu à esquerda, em Configurações , selecione Visualizar recursos.

    Captura de ecrã do menu de funcionalidades do Azure.

  5. Você verá uma lista de recursos disponíveis e seu status de registro atual.

    Captura de ecrã da lista de funcionalidades de pré-visualização do portal do Azure.

  6. Em Visualizar recursos , digite na caixa de filtro EnableApplicationGatewayNetworkIsolation, marque o recurso e clique em Registrar.

    Captura de ecrã das funcionalidades de pré-visualização do filtro do portal do Azure.

Note

O registro do recurso pode levar até 30 minutos para fazer a transição do status Registro para o status Registrado.

Cancelar o registro do recurso

Para optar por não participar na funcionalidade privada de implementação do Application Gateway através do portal, utilize os seguintes passos:

  1. Inicie sessão no portal Azure.

  2. Na caixa de pesquisa, introduza subscrições e selecione Subscrições.

    Captura de ecrã da pesquisa do portal do Azure.

  3. Selecione o link para o nome da sua assinatura.

    Captura de ecrã a mostrar a seleção da subscrição do Azure.

  4. No menu à esquerda, em Configurações , selecione Visualizar recursos.

    Captura de ecrã do menu de funcionalidades do Azure.

  5. Você verá uma lista de recursos disponíveis e seu status de registro atual.

    Captura de ecrã da lista de funcionalidades do portal do Azure.

  6. Em Visualizar recursos , digite na caixa de filtro EnableApplicationGatewayNetworkIsolation, marque o recurso e clique em Cancelar registro.

    Captura de ecrã das funcionalidades de filtro do portal do Azure.

Configuração de controles de rede

Depois de registar a funcionalidade, pode configurar o NSG, a tabela de roteamento e a configuração privada de IPs frontend para uma implementação privada de um Gateway de Aplicação utilizando quaisquer métodos. Por exemplo, use REST API, ARM Template, Bicep deployment, Terraform, PowerShell, CLI ou o portal Azure.

Note

Se a sua aplicação cliente se ligar ao Application Gateway usando um endereço IP privado, exigir um timeout inativo superior a quatro minutos e não conseguir iniciar o TCP keepalives, submeta um ticket de suporte para solicitar a ativação do comportamento de keepalive exigido no Application Gateway.

Sub-rede do Gateway de Aplicação

A sub-rede do Gateway de Aplicações é a sub-rede dentro da rede virtual onde se implementam os recursos do Gateway de Aplicação. Numa implementação privada do Application Gateway que utiliza uma configuração de IP de front-end exclusivamente privado, esta sub-rede tem de ter acesso privado aos recursos que pretendam ligar-se à sua aplicação ou site publicado.

Note

A partir de 5 de maio de 2025, implantações novas e existentes do Private Application Gateway exigem delegação de sub-rede para Microsoft.Network/applicationGateways. Siga os seguintes passos para configurar a delegação de sub-rede.

Conectividade de saída com a Internet

Numa implementação privada do Application Gateway, as implementações do Application Gateway v2 que utilizam uma configuração de IP de front-end apenas privada (não têm uma configuração de IP de front-end público associada a uma regra de encaminhamento de pedidos) não conseguem encaminhar tráfego de saída destinado à Internet. Essa configuração afeta a comunicação com destinos de back-end que são acessíveis publicamente através da Internet.

Para habilitar a conectividade de saída do seu Application Gateway para um destino de back-end voltado para a Internet, você pode utilizar o NAT da Rede Virtual ou encaminhar o tráfego para um dispositivo virtual que tenha acesso à Internet.

O NAT da Rede Virtual oferece controle sobre qual endereço IP ou prefixo deve ser usado, bem como o tempo limite de ociosidade configurável. Para configurar, crie um novo Gateway NAT com um endereço IP público ou prefixo público e associe-o à sub-rede que contém o Application Gateway.

Se um dispositivo virtual for necessário para a saída da Internet, consulte a seção de controle de tabela de rotas neste documento.

Cenários comuns em que o uso de IP público é necessário:

  • Comunicação com o key vault sem o uso de endpoints privados ou endpoints de serviço
    • A comunicação de saída não é necessária para arquivos pfx carregados diretamente no Application Gateway
  • Comunicação com alvos de back-end via Internet
  • Comunicação com a Internet voltada para pontos de extremidade CRL ou OCSP

Controlo do Grupo de Segurança de Rede

Esta secção descreve o controlo de grupos de segurança de rede (NSG) da sub-rede do Application Gateway v2 numa implementação privada do Application Gateway. Depois de registar a funcionalidade, os grupos de segurança de rede associados a uma sub-rede de Gateway de Aplicações deixam de necessitar de regras de entrada para o GatewayManager, nem de acesso de saída à Internet. A única regra necessária é Permitir entrada do AzureLoadBalancer para garantir que as sondas de integridade possam chegar ao gateway.

A configuração a seguir é um exemplo do conjunto mais restritivo de regras de entrada, negando todo o tráfego, exceto as sondas de integridade do Azure. Além das regras definidas, regras explícitas são definidas para permitir que o tráfego do cliente chegue ao ouvinte do gateway.

Captura de ecrã das regras do grupo de segurança de entrada.

Note

O Application Gateway exibirá um alerta solicitando para garantir que a Regra Allow LoadBalanceRule seja especificada se uma regra DenyAll restringir inadvertidamente o acesso a sondas de integridade.

Cenário de exemplo

Este exemplo mostra a criação de um NSG usando o portal do Azure com as seguintes regras:

  • Permitir tráfego de entrada para as portas 80 e 8080 para o Application Gateway a partir de solicitações de clientes originadas da Internet
  • Bloquear todo o outro tráfego de entrada
  • Permitir tráfego de saída para um destino de back-end em outra rede virtual
  • Permitir tráfego de saída para um destino de back-end acessível pela Internet
  • Bloquear todo o outro tráfego de saída

Primeiro, crie um grupo de segurança de rede. Este grupo de segurança contém as suas regras de entrada e saída.

Regras de entrada

Três regras padrão de entrada já estão provisionadas no grupo de segurança. Veja o seguinte exemplo:

Captura de ecrã das regras predefinidas do grupo de segurança.

Em seguida, crie as quatro novas regras de segurança de entrada a seguir:

  • Permitir porta de entrada 80, tcp, da Internet (qualquer)
  • Permitir porta de entrada 8080, tcp, da Internet (qualquer)
  • Permitir tráfego de entrada do AzureLoadBalancer
  • Negar todas as conexões de entrada

Para criar estas regras:

  • Selecionar regras de segurança de entrada
  • Selecione Adicionar
  • Insira as seguintes informações para cada regra no painel Adicionar regra de segurança de entrada .
  • Depois de inserir as informações, selecione Adicionar para criar a regra.
  • A criação de cada regra leva um momento.
Regra # Source Etiqueta de serviço de origem Intervalos de portas de origem Destination Service Intervalos de portas Dest Protocol Action Priority Name
1 Any * Any HTTP 80 TCP Allow 1028 AllowWeb
2 Any * Any Custom 8080 TCP Allow 1029 AllowWeb8080
3 Etiqueta de serviço AzureLoadBalancer * Any Custom * Any Allow 1045 AllowLB
4 Any * Any Custom * Any Deny 4095 DenyAllInbound

Selecione Atualizar para revisar todas as regras quando o provisionamento estiver concluído.

Captura de tela de exemplo de regras de grupo de segurança de entrada.

Regras de saída

Três regras de saída padrão com prioridade 65000, 65001 e 65500 já estão provisionadas.

Crie as três novas regras de segurança de saída a seguir:

  • Permitir TCP 443 de 10.10.4.0/24 para destino backend 203.0.113.1
  • Permitir TCP 80 da origem 10.10.4.0/24 para o destino 10.13.0.4
  • Regra de tráfego DenyAll

A essas regras é atribuída uma prioridade de 400, 401 e 4096, respectivamente.

Note

  • 10.10.4.0/24 é o espaço de endereço da sub-rede do Application Gateway.
  • 10.13.0.4 é uma máquina virtual em uma VNet emparelhada.
  • 203.0.113.1 é uma VM de destino de back-end.

Para criar estas regras:

  • Selecionar regras de segurança de saída
  • Selecione Adicionar
  • Insira as seguintes informações para cada regra no painel Adicionar regra de segurança de saída .
  • Depois de inserir as informações, selecione Adicionar para criar a regra.
  • A criação de cada regra leva um momento.
Regra # Source Endereços IP de origem/intervalos CIDR Intervalos de portas de origem Destination Endereços IP de destino/intervalos CIDR Service Intervalos de portas Dest Protocol Action Priority Name
1 Endereços IP 10.10.4.0/24 * Endereços IP 203.0.113.1 HTTPS 443 TCP Allow 400 AllowToBackendTarget
2 Endereços IP 10.10.4.0/24 * Endereços IP 10.13.0.4 HTTP 80 TCP Allow 401 AllowToPeeredVnetVM
3 Any * Any Custom * Any Deny 4096 DenyAll

Selecione Atualizar para revisar todas as regras quando o provisionamento estiver concluído.

Captura de tela das regras de segurança de saída para o gateway de aplicativo.

Associar Grupo de Segurança de Rede (NSG) à sub-rede

A última etapa é associar o grupo de segurança de rede à sub-rede que contém o Application Gateway.

Captura de tela do NSG associado à sub-rede.

Result:

Captura de tela da visão geral do NSG.

Important

Tenha cuidado ao definir as regras DenyAll , pois você pode negar inadvertidamente o tráfego de entrada de clientes aos quais você pretende permitir acesso. Você também pode inadvertidamente bloquear o tráfego de saída para o destino do backend, provocando a falha na integridade do backend e gerando respostas 5XX.

Controle de tabela de rotas

Esta secção descreve o controlo de tabela de rotas (rotas definidas pelo utilizador) para a sub-rede do Application Gateway v2 numa implementação privada de um Application Gateway. Para implementações do Application Gateway que não estejam registadas para a funcionalidade de implementação privada do Application Gateway, não é possível associar uma tabela de rotas que contenha uma rota 0.0.0.0/0 com appliance virtual como próximo salto. Esta restrição assegura a gestão adequada do Application Gateway.

Important

Uma rota padrão (0.0.0.0/0) que a sub-rede do Gateway de Aplicações aprende através de BGP a partir de uma ligação ExpressRoute ou VPN atua como tunelamento forçado. Sobrepõe-se à rota padrão do sistema e envia o tráfego do plano de gestão do gateway pelo caminho local. Como o Application Gateway v2 requer encaminhamento simétrico para o tráfego de gestão, esta rota interrompe a conectividade do plano de gestão e pode causar falhas de provisionamento e InternalServerError. Para restaurar a conectividade, adicione uma rota definida pelo utilizador para 0.0.0.0/0 com o salto seguinte Internet a uma tabela de rotas dedicada à sub-rede do Gateway de Aplicação, ou deixe de anunciar a rota predefinida à sub-rede. Para diagnósticos passo a passo, consulte Resolução de problemas de implementação, escalabilidade e falhas de eliminação do Application Gateway.

Depois de registar a funcionalidade, pode encaminhar o tráfego para um dispositivo virtual ao definir uma rota 0.0.0.0/0 com um dispositivo virtual como próximo salto.

Cenário de exemplo

No exemplo a seguir, criamos uma tabela de rotas e a associamos à sub-rede do Application Gateway para garantir que o acesso de saída à Internet da sub-rede saia de um dispositivo virtual. Em um nível alto, o seguinte design é resumido na Figura 1:

  • O Application Gateway está na rede virtual spoke
  • Há um dispositivo virtual de rede (uma máquina virtual) na rede de hub
  • Uma tabela de rotas com uma rota padrão (0.0.0.0/0) para o dispositivo virtual está associada à sub-rede do Application Gateway

Diagrama de tabela de rotas de exemplo.

Figura 1: Saída de acesso à Internet por meio de dispositivo virtual

Para criar uma tabela de rotas e associá-la à sub-rede do Application Gateway:

  1. Crie uma tabela de rotas:

Captura de tela da tabela de rotas recém-criada.

  1. Selecione Rotas e crie a próxima regra de salto para 0.0.0.0/0 e configure o destino para ser o endereço IP da sua VM:

Captura de ecrã a mostrar a adição de uma rota predefinida à ferramenta virtual de rede.

  1. Selecione Sub-redes e associe a tabela de rotas à sub-rede do Application Gateway:

Captura de tela da associação da rota à sub-rede AppGW.

  1. Valide se o tráfego está passando pelo dispositivo virtual.

Limitações / Problemas conhecidos

Aplicam-se as seguintes limitações:

O Application Gateway não suporta configuração de ligação privada para tunelamento de tráfego através de endpoints privados quando se usa uma configuração de IP frontend apenas privada.

Limitação de taxa WAF

Atualmente, não há suporte para regras personalizadas de limitação de taxa para o Application Gateway WAF v2.

Configuração de frontend IP privado apenas com AGIC

Deve usar o AGIC v1.7 para configurar uma configuração de frontend IP apenas privada.

Conectividade de endpoint privado via VNet Peering global

Se o Application Gateway tiver um destino de back-end ou uma referência de cofre de chaves para um ponto de extremidade privado localizado em uma VNet acessível por meio de emparelhamento global de VNet, o tráfego será descartado, resultando em um status não íntegro.

Integração com o Observador de Rede

As soluções de problemas de conexão e o diagnóstico NSG retornam um erro ao executar testes de verificação e diagnóstico.

Gateways de aplicativos v2 coexistentes criados antes da habilitação do controle de rede aprimorado

Se uma sub-rede contiver implementações do Application Gateway v2 que criou antes e depois de ativar a funcionalidade de implementação privada do Application Gateway, só pode utilizar a funcionalidade de grupo de segurança de rede (NSG) e de tabela de rotas com a implementação anterior do Application Gateway. Para ativar as funcionalidades do grupo de segurança de rede e da tabela de rotas, tem de reprovisionar os gateways de aplicações que criou antes de ativar estas funcionalidades ou criar novos gateways numa sub-rede diferente.

  • Se existir na sub-rede um gateway que tenha implementado antes de ativar a funcionalidade, poderá ver erros como: For routes associated to subnet containing Application Gateway V2, please ensure '0.0.0.0/0' uses Next Hop Type as 'Internet' ao adicionar entradas na tabela de rotas.
  • Ao adicionar regras de grupo de segurança de rede à sub-rede, você pode ver: Failed to create security rule 'DenyAnyCustomAnyOutbound'. Error: Network security group \<NSG-name\> blocks outgoing Internet traffic on subnet \<AppGWSubnetId\>, associated with Application Gateway \<AppGWResourceId\>. This isn't permitted for Application Gateways that have fast update enabled or have V2 Sku.

Próximos passos