Partilhar via


Usar pontos de extremidade privados para aplicações do Serviço de Aplicações do Azure

Você pode usar um ponto de extremidade privado para seus aplicativos do Serviço de Aplicativo do Azure. O ponto de extremidade privado permite que os clientes localizados em sua rede privada acessem com segurança um aplicativo pelo Azure Private Link. O ponto de extremidade privado utiliza um endereço IP do espaço de endereçamento da sua rede virtual Azure. O tráfego de rede entre um cliente na sua rede privada e a aplicação passa pela rede virtual e pela ligação privada na rede de backbone da Microsoft. Esta configuração elimina a exposição da internet pública.

Ao usar um ponto de extremidade privado para seu aplicativo, você pode:

  • Proteja seu aplicativo ao configurar o ponto de extremidade privado e desabilitar o acesso à rede pública, o que elimina a exposição pública.
  • Conecte-se com segurança ao seu aplicativo a partir de redes internas que se conectam à rede virtual usando uma VPN ou interconexão privada com ExpressRoute.
  • Evite qualquer exfiltração de dados da sua rede virtual.

Importante

Os endpoints privados estão disponíveis para apps Windows e Linux, com ou sem contêiner, hospedados nos seguintes planos do Azure App Service: Basic, Standard, PremiumV2, PremiumV3, PremiumV4, IsolatedV2, Functions Premium (às vezes chamado de plano Elastic Premium).

Descrição geral conceptual

Um ponto de extremidade privado é uma interface de rede para a sua aplicação App Service numa sub-rede na 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 endpoint privado é usado apenas para o tráfego de entrada para a sua aplicação. O tráfego de saída não usa o ponto de extremidade privado. Você pode redirecionar o tráfego de saída para a sua rede em uma sub-rede diferente através do recurso de integração de rede virtual.

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

A sub-rede que você usa para conectar o ponto de extremidade privado pode ter outros recursos nela. Você não precisa de uma sub-rede vazia dedicada.

Você também pode implantar o ponto de extremidade privado numa região diferente daquela da sua aplicação.

Nota

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

Considerações de segurança

Endereços de extremidade privados e acesso público podem coexistir numa aplicação. Para obter mais informações, consulte esta visão geral das restrições de acesso.

Para garantir o isolamento, ao ativares pontos de extremidade privados para a tua aplicação, certifica-te de desativar o acesso à rede pública. 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ção de acesso da sua aplicação não são avaliadas para o tráfego através do endpoint privado. Você pode eliminar o risco de exfiltração de dados da rede virtual. Remova todas as regras do NSG (grupo de segurança de rede) em que o destino é a etiqueta Internet ou serviços do Azure.

Você pode encontrar o IP de origem do cliente nos logs HTTP da Web do seu aplicativo. Esse recurso é implementado usando o proxy TCP (transmission control protocol), que encaminha 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.

Diagrama que mostra uma visão geral global dos pontos de extremidade privados 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 endereço do seu aplicativo. 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 consiste em:

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

Quando se implanta um ponto de extremidade privado, o método atualiza a entrada do sistema de nomes de domínio (DNS) para apontar para o nome canônico: mywebapp.privatelink.azurewebsites.net. Por exemplo, a resolução de nomes consiste em:

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 192.0.2.13 <--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. Registe o registo para a sua aplicação com um registo A e o IP do ponto de extremidade privado. Com os Grupos de Zonas DNS Privadas do Azure, os registos DNS são adicionados automaticamente à zona DNS Privada.

Por exemplo, a resolução de nomes consiste em:

Nome Tipo Valor Observação
mywebapp.azurewebsites.net CNAME mywebapp.privatelink.azurewebsites.net <--Azure cria essa CNAME entrada 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.

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

Nome de domínio personalizado

Se você precisar usar um nome de domínio personalizado, adicione o nome personalizado em seu aplicativo. Você deve 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.

Na zona DNS personalizada, é necessário atualizar o registo DNS para apontar para o ponto de extremidade privado. Se seu aplicativo já estiver configurado com resolução DNS para o nome de host padrão, a maneira preferida é adicionar um CNAME registro para o domínio personalizado apontando para mywebapp.azurewebsites.net. Se apenas quiseres que o nome de domínio personalizado seja resolvido para o ponto de extremidade privado, poderás adicionar um registo A diretamente com o IP do ponto de extremidade privado.

Ponto final Kudu/scm

Para o console do Kudu ou a API REST do Kudu (para implantação com agentes autohospedados do Azure DevOps Services, por exemplo), você deve criar um segundo registro apontando para o IP do ponto de extremidade privado na zona privada do DNS do Azure ou no servidor DNS personalizado. O primeiro é para seu aplicativo e o segundo é para o SCM (gerenciamento de controle do código-fonte) do seu aplicativo. Com os grupos de Zona DNS Privada do Azure, o endpoint scm é adicionado automaticamente.

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), habilite o suporte ao ponto de extremidade privado no nível do Ambiente do Serviço de Aplicativo. Você pode ativar o recurso usando o portal do Azure no painel de configuração 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, verifique se a assinatura com a rede virtual está registrada para o provedor de Microsoft.Web recursos. Para registrar explicitamente o provedor, consulte Registrar provedor de recursos. Você 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 uma função do Azure no plano Elastic Premium com um ponto de extremidade privado, você deve ter acesso direto à rede para executar a função no portal do Azure. Caso contrário, você receberá um erro HTTP 403. O seu navegador deve ser capaz de aceder ao ponto de extremidade privado para executar a função a partir do portal do Azure.
  • Pode ligar até 100 endpoints privados a uma aplicação específica.
  • A funcionalidade de depuração remota não está disponível por meio do endpoint privado. Recomendamos que implante o código num slot e o depure remotamente.
  • O acesso FTP é fornecido através do endereço IP público de entrada. Um ponto de extremidade privado não suporta acesso FTP ao aplicativo.
  • TLS baseado em IP não é compatível com endpoints privados.
  • Os aplicativos que você configura com pontos de extremidade privados não podem receber tráfego público proveniente de sub-redes com um 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 Microsoft.Network/privateEndpoints tipo. Para obter mais informações, consulte Regras e restrições de nomenclatura.

Para informações atualizadas up-tosobre limitações, consulte esta documentação.