Usando pontos de extremidade privados para aplicativos do Serviço de Aplicativo
Nota
A partir de 1º de junho de 2024, os aplicativos do Serviço de Aplicativo recém-criados poderão gerar um nome de host padrão exclusivo que use a convenção <app-name>-<random-hash>.<region>.azurewebsites.net
de nomenclatura. Os nomes de aplicativos existentes permanecem inalterados. Por exemplo:
myapp-ds27dh7271aah175.westus-01.azurewebsites.net
Para obter mais informações, consulte Nome de host padrão exclusivo para recurso do Serviço de Aplicativo.
Importante
Os endpoints privados estão disponíveis 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 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 em sua rede privada acessem com segurança o aplicativo 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. Esta configuração elimina a exposição da Internet pública.
Usar um 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 usa 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 utilizar 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 que o ponto de extremidade privado.
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 esta visão geral das restrições de acesso.
- Para garantir o isolamento, ao habilitar pontos de extremidade privados para seu aplicativo, certifique-se de que o acesso à rede pública esteja desabilitado.
- 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 do NSG (Grupo de Segurança de Rede) 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.
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ê usa o nome de 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 de host exclusivo regionalizado completo.
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 | A | 192.0.2.13 |
Quando você implanta um ponto de extremidade privado, a abordagem atualiza 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 | 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
. 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 mywebapp.azurewebsites.net. Você deve usar esse nome, porque o certificado padrão é emitido para *.azurewebsites.net
.
Se você precisar usar um nome DNS personalizado, adicione o nome personalizado em seu aplicativo e deverá 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 Services, 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 e 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), habilite 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, 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 o Azure Function no plano Elastic Premium com um ponto de extremidade privado, para executar a função no portal do Azure, você deve ter acesso direto à rede. Caso contrário, você receberá um erro HTTP 403. 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. Recomendamos que você implante o código em um slot e o depure remotamente lá.
- 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 é 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
. Para obter mais informações, consulte Regras e restrições de nomenclatura.
Para obter informações atualizadas sobre limitações, consulte Limitações.
Conteúdos relacionados
- Para implantar o ponto de extremidade privado para seu aplicativo por meio do portal, consulte Como se conectar de forma privada a um aplicativo com o portal do Azure.
- Para implantar o ponto de extremidade privado para seu aplicativo usando a CLI do Azure, consulte Como se conectar de forma privada a um aplicativo com a CLI do Azure.
- Para implantar o ponto de extremidade privado para seu aplicativo usando o PowerShell, consulte Como se conectar de forma privada a um aplicativo com o PowerShell.
- Para implantar o ponto de extremidade privado para seu aplicativo usando o modelo do Azure, consulte Como se conectar de forma privada a um aplicativo com o modelo do Azure.
- Para ver um exemplo completo de como conectar um aplicativo front-end a um aplicativo back-end seguro com integração de rede virtual e ponto de extremidade privado com modelo ARM, consulte este início rápido.
- Para ver um exemplo completo de como conectar um aplicativo front-end a um aplicativo back-end seguro com integração de rede virtual e ponto de extremidade privado com terraform, consulte este exemplo.