Este artigo mostra como configurar a conectividade privada de segurança aprimorada com um aplicativo Web do Serviço de Aplicativo ou um aplicativo de funções de uma rede local ou de dentro de uma rede virtual do Azure. Ele também mostra como configurar a conectividade de segurança aprimorada entre o aplicativo e outros serviços de PaaS do Azure via Link Privado do Azure, sem usar a Internet pública.
Neste artigo, o Serviço de Aplicativo do Azure refere-se aos tipos de preço 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 tipos de preço isolados e não é o foco deste artigo.
Arquitetura
Baixe um Arquivo Visio dessa arquitetura.
Fluxo de dados
Ao usar 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 sub-rede de integração de VNet em uma rede virtual do Azure.
- A Sub-rede de integração VNet e a Sub-rede de ponto de extremidade privado são redes virtuais separadas em diferentes assinaturas. Ambas são emparelhadas com a Rede virtual de hub como parte de uma configuração de rede hub e spoke. Para integração com uma rede virtual regional, as redes virtuais emparelhadas devem estar na mesma região do Azure.
O serviço Link Privado do Azure configura um ponto de extremidade privado para os serviços de PaaS, os aplicativos Web, o Banco de Dados SQL do Azure, a conta de armazenamento do Azure e o Azure Key Vault na Rede virtual do ponto de extremidade privado.
Neste exemplo, a rede virtual é dedicada apenas para a implantação de pontos de extremidade privados. Outros recursos, como máquinas virtuais (VMs), não serão implantados nessa rede virtual. A demanda futura para adicionar pontos de extremidade privados foi levada em conta na escolha do tamanho da sub-rede.
A rede local e as redes virtuais do Azure podem ser conectadas via VPN S2S (Site a Site) ou emparelhamento privado do Azure ExpressRoute. Os usuários na rede local acessam o aplicativo de maneira privada e com segurança aprimorada somente via rede privada.
Neste exemplo, a rede local e as redes virtuais do Azure estão conectadas por meio do emparelhamento privado do ExpressRoute.
Para uma rede local que já tem uma solução de sistema de nomes de domínio (DNS), a solução DNS local é configurada para encaminhar o tráfego DNS para um registro de DNS privado do Azure (por exemplo, azurewebsites.net) por meio de um encaminhador condicional que encaminha a solicitação ao ponto de extremidade de entrada do serviço Resolvedor Privado de DNS implantado no Azure. O Resolvedor Privado de DNS consulta o DNS do Azure e recebe as informações sobre o link de rede virtual do DNS privado do Azure. Em seguida, a resolução é feita por meio da zona de DNS privado vinculada à rede virtual.
As zonas DNS privadas também são implantadas na mesma assinatura que a rede virtual do ponto de extremidade privado.
Neste exemplo, um computador encaminhador de DNS no endereço IP 192.168.0.254 na rede local encaminha todas as solicitações de resolução de DNS para o nome de host azurewebsites.net ao ponto de extremidade de entrada do serviço Resolvedor Privado de DNS 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 de DNS privado 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 o local, outros provedores de nuvem ou servidores DNS externos, usando um conjunto de regras de encaminhamento de DNS.
Para esse cenário, não é preciso configurar um conjunto de regras de encaminhamento de DNS.
É preciso ter a seguinte configuração do serviço de aplicativo presente:
Chave Valor WEBSITE_DNS_SERVER 168.63.129.16 As redes virtuais estão vinculadas a todas as zonas DNS privadas do Azure.
- A rede virtual que conta com pontos de extremidade privados é vinculada automaticamente à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 de PaaS na rede virtual do ponto de extremidade privado por meio do Firewall do Azure.
No Firewall do Azure, as regras do aplicativo são configuradas para permitir a comunicação entre a sub-rede de integração de VNet 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 de rede virtual para o SQL do Azure, a conta de Armazenamento do Azure e o Azure Key Vault permite somente o tráfego da sub-rede de integração de VNet. A configuração não permite comunicação com nenhuma outra rede virtual ou com a Internet pública.
Componentes
- O Serviço de Aplicativo do Azure hospeda aplicativos Web e aplicativos de funções, possibilitando o dimensionamento automático e a alta disponibilidade sem exigir que você gerencie a infraestrutura.
- O Banco de Dados SQL é um serviço gerenciado de banco de dados relacional de propósito geral que suporta dados relacionais, dados espaciais, JSON e XML.
- A conta de Armazenamento do Azure fornece um namespace exclusivo para dados do Armazenamento do Azure que podem ser acessados 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 acessar com segurança chaves de API, senhas, certificados, chaves criptográficas ou quaisquer outros segredos usados por aplicativos e serviços em nuvem.
- A Rede Virtual Azure é o bloco de construção fundamental das redes privadas no Azure. Recurso do Azure, como VMs, podem se comunicar com segurança entre si, com a internet e com as redes locais por meio de redes virtuais.
- O Link Privado do Azure fornece um ponto de extremidade privado em uma rede virtual para conectividade com serviços de PaaS do Azure, como o Armazenamento do Azure e o Banco de Dados SQL, ou com serviços do cliente ou parceiro.
- O emparelhamento privado do Azure ExpressRoute estende as redes locais para a nuvem da Microsoft por meio de uma conexão privada. Também é possível estabelecer VPN site a site entre o local e a rede do Azure em vez de usar o Azure ExpressRoute.
- 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 consultar zonas privadas do DNS do Azure em 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 clientes do Serviço de Aplicativo. Para o banco de dados, você pode implantar nativamente a Instância Gerenciada de 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 uma implantação isolada de locatário único e outros recursos.
Se você tem um Ambiente do Serviço de Aplicativo, mas não está usando a Instância Gerenciada de SQL, ainda é possível 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 de SQL, mas estiver usando um Serviço de Aplicativo, ainda poderá usar a Integração VNet regional para se conectar ao endereço privado da Instância Gerenciada de SQL.
Para alguns outros serviços do Azure, como o Key Vault ou o Armazenamento, não há alternativa ao uso de pontos de extremidade privados para conexões altamente seguras e privadas de aplicativos Web.
Possíveis casos de uso
- Acesse um aplicativo Web ou aplicativo de funções do Serviço de Aplicativo de forma privada com segurança aprimorada em seu ponto de extremidade privado de uma rede local ou de dentro de redes virtuais do Azure.
- Conecte-se de um aplicativo Web ou de um aplicativo de funções às ofertas de plataforma como serviço (PaaS) do Azure:
- Outro aplicativo Web
- Banco de Dados SQL
- Armazenamento do Azure
- Key Vault
- Qualquer outro serviço que forneça suporte a pontos de extremidade privados do Azure para conectividade de entrada
Considerações
Estas considerações implementam os pilares do Azure Well-Architected Framework, que é um conjunto de princípios de orientação que podem ser usados para aprimorar a qualidade de uma carga de trabalho. Para obter mais informações, confira Microsoft Azure Well-Architected Framework.
Segurança
A segurança fornece garantias contra ataques deliberados e o abuso de seus dados e sistemas valiosos. Para saber mais, confira Visão geral do pilar de segurança.
Com o ponto de extremidade privado para aplicativo Web, é possível:
- Ajudar a proteger seu aplicativo Web configurando o ponto de extremidade privado e eliminando a exposição pública.
- Conectar-se com segurança aprimorada a aplicativos Web de redes locais que se conectam à rede virtual por meio de um emparelhamento privado do ExpressRoute ou de VPN. Só são permitidas conexões de entrada da rede local ou da rede virtual do Azure com o aplicativo Web.
- Evite a exfiltração de dados de sua rede virtual.
É possível melhorar ainda mais a segurança da conexão de entrada com o aplicativo Web colocando em frente ao aplicativo um serviço como o Gateway de Aplicativo do Azure ou o Azure Front Door, opcionalmente com o Firewall de Aplicativo Web do Azure. Ao habilitar o ponto de extremidade privado para o 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 com uma dependência downstream, como um banco de dados, o Armazenamento ou o Key Vault.
É possível configurar o roteamento de aplicativos para rotear todo o tráfego ou somente o tráfego privado (também conhecido como tráfego RFC1918) na rede virtual. Defina esse comportamento por meio da configuração Rotear tudo. Quando Rotear tudo está desabilitada, o aplicativo Web encaminha somente o tráfego privado à rede virtual. Para bloquear o tráfego para endereços públicos, habilite a configuração Rotear tudo para a rede virtual. Também é possível 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 Rotear tudo não está habilitada, os NSGs são aplicados somente 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, Rotear tudo está habilitado.
Uma consideração de segurança importante neste cenário é a configuração do firewall para recursos de PaaS.
Opções de firewall do Banco de Dados SQL
Sem usar conectividade privada, é possível adicionar regras de firewall que permitem o tráfego de entrada somente de intervalos especificados de endereços IP. Outra abordagem é permitir que os serviços do Azure acessem o servidor. Isso bloqueia o firewall para permitir somente o tráfego do Azure. No entanto, esse tráfego inclui todas as regiões do Azure e outros clientes.
Também é possível adicionar uma regra de firewall mais restritiva para permitir que somente os endereços IP de saída do aplicativo acessem o banco de dados. Mas esses endereços IP são compartilhados com vários Serviços de Aplicativos e permitem o tráfego de outros clientes no mesmo selo de implantação, que usa os mesmos endereços IP de saída.
O uso da conectividade privada por meio da rede virtual fornece essas 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 apenas da sub-rede regional delegada pela Integração de VNet, neste exemplo, a sub-rede de integração de VNet. A sub-rede delegada deve ter um ponto de extremidade de serviço configurado para Microsoft.Sql a fim de que o banco de dados possa identificar o tráfego dessa sub-rede.
- Configure o firewall para negar o 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 o acesso à rede pública é a configuração mais segura. No entanto, usá-la faz com que o acesso ao banco de dados só seja possível por meio da rede virtual que hospeda o ponto de extremidade privado. Para se conectar ao banco de dados, qualquer coisa que não seja o aplicativo Web deve ter conectividade direta com a rede virtual.
Por exemplo, implantações ou conexões manuais urgentes do SQL SSMS (Server Management Studio) em computadores locais não podem acessar o banco de dados, exceto por meio de conectividade de VPN ou ExpressRoute na rede virtual. Também é possível se conectar remotamente a uma VM na rede virtual e usar o SSMS nela. Para situações excepcionais, é possível permitir temporariamente o acesso à rede pública e reduzir o risco usando outras opções de configuração.
Opções de firewall do Key Vault e da conta de Armazenamento
As contas de Armazenamento e os cofres de chaves têm um ponto de extremidade público acessível pela Internet. Também é possível criar pontos de extremidade privados para sua conta de armazenamento e seu cofre de chaves. Isso atribui a esses serviços um endereço IP privado de sua rede virtual e ajuda a proteger todo o tráfego entre ela e o respectivo serviço por meio de um link privado.
Ao criar um ponto de extremidade privado, a sub-rede de integração de VNet pode acessar o serviço de maneira privada e com segurança aprimorada via um link privado. No entanto, a conta de armazenamento e o cofre de chaves ainda são acessíveis por outras redes virtuais do Azure. Para bloquear o acesso de qualquer outra rede virtual, crie o ponto de extremidade de serviço para essa sub-rede delegada.
Disponibilidade
O Link Privado é compatível com o Serviço de Aplicativo, Banco de Dados SQL do Azure e Armazenamento do Azure, e o Azure Key Vault 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 Link Privado introduz outra consideração sobre componentes e de disponibilidade na arquitetura. O serviço Link Privado tem um SLA de alta disponibilidade. É necessário levar esse SLA em conta ao calcular o SLO composto de toda a solução.
Escalabilidade
Para obter informações sobre a integração do Link Privado do Azure para serviços de PaaS com zonas DNS privadas do Azure em arquiteturas de rede hub-and-spoke, confira Integração de DNS e Link Privado em escala.
Emparelhamento global
Qualquer serviço em qualquer região do Azure que possa se conectar por meio da rede virtual pode acessar os pontos de extremidade privados dos serviços de PaaS, por exemplo, por meio do emparelhamento de rede virtual em topologias hub-and-spoke. No entanto, para a Integração de VNet regional do Serviço de Aplicativo, as redes virtuais emparelhadas devem estar na mesma região do Azure.
A falta de suporte ao emparelhamento global significa que não é possível usar essa solução para a conectividade entre regiões do Serviço de Aplicativo com 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 oferecendo 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 que passou por failover em outra, 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, configure a integração de VNet exigida pelo gateway. A limitação é que a Integração de VNet exigida pelo gateway não pode ser usada com uma rede virtual conectada ao Azure ExpressRoute.
Log e monitoramento
O Link Privado do Azure é integrado ao Azure Monitor, que permite ver se os dados estão fluindo.
Também é possível 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 com o FQDN do recurso de ponto de extremidade privado.
Otimização de custo
A otimização de custos é a análise de maneiras de reduzir as despesas desnecessárias e melhorar a eficiência operacional. Para obter mais informações, confira Visão geral do pilar de otimização de custo.
Não há custo adicional para a Integração VNet regional do Serviço de Aplicativo em camadas de preços com suporte nos planos Basic, Standard, Premium v2, Premium v3, Isolated v2 App Service e Azure Functions Premium.
O ponto de extremidade privado está disponível para aplicativos Web do Windows e do Linux, conteinerizados ou não, hospedados em planos Basic, Standard, PremiumV2, PremiumV3 e IsolatedV2 App Service, e também para aplicativos de função implementados em um plano Premium.
O serviço Link Privado do Azure que habilita os pontos de extremidade privados para serviços de PaaS tem um custo associado com base em uma taxa por hora mais um prêmio na largura de banda. Consulte a página de Preços do Link Privado para obter detalhes. As conexões de uma rede virtual de cliente com o Firewall do Azure na rede virtual do hub incorrem em cobranças. Você não é cobrado por conexões do Firewall do Azure na rede virtual do hub com pontos de extremidade privados em uma rede virtual emparelhada.
Os custos da zona DNS privada do Azure são baseados no número de zonas DNS hospedadas no Azure e no número de consultas DNS recebidas.
Para explorar o custo da execução desse cenário, confira 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 seu caso de uso, altere as variáveis apropriadas para corresponder ao uso esperado.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi escrito originalmente pelos colaboradores a seguir.
Autor principal:
- Ankit Singhal | Arquiteto de Soluções de Nuvem
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- Consulte as 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 a fim de configurar as regras de aplicativo do Firewall do Azure para inspecionar o tráfego destinado a pontos de extremidade privados em diversas topologias de rede.
- Para saber mais sobre cenários de entrada e saída do Serviço de Aplicativo e quais recursos usar em cada caso, confira a Visão geral dos recursos de rede do Serviço de Aplicativo.
- Para saber mais sobre os pontos de extremidade privados para aplicativos Web do Azure, confira 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 à Rede Virtual do Azure, consulte Integrar seu aplicativo a uma rede virtual do Azure.
- O FQDN de alguns dos serviços de PaaS pode ser resolvido automaticamente para um endereço IP público. Para saber como substituir a configuração de DNS para se conectar ao ponto de extremidade privado, confira 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 a uma rede virtual do Azure usando pontos de extremidade privados
- Tutorial: Estabelecer o acesso a sites particulares do Azure Functions
- Use as referências do Key Vault para o Serviço de Aplicativo e o Azure Functions