Share via


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

Importante

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

Você pode usar o ponto de extremidade privado para seus aplicativos do Serviço de Aplicativo para permitir que os clientes localizados em sua rede privada acessem o aplicativo com segurança pelo Azure Private Link. O ponto de extremidade privado usa um endereço IP do seu espaço de endereço de rede virtual do Azure. O tráfego de rede entre um cliente na sua rede privada e a aplicação atravessa a rede virtual e uma ligação privada na rede de backbone da Microsoft, eliminando a exposição da Internet pública.

O uso do ponto de extremidade privado para seu aplicativo permite que você:

  • 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 a partir de redes locais que se conectam à rede virtual usando uma VPN ou emparelhamento privado da Rota Expressa.
  • Evite qualquer exfiltração de dados da sua rede virtual.

Descrição geral conceptual

Um ponto de extremidade privado é uma interface de rede (NIC) especial para seu aplicativo do Serviço de Aplicativo em uma sub-rede em sua 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 é usado apenas para o tráfego de entrada para seu aplicativo. O tráfego de saída não usará esse ponto de extremidade privado. Você pode injetar tráfego de saída para sua rede em uma sub-rede diferente por meio do recurso de integração de rede virtual.

Cada slot de um aplicativo é configurado separadamente. Pode ligar até 100 terminais privados por slot. Não é possível compartilhar um ponto de extremidade privado entre slots. O nome do subrecurso de um slot é sites-<slot-name>.

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

Nota

O recurso de integração de rede virtual não pode usar a mesma sub-rede como ponto de extremidade privado, esta é uma limitação do recurso de integração de rede virtual.

Do ponto de vista da segurança:

  • Ponto de extremidade privado e acesso público podem coexistir em um aplicativo. Para obter mais informações, consulte 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 rede virtual em outras regiões.
  • As regras de restrições de acesso do seu aplicativo não são avaliadas quanto ao tráfego através do ponto de extremidade privado.
  • Você pode eliminar o risco de exfiltração de dados da rede virtual removendo todas as regras NSG em que o destino é marcar serviços da Internet ou 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 para o aplicativo. Para obter mais informações, consulte Obtendo informações de conexão usando o proxy TCP 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, mywebappname.azurewebsites.net.

Por padrão, sem 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 A 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 Observação
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 A 40.122.110.154 <--Este IP público não é o seu ponto de extremidade privado, você recebe um erro 403

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

Nome Tipo valor Observação
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure cria essa entrada CNAME no DNS Público do Azure para apontar o endereço do aplicativo para o endereço de ponto de extremidade privado
mywebapp.privatelink.azurewebsites.net A 10.10.10.8 <--Você gerencia essa entrada em seu sistema DNS para apontar para seu endereço IP de ponto final privado

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

Se você precisar usar um nome DNS personalizado, deverá adicionar o nome personalizado em seu aplicativo e validar o nome personalizado como qualquer nome personalizado, usando a resolução DNS pública. Para obter mais informações, consulte Validação de DNS personalizada.

Para o console do Kudu ou a API REST do Kudu (implantação com agentes autohospedados do Azure DevOps, por exemplo), você deve criar dois registros apontando para o IP do ponto de extremidade privado na zona privada do DNS do Azure ou no servidor DNS personalizado. O primeiro é para o seu aplicativo, o segundo é para o SCM do seu aplicativo.

Nome Tipo valor
mywebapp.privatelink.azurewebsites.net A PrivateEndpointIP
mywebapp.scm.privatelink.azurewebsites.net A 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 ao ponto de extremidade privado no nível do Ambiente do Serviço de Aplicativo. Você pode ativar o recurso pelo portal do Azure no painel de configuração do Ambiente do Serviço de Aplicativo ou por meio da seguinte CLI:

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, você deverá garantir que a assinatura com a rede virtual esteja registrada para o provedor de Microsoft.Web recursos. Você pode registrar explicitamente o provedor seguindo esta documentação, mas também registra automaticamente o provedor quando cria o primeiro aplicativo Web em uma assinatura.

Preços

Para obter detalhes de preços, consulte Preços do Azure Private Link.

Limitações

  • Ao usar o Azure Function no plano Elastic Premium com ponto de extremidade privado, para executar ou executar a função no portal do Azure, você deve ter acesso direto à rede ou receber um erro HTTP 403. Em outras palavras, seu navegador deve ser capaz de alcançar o ponto de extremidade privado para executar a função a partir do portal do Azure.
  • Pode ligar até 100 terminais privados a uma aplicação específica.
  • A funcionalidade de Depuração Remota não está disponível através do ponto de extremidade privado. A recomendação é implantar o código em um slot e depurá-lo remotamente lá.
  • O acesso FTP é fornecido através do endereço IP público de entrada. O ponto de extremidade privado não suporta acesso FTP ao aplicativo.
  • SSL baseado em IP não é suportado com pontos de extremidade privados.
  • Os aplicativos que você configura com pontos de extremidade privados não podem receber tráfego público proveniente de sub-redes com Microsoft.Web ponto de extremidade de serviço habilitado e não podem usar regras de restrição de acesso baseadas em ponto de extremidade de serviço.
  • A nomeação 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 a melhorar a funcionalidade de ligação privada do Azure e o ponto de extremidade privado regularmente, consulte este artigo para obter informações atualizadas sobre limitações.

Próximos passos