Usar pontos de extremidade e regras de serviço de Rede Virtual para o Banco de Dados do Azure para PostgreSQL - Servidor Único

APLICA-SE A: Banco de Dados do Azure para PostgreSQL - Servidor Único

Importante

O Banco de Dados do Azure para PostgreSQL - Servidor Único está no caminho da desativação. É altamente recomendável que você atualize para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível. Para obter mais informações sobre como migrar para o Banco de Dados do Azure para PostgreSQL - Servidor Flexível, consulte O que está acontecendo com o Banco de Dados do Azure para Servidor Único PostgreSQL?.

As regras de rede virtual são um recurso de segurança de firewall que controla se o Banco de Dados do Azure para servidor PostgreSQL aceita comunicações enviadas de sub-redes específicas em redes virtuais. Este artigo explica por que o recurso de regra de rede virtual às vezes é sua melhor opção para permitir a comunicação com segurança ao seu Banco de Dados do Azure para servidor PostgreSQL.

Para criar uma regra de rede virtual, primeiro deve haver uma rede virtual (VNet) e um ponto de extremidade de serviço de rede virtual para que a regra faça referência. A imagem a seguir ilustra como um ponto de extremidade de serviço de Rede Virtual funciona com o Banco de Dados do Azure para PostgreSQL:

Exemplo de como funciona um VNet Service Endpoint

Nota

Esse recurso está disponível em todas as regiões da nuvem pública do Azure onde o Banco de Dados do Azure para PostgreSQL é implantado para servidores de uso geral e otimizados para memória. No caso de emparelhamento de VNet, se o tráfego estiver fluindo através de um Gateway de VNet comum com pontos de extremidade de serviço e for suposto fluir para o par, crie uma regra ACL/VNet para permitir que as Máquinas Virtuais do Azure na VNet de Gateway acessem o Banco de Dados do Azure para servidor PostgreSQL.

Você também pode considerar o uso do Private Link para conexões. O Private Link fornece um endereço IP privado em sua rede virtual para o Banco de Dados do Azure para o servidor PostgreSQL.

Terminologia e descrição

Rede virtual: você pode ter redes virtuais associadas à sua assinatura do Azure.

Sub-rede: uma rede virtual contém sub-redes. Todas as máquinas virtuais (VMs) do Azure dentro da VNet são atribuídas a uma sub-rede. Uma sub-rede pode conter várias VMs e/ou outros nós de computação. Os nós de computação que estão fora da sua rede virtual não podem aceder à sua rede virtual, a menos que configure a sua segurança para permitir o acesso.

Ponto de extremidade do serviço de Rede Virtual: um ponto de extremidade do serviço de Rede Virtual é uma sub-rede cujos valores de propriedade incluem um ou mais nomes formais de tipo de serviço do Azure. Neste artigo, estamos interessados no nome do tipo de Microsoft.Sql, que se refere ao serviço do Azure chamado Banco de Dados SQL. Essa marca de serviço também se aplica ao Banco de Dados do Azure para serviços PostgreSQL e MySQL. É importante observar que, ao aplicar a marca de serviço Microsoft.Sql a um ponto de extremidade do serviço VNet, ela configurará o tráfego do ponto de extremidade do serviço para os Serviços de Banco de Dados do Azure: Banco de Dados SQL, Azure Synapse Analytics, Banco de Dados do Azure para PostgreSQL e Banco de Dados do Azure para servidores MySQL na sub-rede.

Regra de rede virtual: uma regra de rede virtual para seu Banco de Dados do Azure para servidor PostgreSQL é uma sub-rede listada na lista de controle de acesso (ACL) do seu Banco de Dados do Azure para servidor PostgreSQL. Para estar na ACL do seu Banco de Dados do Azure para servidor PostgreSQL, a sub-rede deve conter o nome do tipo Microsoft.Sql .

Uma regra de rede virtual informa ao seu Banco de Dados do Azure para o servidor PostgreSQL aceitar comunicações de cada nó que está na sub-rede.

Benefícios de uma regra de rede virtual

Até que você tome uma ação, as VMs em sua(s) sub-rede(s) não podem se comunicar com seu Banco de Dados do Azure para servidor PostgreSQL. Uma ação que estabelece a comunicação é a criação de uma regra de rede virtual. A lógica para escolher a abordagem de regra de VNet requer uma discussão de comparação e contraste envolvendo as opções de segurança concorrentes oferecidas pelo firewall.

Permitir acesso aos serviços do Azure

O painel de segurança Conexão tem um botão ON/OFF rotulado Permitir acesso aos serviços do Azure. A configuração ON permite comunicações de todos os endereços IP do Azure e todas as sub-redes do Azure. Esses IPs ou sub-redes do Azure podem não ser de sua propriedade. Essa configuração ON provavelmente é mais aberta do que você deseja que seu Banco de Dados do Azure para Banco de Dados PostgreSQL seja. O recurso de regra de rede virtual oferece um controle granular muito mais fino.

Regras de PI

O firewall do Banco de Dados do Azure para PostgreSQL permite especificar intervalos de endereços IP dos quais as comunicações são aceitas no Banco de Dados do Azure para Banco de Dados PostgreSQL. Essa abordagem é adequada para endereços IP estáveis que estão fora da rede privada do Azure. Mas muitos nós dentro da rede privada do Azure são configurados com endereços IP dinâmicos . Os endereços IP dinâmicos podem mudar, como quando a VM é reiniciada. Seria loucura especificar um endereço IP dinâmico em uma regra de firewall, em um ambiente de produção.

Você pode salvar a opção IP obtendo um endereço IP estático para sua VM. Para obter detalhes, consulte Configurar endereços IP privados para uma máquina virtual usando o portal do Azure.

No entanto, a abordagem IP estática pode se tornar difícil de gerenciar e é cara quando feita em escala. As regras de rede virtual são mais fáceis de estabelecer e gerir.

Detalhes sobre regras de rede virtual

Esta seção descreve vários detalhes sobre regras de rede virtual.

Apenas uma região geográfica

Cada ponto de extremidade do serviço de Rede Virtual se aplica a apenas uma região do Azure. O ponto de extremidade não permite que outras regiões aceitem comunicações da sub-rede.

Qualquer regra de rede virtual é limitada à região à qual seu ponto de extremidade subjacente se aplica.

Nível de servidor, não nível de banco de dados

Cada regra de rede virtual se aplica a todo o seu Banco de Dados do Azure para servidor PostgreSQL, não apenas a um banco de dados específico no servidor. Em outras palavras, a regra de rede virtual se aplica no nível do servidor, não no nível do banco de dados.

Funções de administração de segurança

Há uma separação de funções de segurança na administração de pontos de extremidade de serviço de Rede Virtual. É necessária ação de cada uma das seguintes funções:

  • Administração de rede: ative o ponto de extremidade.
  • Administração de Banco de Dados: atualize a lista de controle de acesso (ACL) para adicionar a sub-rede fornecida ao Banco de Dados do Azure para servidor PostgreSQL.

Alternativa do RBAC do Azure:

As funções de administrador de rede e administrador de banco de dados têm mais recursos do que os necessários para gerenciar regras de rede virtual. Apenas é necessário um subconjunto das suas capacidades.

Você tem a opção de usar o controle de acesso baseado em função do Azure (Azure RBAC) no Azure para criar uma única função personalizada que tenha apenas o subconjunto necessário de recursos. A função personalizada pode ser usada em vez de envolver o administrador de rede ou o administrador de banco de dados. A área de superfície da sua exposição de segurança é menor se você adicionar um usuário a uma função personalizada, em comparação com a adição do usuário às outras duas funções principais de administrador.

Nota

Em alguns casos, o Banco de Dados do Azure para PostgreSQL e a sub-rede VNet estão em assinaturas diferentes. Nesses casos, você deve garantir as seguintes configurações:

  • Ambas as assinaturas devem estar no mesmo locatário do Microsoft Entra.
  • O usuário tem as permissões necessárias para iniciar operações, como habilitar pontos de extremidade de serviço e adicionar uma sub-rede VNet ao servidor determinado.
  • Verifique se a assinatura tem o provedor de recursos Microsoft.Sql e Microsoft.DBforPostgreSQL registrado. Para obter mais informações, consulte resource-manager-registration

Limitações

Para o Banco de Dados do Azure para PostgreSQL, o recurso de regras de rede virtual tem as seguintes limitações:

  • Um aplicativo Web pode ser mapeado para um IP privado em uma rede virtual/sub-rede. Mesmo que os pontos de extremidade de serviço estejam ATIVADOS a partir de determinada VNet/sub-rede, as conexões do Aplicativo Web com o servidor terão uma fonte IP pública do Azure, não uma fonte de VNet/sub-rede. Para habilitar a conectividade de um Aplicativo Web com um servidor que tenha regras de firewall de rede virtual, você deve Permitir que os serviços do Azure acessem o servidor no servidor.

  • No firewall do Banco de Dados do Azure para PostgreSQL, cada regra de rede virtual faz referência a uma sub-rede. Todas essas sub-redes referenciadas devem ser hospedadas na mesma região geográfica que hospeda o Banco de Dados do Azure para PostgreSQL.

  • Cada Banco de Dados do Azure para servidor PostgreSQL pode ter até 128 entradas ACL para qualquer rede virtual.

  • As regras de rede virtual aplicam-se apenas às redes virtuais do Azure Resource Manager; e não para redes de modelos de implantação clássicos.

  • Ativar pontos de extremidade de serviço de rede virtual no Banco de Dados do Azure para PostgreSQL usando a marca de serviço Microsoft.Sql também habilita os pontos de extremidade para todos os serviços do Banco de Dados do Azure: Banco de Dados do Azure para MySQL, Banco de Dados do Azure para PostgreSQL, Banco de Dados SQL do Azure e Azure Synapse Analytics.

  • O suporte para pontos de extremidade de serviço VNet é apenas para servidores de uso geral e otimizados para memória.

  • Se o Microsoft.Sql estiver habilitado em uma sub-rede, isso indica que você deseja usar apenas regras de VNet para se conectar. As regras de firewall não-VNet de recursos nessa sub-rede não funcionarão.

  • No firewall, os intervalos de endereços IP se aplicam aos seguintes itens de rede, mas as regras de rede virtual não:

ExpressRoute

Se sua rede estiver conectada à rede do Azure por meio do uso da Rota Expressa, cada circuito será configurado com dois endereços IP públicos no Microsoft Edge. Os dois endereços IP são usados para se conectar aos Serviços da Microsoft, como ao Armazenamento do Azure, usando o Emparelhamento Público do Azure.

Para permitir a comunicação do seu circuito com o Banco de Dados do Azure para PostgreSQL, você deve criar regras de rede IP para os endereços IP públicos de seus circuitos. Para localizar os endereços IP públicos do seu circuito de Rota Expressa, abra um tíquete de suporte com a Rota Expressa usando o portal do Azure.

Adicionando uma regra de Firewall VNET ao seu servidor sem ativar os Pontos de Extremidade do Serviço VNET

A mera configuração de uma regra de firewall de rede virtual não ajuda a proteger o servidor à rede virtual. Você também deve ativar os pontos de extremidade do serviço VNet para que a segurança entre em vigor. Quando você ativa os pontos de extremidade de serviço, sua sub-rede de rede virtual enfrenta tempo de inatividade até concluir a transição de Desativado para Ativado. Tal é especialmente verdade no contexto de grandes VNets. Você pode usar o sinalizador IgnoreMissingServiceEndpoint para reduzir ou eliminar o tempo de inatividade durante a transição.

Você pode definir o sinalizador IgnoreMissingServiceEndpoint usando a CLI ou o portal do Azure.

Próximos passos

Para artigos sobre como criar regras de VNet, consulte: