Compartilhar via


Usando pontos de extremidade privados para aplicativos do Serviço de Aplicativo

Observação

A partir de 1º de junho de 2024, todos os aplicativos recém-criados do Serviço de Aplicativo terão a opção de gerar um nome do host padrão exclusivo usando a convenção de nomenclatura <app-name>-<random-hash>.<region>.azurewebsites.net. Os nomes de aplicativos existentes permanecerão inalterados.

Exemplo: myapp-ds27dh7271aah175.westus-01.azurewebsites.net

Para obter mais detalhes, consulte Nome do Host Padrão Exclusivo para o Recurso Serviço de Aplicativo.

Importante

O ponto de extremidade privado está disponível para aplicativos do Windows e do Linux, conteinerizados ou não, hospedados nestes Planos do Serviço de Aplicativo: Basic, Standard, PremiumV2, PremiumV3, IsolatedV2, Functions Premium (às vezes chamado de plano Premium do Elastic).

Você pode usar o ponto de extremidade privado dos aplicativos do Serviço de Aplicativo para permitir que os clientes localizados na sua rede privada acessem o aplicativo com segurança pelo 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 de rede entre um cliente na rede privada e o aplicativo atravessa a rede virtual e um Link Privado na rede principal da Microsoft, eliminando a exposição na Internet pública.

O uso do 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 conectar 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, não é necessária 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. Essa é uma limitação do recurso de integração de rede virtual.

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 Visão geral das restrições de acesso
  • Ao habilitar pontos de extremidade privados para seu aplicativo, verifique se o acesso à rede pública está desabilitado para garantir o isolamento.
  • 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.

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ê estiver usando um nome de host padrão exclusivo, o nome do aplicativo deve ter o formato <app-name>-<random-hash>.<region>.azurewebsites.net. Nos exemplos abaixo, mywebapp também pode representar o nome do host exclusivo completo regionalizado.

Por padrão, sem o 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 40.122.110.154

Quando você implanta um ponto de extremidade privado, atualizamos a entrada DNS para apontar 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 40.122.110.154 <: 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ê deve usar esse nome, pois o certificado padrão é emitido para *.azurewebsites.net.

Caso precise usar um nome DNS personalizado, adicione o nome personalizado no seu 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, apontando para o IP do ponto de extremidade privado na sua zona privada do DNS do Azure ou no seu servidor DNS personalizado. A primeira é para seu aplicativo, o segundo é 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), você precisa habilitar o suporte de ponto de extremidade privado no nível de 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, certifique-se de registrar a assinatura com a rede virtual para o provedor de recursos Microsoft.Web. Você pode registrar o provedor explicitamente seguindo essa documentação, mas também pode registrar o provedor automaticamente quando 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ê precisará ter acesso direto à rede; caso contrário, receberá um erro HTTP 403. Em outras palavras, seu navegador deve ser capaz de 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. A recomendação é implantar o código em um slot e depurá-lo remotamente.
  • O acesso ao FTP é fornecido por meio do endereço IP público de entrada. O ponto de extremidade privado não dá suporte ao acesso FTP ao aplicativo.
  • O SSL baseado em IP não dá suporte com pontos de extremidade privados.
  • Os aplicativos que você configurar com pontos de extremidade privados não podem receber tráfego público proveniente de sub-redes com um 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. As regras de nomenclatura podem ser encontradas aqui.

Estamos melhorando o recurso de Link Privado do Azure e o ponto de extremidade privado regularmente, marque este artigo para obter informações atualizadas sobre as limitações.

Próximas etapas