Compartilhar via


Como usar pontos de extremidade privados para aplicativos do Serviço de Aplicativo

Observação

A partir de 1º de junho de 2024, os aplicativos do Serviço de Aplicativo recém-criados podem gerar um nome de host padrão exclusivo que usa a convenção de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net. Os nomes de aplicativos existentes permanecem inalterados. Por exemplo:

myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Para obter mais informações, confira Nome do host padrão exclusivo para o recurso do Serviço de Aplicativo.

Importante

Os pontos de extremidade privados estão disponíveis para aplicativos do Windows e do Linux, em contêineres ou não, hospedados nestes planos do Serviço de Aplicativo: Básico, Standard, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (às vezes chamado de plano Elastic Premium).

Você pode usar um ponto de extremidade privado para seus aplicativos do Serviço de Aplicativo. O ponto de extremidade privado permite que os clientes localizados na sua rede privada acessem com segurança o aplicativo por meio do Link Privado do Azure. O ponto de extremidade privado usa um endereço IP do espaço de endereço da rede virtual do Azure. O tráfego entre um cliente na rede privada e o aplicativo percorre a rede virtual e um link privado na rede de backbone da Microsoft. Essa configuração elimina a exposição à Internet pública.

O uso de um ponto de extremidade privado para o seu aplicativo permite:

  • Proteja seu aplicativo configurando o ponto de extremidade privado e desabilite o acesso à rede pública para eliminar a exposição pública.
  • Conecte-se com segurança ao seu aplicativo das redes locais que se conectam à rede virtual usando uma VPN ou um emparelhamento privado ExpressRoute.
  • Evite a exfiltração de dados de sua rede virtual.

Visão geral conceitual

Um ponto de extremidade privado é um adaptador de rede especial do Serviço de Aplicativo em uma sub-rede na rede virtual. Quando você cria um ponto de extremidade privado para seu aplicativo, ele fornece conectividade segura entre clientes em sua rede privada e seu aplicativo. O ponto de extremidade privado recebe um Endereço IP do intervalo de endereços IP da sua rede virtual. A conexão entre o ponto de extremidade privado e o aplicativo usa um Link Privado seguro. O ponto de extremidade privado só é usado para o tráfego de entrada do seu aplicativo. O tráfego de saída não usa esse ponto de extremidade privado. Você pode injetar tráfego de saída na rede em uma sub-rede diferente por meio do recurso de integração de rede virtual.

Cada slot de um aplicativo é configurado separadamente. Você pode usar até 100 pontos de extremidade privados por slot. Não é possível compartilhar um ponto de extremidade privado entre slots. O nome do sub-recurso de um slot é sites-<slot-name>.

A sub-rede na qual você conecta o ponto de extremidade privado pode ter outros recursos. Você não precisa ter uma sub-rede vazia dedicada. Você também pode implantar o ponto de extremidade privado em uma região diferente da do aplicativo.

Observação

O recurso de integração de rede virtual não pode usar a mesma sub-rede que o ponto de extremidade privado.

Do ponto de vista da segurança:

  • O ponto de extremidade privado e o acesso público podem coexistir em um aplicativo. Para obter mais informações, confira esta visão geral das restrições de acesso.
  • Para garantir o isolamento, ao habilitar pontos de extremidade privados para seu aplicativo, verifique se o acesso à rede pública está desabilitado.
  • Você pode habilitar vários pontos de extremidade privados em outras redes virtuais e sub-redes, incluindo redes virtuais em outras regiões.
  • As regras de restrições de acesso do seu aplicativo não são avaliadas quanto ao tráfego por meio do ponto de extremidade privado.
  • Você pode eliminar o risco de exfiltração de dados da rede virtual removendo todas as regras de Grupo de Segurança de Rede (NSG) nas quais o destino é uma tag da internet ou os serviços do Azure.

Nos logs HTTP da Web do seu aplicativo, você encontra o IP de origem do cliente. Esse recurso é implementado usando o protocolo TCP Proxy, encaminhando a propriedade IP do cliente até o aplicativo. Para obter mais informações, consulte Obtendo informações de conexão usando o TCP Proxy v2.

O diagrama mostra a visão geral global do ponto de extremidade privado do aplicativo do Serviço de Aplicativo.

DNS

Quando você usa o Ponto de Extremidade Privado para aplicativos do Serviço de Aplicativo, a URL solicitada deve corresponder ao nome do seu aplicativo. Por padrão, <app-name>.azurewebsites.net. Quando você usar um nome do host padrão exclusivo, o nome do aplicativo tem o formato <app-name>-<random-hash>.<region>.azurewebsites.net. Nos exemplos a seguir, mywebapp também pode representar o nome do host exclusivo completo regionalizado.

Por padrão, sem um ponto de extremidade privado, o nome público do seu aplicativo Web é um nome canônico para o cluster. Por exemplo, a resolução de nomes é:

Nome Tipo Valor
mywebapp.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net Um 192.0.2.13

Quando você implanta um ponto de extremidade privado, a abordagem atualiza a entrada DNS para que ela aponte para o nome canônico: mywebapp.privatelink.azurewebsites.net. Por exemplo, a resolução de nomes é:

Nome Tipo Valor Comentário
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net
mywebapp.privatelink.azurewebsites.net CNAME clustername.azurewebsites.windows.net
clustername.azurewebsites.windows.net CNAME cloudservicename.cloudapp.net
cloudservicename.cloudapp.net Um 192.0.2.13 <: esse IP público não é o ponto de extremidade privado. Você receberá um erro 403

Você precisa configurar um servidor DNS privado ou uma zona privada do DNS do Azure. Para testes, você pode modificar a entrada de host do seu computador de teste. A zona DNS que você precisa criar é: privatelink.azurewebsites.net. Marque o registro do seu aplicativo com um registro A e o IP do ponto de extremidade privado. Por exemplo, a resolução de nomes é:

Nome Tipo Valor Comentário
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--O Azure cria essa entrada CNAME no DNS Público do Azure a fim de apontar o endereço do aplicativo para o endereço do ponto de extremidade privado
mywebapp.privatelink.azurewebsites.net Um 10.10.10.8 <--Você gerencia essa entrada em seu sistema DNS para apontar para seu endereço IP do ponto de extremidade privado

Após concluir essa configuração de DNS, você poderá acessar seu aplicativo de forma privada com o nome padrão mywebappname.azurewebsites.net. Você precisa usar esse nome, pois o certificado padrão é emitido para *.azurewebsites.net.

Caso precise usar um nome DNS personalizado, adicione o nome personalizado no aplicativo e valide o nome personalizado como qualquer nome personalizado usando a resolução de DNS público. Para mais informações, consulte validação DNS personalizada.

Para o console do Kudu ou a API REST do Kudu (implantados com os agentes auto-hospedados do Azure DevOps, por exemplo), você precisa criar dois registros que apontem para o IP do ponto de extremidade privado na zona privada do DNS do Azure ou no seu servidor DNS personalizado. A primeira é para o seu aplicativo e a segunda é para o SCM do seu aplicativo.

Nome Tipo Valor
mywebapp.privatelink.azurewebsites.net Um PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net Um PrivateEndpointIP

Consideração especial do Ambiente do Serviço de Aplicativo v3

Para habilitar o ponto de extremidade privado para aplicativos hospedados em um plano IsolatedV2 (Ambiente do Serviço de Aplicativo v3), habilite o suporte de ponto de extremidade privado no nível do Ambiente do Serviço de Aplicativo. É possível ativar o recurso pelo portal do Azure no painel de configuração do Ambiente do Serviço de Aplicativo ou por meio da CLI a seguir:

az appservice ase update --name myasename --allow-new-private-endpoint-connections true

Requisitos específicos

Se a rede virtual estiver em uma assinatura diferente do aplicativo, verifique se a assinatura com a rede virtual está registrada no provedor de recursos Microsoft.Web. Para registrar explicitamente o provedor, veja Registrar um provedor de recursos. Você registra automaticamente o provedor ao criar o primeiro aplicativo Web em uma assinatura.

Preços

Para obter detalhes de preço, confira Preço do Link Privado do Azure.

Limitações

  • Ao usar uma função do Azure no plano Elastic Premium com um ponto de extremidade privado, para executar a função no portal do Azure, você precisa ter acesso direto à rede. Caso contrário, você receberá um erro HTTP 403. O navegador precisa conseguir acessar o ponto de extremidade privado para executar a função no portal do Azure.
  • Você pode conectar até 100 pontos de extremidade privados a um aplicativo específico.
  • A funcionalidade de Depuração Remota não fica disponível por meio do ponto de extremidade privado. Recomendamos implantar o código em um slot e depurá-lo remotamente nele.
  • O acesso ao FTP é fornecido por meio do endereço IP público de entrada. Um ponto de extremidade privado não dá suporte ao acesso via FTP ao aplicativo.
  • O TLS baseado em IP não tem suporte com pontos de extremidade privados.
  • Os aplicativos que você configurar com os pontos de extremidade privados não podem receber o tráfego público proveniente de sub-redes com o ponto de extremidade de serviço Microsoft.Web habilitado e não podem usar regras de restrição de acesso baseadas em pontos de extremidade de serviço.
  • A nomenclatura de ponto de extremidade privado deve seguir as regras definidas para recursos do tipo Microsoft.Network/privateEndpoints. Para obter mais informações, consulte Regras e restrições de nomenclatura.

Para obter informações atualizadas sobre as limitações, veja Limitações.