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.
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
- Para implantar o ponto de extremidade privado para seu aplicativo por meio do portal, confira Como conectar-se em modo privado a um aplicativo com o portal do Azure
- Para implantar o ponto de extremidade privado para seu aplicativo usando a CLI do Azure, confira Como conectar-se em modo privado a um aplicativo com a CLI do Azure
- Para implantar o ponto de extremidade privado para seu aplicativo usando o PowerShell, confira Como conectar-se em modo privado a um aplicativo com o PowerShell
- Para implantar o ponto de extremidade privado para seu aplicativo usando um modelo do Azure, confira Como conectar-se em modo privado a um aplicativo com o modelo do Azure
- Exemplo de ponta a ponta, como conectar um aplicativo front-end a um aplicativo de back-end protegido com integração de rede e ponto de extremidade privado com modelo do ARM, confira este início rápido
- Exemplo de ponta a ponta, como conectar um aplicativo front-end a um aplicativo de back-end protegido com integração de rede e ponto de extremidade privado com terraform, confira este exemplo