Este artigo mostra como configurar a conectividade privada de segurança melhorada para uma aplicação Web do Serviço de Aplicação ou uma aplicação funcional a partir de uma rede local ou de uma rede virtual do Azure. Também mostra como configurar a conectividade de segurança melhorada entre a aplicação e outros serviços PaaS do Azure através do Azure Private Link, sem utilizar a Internet pública.
Neste artigo, o Serviço de Aplicativo do Azure refere-se às camadas de preços em que há infraestrutura compartilhada com outros clientes do Serviço de Aplicativo, como as camadas Básica, Standard e Premium. O Ambiente do Serviço de Aplicativo é implantado diretamente em sua rede virtual com infraestrutura de suporte dedicada e usa níveis de preços isolados e não é o foco deste artigo.
Arquitetura
Transfira um ficheiro do Visio desta arquitetura.
Fluxo de dados
Usando a integração de rede virtual regional do Serviço de Aplicativo do Azure, o aplicativo Web se conecta aos serviços do Azure por meio da Sub-rede delegada de Integração de VNet em uma rede virtual do Azure.
- As redes VNet Integration Subnet e Private Endpoint Subnet são redes virtuais separadas em assinaturas diferentes. Ambas as redes são emparelhadas com a Rede Virtual de Hub como parte de uma configuração de rede hub-and-spoke. Para integração de rede virtual regional, as redes virtuais emparelhadas devem estar na mesma região do Azure.
O serviço Azure Private Link configura um ponto de extremidade privado para os serviços PaaS, aplicativos Web, banco de dados SQL do Azure, conta de armazenamento do Azure e cofre de chaves do Azure na Rede Virtual de Ponto de Extremidade Privado.
Neste exemplo, essa rede virtual é dedicada apenas para a implantação de pontos de extremidade privados. Nenhum outro recurso, como máquinas virtuais (VMs), será implantado nessa rede virtual. A demanda futura para adicionar pontos de extremidade privados foi levada em conta quando o tamanho da sub-rede foi selecionado.
A rede local e as redes virtuais do Azure podem ser conectadas por meio de VPN Site a Site (S2S) ou emparelhamento privado do Azure ExpressRoute. Os utilizadores na rede local acedem à aplicação de forma privada e com segurança melhorada apenas na rede privada.
Neste exemplo, a rede local e as redes virtuais do Azure são conectadas por meio do emparelhamento privado da Rota Expressa.
Para uma rede local que já tenha uma solução DNS (Sistema de Nomes de Domínio), a solução DNS local é configurada para encaminhar o tráfego DNS para um registro DNS privado do Azure (por exemplo, azurewebsites.net) por meio de um encaminhador condicional que encaminha a solicitação para o ponto de extremidade de entrada do serviço DNS Private Resolver implantado no Azure. O Resolvedor Privado de DNS consulta o DNS do Azure e recebe informações sobre o link de rede virtual do DNS Privado do Azure. Em seguida, a resolução é feita pela zona DNS privada vinculada à rede virtual.
As zonas DNS privadas também são implantadas na mesma assinatura que a Rede Virtual de Ponto Final Privado.
Neste exemplo, uma máquina de encaminhador DNS no endereço IP 192.168.0.254 na rede local encaminha todas as solicitações de resolução DNS para o nome do host azurewebsites.net para o ponto de extremidade de entrada do serviço DNS Private Resolver no Azure no endereço 10.0.0.132. Em seguida, as solicitações são resolvidas pelo serviço DNS fornecido pelo Azure, que tem o endereço IP 168.63.129.16, por meio da zona DNS Privada do Azure vinculada à rede virtual.
Um ponto de extremidade de saída é necessário para habilitar a resolução de nomes de encaminhamento condicional do Azure para locais, outros provedores de nuvem ou servidores DNS externos, usando um conjunto de regras de encaminhamento DNS.
A configuração de um conjunto de regras de encaminhamento DNS não é necessária para este cenário.
Esta configuração de serviço de aplicativo deve estar presente:
Key valor WEBSITE_DNS_SERVER 168.63.129.16 As redes virtuais estão ligadas a todas as zonas DNS privadas do Azure.
- A rede virtual que tem pontos de extremidade privados é automaticamente vinculada às zonas DNS privadas. Você precisa vincular as outras redes virtuais separadamente.
O aplicativo Web se comunica com os pontos de extremidade privados dos serviços PaaS na Rede Virtual de Ponto Final Privado por meio do Firewall do Azure.
No Firewall do Azure, as regras de aplicativo são configuradas para permitir a comunicação entre a Sub-rede de Integração de Rede Virtual e os pontos de extremidade privados dos recursos de PaaS. Os FQDNs (nomes de domínio totalmente qualificados) de destino são:
*.azurewebsites.net
*.database.windows.net
*.core.windows.net
*.vaultcore.azure.net
A configuração de firewall e rede virtual para SQL do Azure, Conta de Armazenamento do Azure e Cofre da Chave do Azure permite o tráfego apenas da Sub-rede de Integração VNet. A configuração não permite a comunicação com qualquer outra rede virtual ou com a internet pública.
Componentes
- O Serviço de Aplicativo do Azure hospeda aplicativos Web e aplicativos de função, permitindo dimensionamento automático e alta disponibilidade sem exigir que você gerencie a infraestrutura.
- O Banco de Dados SQL do Azure é um serviço gerenciado de banco de dados relacional de uso geral que dá suporte a dados relacionais, dados espaciais, JSON e XML.
- A conta de Armazenamento do Azure fornece um namespace exclusivo para dados do Armazenamento do Azure que pode ser acessado de qualquer lugar do mundo por HTTP ou HTTPS. Ele contém todos os objetos de dados do Armazenamento do Azure: blobs, compartilhamentos de arquivos, filas, tabelas e discos.
- O Azure Key Vault é um serviço para armazenar e aceder com segurança a chaves de API, palavras-passe, certificados, chaves criptográficas ou quaisquer outros segredos utilizados por aplicações e serviços na nuvem.
- A Rede Virtual do Azure é o bloco de construção fundamental para redes privadas no Azure. Recursos do Azure, como VMs, podem se comunicar com segurança entre si, com a Internet e com redes locais por meio de redes virtuais.
- O Azure Private Link fornece um ponto de extremidade privado em uma rede virtual para conectividade com serviços PaaS do Azure, como o Armazenamento do Azure e o Banco de Dados SQL, ou com serviços de clientes ou parceiros.
- O emparelhamento privado do Azure ExpressRoute estende as redes locais para a nuvem da Microsoft através de uma ligação privada. Você também pode estabelecer VPN Site a Site entre o local e a rede do Azure em vez de usar a Rota Expressa do Azure.
- O Firewall do Azure é um serviço de segurança de rede gerenciado e baseado em nuvem que ajuda a proteger os recursos da Rede Virtual do Azure.
- A Zona DNS Privada fornece um serviço DNS confiável e seguro para gerenciar e resolver nomes de domínio na rede virtual.
- O Resolvedor Privado de DNS permite a consulta de zonas privadas de DNS do Azure a partir de um ambiente local e vice-versa, sem implantar servidores DNS baseados em VM.
Alternativas
Para conectividade privada, uma abordagem alternativa é usar o Ambiente do Serviço de Aplicativo para hospedar o aplicativo Web em um ambiente isolado. O Ambiente do Serviço de Aplicativo evita a infraestrutura de hospedagem compartilhada entre os clientes do Serviço de Aplicativo. Para o banco de dados, você pode implantar nativamente a Instância Gerenciada SQL do Azure em uma rede virtual, portanto, não precisa de integração de rede virtual ou pontos de extremidade privados. Essas ofertas geralmente são mais caras porque fornecem implantação isolada de locatário único e outros recursos.
Se você tiver um Ambiente do Serviço de Aplicativo, mas não estiver usando a Instância Gerenciada SQL, ainda poderá usar um ponto de extremidade privado para conectividade privada com um banco de dados SQL do Azure. Se você já tiver a Instância Gerenciada do SQL, mas estiver usando um Serviço de Aplicativo, ainda poderá usar a Integração de Rede Virtual regional para se conectar ao endereço privado da Instância Gerenciada do SQL.
Para alguns outros serviços do Azure, como o Cofre da Chave ou o Armazenamento, não há alternativa ao uso de pontos de extremidade privados para conexões altamente seguras e privadas de Aplicativos Web.
Potenciais casos de utilização
- Aceda a uma aplicação Web do Serviço de Aplicação ou a uma aplicação funcional de forma privada com segurança melhorada sobre o respetivo ponto de extremidade privado a partir de uma rede local ou de dentro das redes virtuais do Azure.
- Conecte-se de um aplicativo Web ou aplicativo de função às ofertas da plataforma Azure como serviço (PaaS):
- Outra aplicação Web
- Base de Dados SQL
- Armazenamento do Azure
- Key Vault
- Qualquer outro serviço que ofereça suporte a pontos de extremidade privados do Azure para conectividade de entrada
Considerações
Essas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios orientadores que podem ser usados para melhorar a qualidade de uma carga de trabalho. Para obter mais informações, consulte Microsoft Azure Well-Architected Framework.
Segurança
A segurança oferece garantias contra ataques deliberados e o abuso de seus valiosos dados e sistemas. Para obter mais informações, consulte Visão geral do pilar de segurança.
O uso do Private Endpoint para seu aplicativo Web permite que você:
- Ajude a proteger seu aplicativo Web configurando o ponto de extremidade privado, eliminando a exposição pública.
- Conecte-se com segurança aprimorada a aplicativos Web de redes locais que se conectam à rede virtual usando uma VPN ou emparelhamento privado da Rota Expressa. As ligações de entrada à aplicação Web são permitidas a partir da rede local ou apenas a partir da rede virtual do Azure.
- Evite qualquer exfiltração de dados da sua rede virtual.
Você pode melhorar ainda mais a segurança da conexão de entrada com o aplicativo Web frontando o aplicativo com um serviço como o Azure Application Gateway ou o Azure Front Door, opcionalmente com o Azure Web Application Firewall. Quando você habilita o Ponto de Extremidade Privado para seu aplicativo Web, a configuração de restrições de acesso do aplicativo Web não é avaliada.
Esse cenário também melhora a segurança da conexão de saída de um aplicativo Web do Serviço de Aplicativo para uma dependência downstream, como um banco de dados, armazenamento ou cofre de chaves.
Você pode configurar o roteamento de aplicativos para rotear todo o tráfego ou apenas o tráfego privado (também conhecido como tráfego RFC1918 ) para sua rede virtual. Você define esse comportamento usando a configuração Rotear tudo . Se a opção Rota Tudo estiver desativada, o aplicativo Web roteia apenas o tráfego privado para sua rede virtual. Para bloquear o tráfego para endereços públicos, habilite a configuração Rotear tudo para a rede virtual. Você também pode usar um grupo de segurança de rede para bloquear o tráfego de saída para recursos em sua rede virtual ou na Internet. Quando o Route All não está habilitado, os NSGs são aplicados apenas ao tráfego RFC1918.
Neste exemplo, o aplicativo Web não precisa se comunicar com nenhum serviço que não esteja na rede virtual, portanto , o Route All está habilitado.
Uma consideração de segurança importante nesse cenário é a configuração do firewall para recursos de PaaS.
Opções de firewall do Banco de dados SQL
Sem usar a conectividade privada, você pode adicionar regras de firewall que permitam o tráfego de entrada apenas de intervalos de endereços IP especificados. Outra abordagem é permitir que os serviços do Azure acessem o servidor. Essa abordagem bloqueia o firewall para permitir apenas o tráfego de dentro do Azure. Mas esse tráfego inclui todas as regiões do Azure e outros clientes.
Você também pode adicionar uma regra de firewall mais restritiva para permitir que apenas os endereços IP de saída do seu aplicativo acessem o banco de dados. Mas esses endereços IP são compartilhados com vários Serviços de Aplicativo e permitem o tráfego de outros clientes no mesmo carimbo de implantação, que usa os mesmos endereços IP de saída.
O uso da conectividade privada por meio da rede virtual fornece estas opções de firewall para ajudar a impedir que outras pessoas acessem o banco de dados:
- Crie uma regra de rede virtual que permita o tráfego somente da sub-rede regional delegada pela Integração VNet, Sub-rede de Integração VNet neste exemplo. A sub-rede delegada deve ter um ponto de extremidade de serviço configurado para Microsoft.Sql para que o banco de dados possa identificar o tráfego dessa sub-rede.
- Configure o firewall para negar acesso à rede pública. Isso desativa todas as outras regras de firewall e torna o banco de dados acessível somente por meio de seu ponto de extremidade privado.
A opção de negar acesso à rede pública é a configuração mais segura. Mas se você usar essa opção, o acesso ao banco de dados só será possível por meio da rede virtual que hospeda o ponto de extremidade privado. Para se conectar ao banco de dados, qualquer coisa diferente do aplicativo Web deve ter conectividade direta com a rede virtual.
Por exemplo, implantações ou conexões manuais urgentes do SQL Server Management Studio (SSMS) em máquinas locais não podem acessar o banco de dados, exceto por meio da conectividade VPN ou ExpressRoute na rede virtual. Você também pode se conectar remotamente a uma VM na rede virtual e usar o SSMS a partir daí. Para situações excecionais, você pode permitir temporariamente o acesso à rede pública e reduzir o risco usando outras opções de configuração.
Opções de firewall da Conta de Armazenamento e do Cofre de Chaves
As contas de armazenamento e os cofres de chaves têm um ponto de extremidade público acessível pela Internet. Também pode criar terminais privados para a sua conta de armazenamento e cofre de chaves. Ao fazê-lo, atribui a estes serviços um endereço IP privado da sua rede virtual e ajuda a proteger todo o tráfego entre a sua rede virtual e o respetivo serviço através de uma ligação privada.
Quando você cria um ponto de extremidade privado, a Sub-rede de Integração VNet pode acessar o serviço de forma privada e com segurança aprimorada em um link privado. Mas a conta de armazenamento e o cofre de chaves ainda estão acessíveis a partir de outras redes virtuais do Azure. Para bloquear o acesso de qualquer outra rede virtual, crie o ponto de extremidade de serviço para esta sub-rede delegada.
Disponibilidade
O suporte de Link Privado para Serviço de Aplicativo, Banco de Dados SQL do Azure, Armazenamento do Azure e Cofre da Chave do Azure está disponível em todas as regiões públicas. Para verificar a disponibilidade em outras regiões, consulte Disponibilidade do Link Privado do Azure.
O Private Link introduz outro componente e consideração de disponibilidade na arquitetura. O serviço Private Link tem um SLA de alta disponibilidade. Você precisa levar esse SLA em consideração ao calcular o SLO composto de toda a solução.
Escalabilidade
Para obter informações sobre a integração de serviços do Azure Private Link for PaaS com zonas de DNS privado do Azure em arquiteturas de rede hub-and-spoke, consulte Link privado e integração de DNS em escala.
Peering global
Qualquer serviço em qualquer região do Azure que possa se conectar por meio da rede virtual pode alcançar os pontos de extremidade privados dos serviços PaaS, por exemplo, por meio do emparelhamento de rede virtual em topologias hub-and-spoke. No entanto, para a Integração de Rede Virtual regional do Serviço de Aplicativo, as redes virtuais emparelhadas devem estar localizadas na mesma região do Azure.
A falta de suporte de emparelhamento global significa que você não pode usar essa solução para conectividade entre regiões do Serviço de Aplicativo para um banco de dados ou outro ponto de extremidade privado em outra região do Azure. Por exemplo, essa solução não funcionaria para uma implantação multirregional para dar suporte a um failover parcial, no qual o aplicativo Web permanece ativo em uma região, mas deve se conectar a um banco de dados com failover em outra região, ou vice-versa. Mas existem outras soluções para esta situação.
Se você precisar conectar aplicativos Web a uma rede virtual em outra região, poderá configurar a integração de VNet necessária pelo gateway. A limitação é que a Integração VNet necessária pelo gateway não pode ser usada com uma rede virtual conectada à Rota Expressa do Azure.
Registos e monitorização
O Azure Private Link é integrado ao Azure Monitor, que permite ver se os dados estão fluindo.
Você também pode usar o serviço de solução de problemas de conexão no Observador de Rede do Azure para rastrear a conectividade de uma VM em uma rede virtual para o FQDN do recurso Ponto de Extremidade Privado.
Otimização de custos
A otimização de custos consiste em procurar formas de reduzir despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, consulte Visão geral do pilar de otimização de custos.
Não há custo adicional para a Integração de VNet regional do Serviço de Aplicativo em níveis de preços suportados nos planos Basic, Standard, Premium v2, Premium v3, Serviço de Aplicativo Isolado v2 e Azure Functions Premium.
O ponto de extremidade privado está disponível para aplicativos Web Windows e aplicativos Web Linux, em contêineres ou não, hospedados nos planos Basic, Standard, Premium v2, Premium v3 e Isolated v2 App Service, e também para aplicativos funcionais implantados em um plano Premium.
O serviço Azure Private Link que habilita os pontos de extremidade privados para serviços PaaS tem um custo associado baseado em uma taxa por hora mais um prêmio em largura de banda. Consulte a página de preços de Link Privado para obter detalhes. As conexões de uma rede virtual cliente com o Firewall do Azure na rede virtual do hub incorrem em encargos. Você não é cobrado por conexões do Firewall do Azure na rede virtual do hub para pontos de extremidade privados em uma rede virtual emparelhada.
Os custos da zona DNS Privada do Azure baseiam-se no número de zonas DNS alojadas no Azure e no número de consultas DNS recebidas.
Para explorar o custo de execução desse cenário, consulte a estimativa da calculadora de preços do Azure. Todos os serviços descritos neste artigo são pré-configurados com valores padrão razoáveis para um aplicativo de pequena escala. Para ver como o preço mudaria para o seu caso de uso, altere as variáveis apropriadas para corresponder ao seu uso esperado.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelo seguinte colaborador.
Autor principal:
- Ankit Singhal - Brasil | Arquiteto de Soluções Cloud
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Consulte orientações passo a passo sobre como integrar o Azure Functions a uma rede virtual do Azure usando pontos de extremidade privados.
- Consulte as etapas para configurar as regras de aplicativo do Firewall do Azure para inspecionar o tráfego destinado a pontos de extremidade privados em várias topologias de rede.
- Para obter mais informações sobre cenários de entrada e saída para o Serviço de Aplicativo e quais recursos usar em cada caso, consulte Visão geral dos recursos de rede do Serviço de Aplicativo.
- Para obter mais informações sobre pontos de extremidade privados para Aplicativos Web do Azure, consulte Usando pontos de extremidade privados para Aplicativos Web do Azure.
- Para obter mais informações sobre como integrar aplicativos Web do Serviço de Aplicativo com a Rede Virtual do Azure, consulte Integrar seu aplicativo a uma rede virtual do Azure.
- O FQDN de alguns dos serviços PaaS pode ser resolvido automaticamente para um endereço IP público. Para obter informações sobre como substituir a configuração de DNS para se conectar ao ponto de extremidade privado, consulte Configuração de DNS do Ponto de Extremidade Privado do Azure.
Recursos relacionados
- Conectividade privada do aplicativo Web com o Banco de Dados SQL do Azure
- Tutorial: Integrar o Azure Functions com uma rede virtual do Azure usando pontos de extremidade privados
- Tutorial: Estabelecer o acesso ao site privado do Azure Functions
- Usar referências do Cofre da Chave para o Serviço de Aplicativo e o Azure Functions