Usar regras e pontos de extremidade de serviço de Rede Virtual para Banco de Dados do Azure para MySQL

APLICA-SE A: Banco de Dados do Azure para MySQL – Servidor único

Importante

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

As regras da rede virtual são um recurso de segurança de firewall que controla se o servidor do Banco de Dados do Azure para MySQL aceita comunicações que sejam enviadas de sub-redes particulares em redes virtuais. Este artigo explica por que o recurso de regra da rede virtual é, às vezes, a melhor opção para permitir a comunicação segura com seu servidor do Banco de Dados do Azure para MySQL.

Para criar uma regra da rede virtual, deve haver primeiro uma VNet (rede virtual) e um ponto de extremidade de serviço de rede virtual para a regra a ser referenciada. A figura a seguir ilustra como um ponto de extremidade de serviço de Rede Virtual funciona com o Banco de Dados do Azure para MySQL:

Example of how a VNet Service Endpoint works

Observação

Esse recurso está disponível em todas as regiões do Azure nas quais o Banco de Dados do Azure para MySQL é implantado para servidores de Uso Geral e Otimizado por Memória. No caso de emparelhamento VNet, se o tráfego estiver fluindo através de um Gateway VNet comum com pontos de extremidade de serviço e deve fluir para o par, crie uma regra ACL/VNet para permitir que Máquinas Virtuais do Azure acessem o Banco de Dados do Azure para Servidor MySQL.

Considere também o uso do Link Privado para conexões. Esse serviço fornece um endereço IP privado em sua VNet para o servidor do Banco de Dados do Azure para MySQL.

Descrição e terminologia

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 do Azure (VMs) que você tem são atribuídas a sub-redes. Uma sub-rede pode conter várias VMs ou outros nós de computadores. Nós de computadores que estão fora da sua rede virtual não podem acessar sua rede virtual, a menos que você configure a segurança para permitir o acesso.

Ponto de extremidade de serviço de Rede Virtual: Um ponto de extremidade de 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 faz referência ao serviço do Azure chamado banco de dados SQL. Essa marca de serviço também aplica-se aos serviços do Banco de Dados do Azure para MySQL e PostgreSQL. É importante observar que, ao aplicar a marca de serviço Microsoft.Sql a um ponto de extremidade de serviço de VNet, ela configurará o tráfego do ponto de extremidade de serviço para todos os servidores do Banco de Dados SQL do Azure, Banco de Dados do Azure para MySQL e Banco de Dados do Azure para PostgreSQL na sub-rede.

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

Uma regra da rede virtual instrui o servidor do Banco de Dados do Azure para MySQL a aceitar comunicações de cada nó na sub-rede.

Benefícios de uma regra da rede virtual

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

a. Permitir acesso aos serviços do Azure

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

B. Regras de IP

O firewall do Banco de Dados do Azure para MySQL permite que você especifique intervalos de endereços IP dos quais as comunicações são aceitas no Banco de Dados do Azure para MySQL. 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 estão configurados com endereços IP dinâmicos. Endereços IP dinâmicos podem mudar, como quando sua VM é reiniciada. Seria ilusório especificar um endereço IP dinâmico em uma regra de firewall, em um ambiente de produção.

Você pode recuperar a opção de IP obtendo um endereço IP estático para a VM. Para obter mais detalhes, consulte Configurar endereços IP particulares para uma máquina virtual usando o Portal do Azure.

No entanto, a abordagem de IP estático pode se tornar difícil de gerenciar e é cara quando realizada em escala. Regras da rede virtual são mais fáceis de estabelecer e gerenciar.

Detalhes sobre as regras da rede virtual

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

Apenas uma região geográfica

Cada ponto de extremidade de 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 a comunicação da sub-rede.

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

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

Cada regra da rede virtual aplica-se a todo o seu servidor do Banco de Dados do Azure para MySQL, não apenas a um determinado banco de dados no servidor. Em outras palavras, a regra da rede virtual se aplica no nível de 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. A ação é necessária em cada uma das seguintes funções:

  • Administrador de rede: ativar o ponto de extremidade.
  • Administrador de banco de dados: atualize a ACL (lista de controle de acesso) para adicionar a sub-rede fornecida ao servidor do Banco de Dados do Azure para MySQL.

Alternativa ao RBAC do Azure:

As funções de Administrador de banco de dados e Administrador de rede têm mais recursos do que o necessário para gerenciar regras da rede virtual. É necessário apenas um subconjunto de seus recursos.

No Azure, você tem a opção de usar o RBAC do Azure (Controle de acesso baseado em função) para criar uma única função personalizada com apenas o subconjunto necessário de recursos. Em vez de envolver o Administrador da Rede ou o do Banco de Dados, você pode usar a função personalizada. A área de superfície de sua exposição de segurança será menor se você adicionar um usuário a uma função personalizada em vez de adicioná-lo às outras duas funções principais de administrador.

Observação

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

  • As duas assinaturas precisam 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 da VNet ao servidor.
  • Verifique se a assinatura tem os provedores de recursos Microsoft.Sql e Microsoft.DBforMySQL registrados. Para obter mais informações, confira resource-manager-registration

Limitações

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

  • Um aplicativo Web pode ser mapeado para um IP privado em uma sub-rede/rede virtual. Mesmo se os pontos de extremidade de serviço são ativados por meio da rede virtual/sub-rede determinada, as conexões do aplicativo Web para o servidor terão uma fonte IP pública Azure, não uma fonte de sub-rede/rede virtual. Para habilitar a conectividade de um aplicativo Web para um servidor com regras de firewall de VNET, você precisa Permitir que os serviços do Azure acessem o servidor no servidor.

  • No firewall do Banco de Dados do Azure para MySQL, cada regra da rede virtual referencia 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 MySQL.

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

  • As regras da rede virtual se aplicam somente a redes virtuais do Azure Resource Manager; e não a redes do modelo de implantação clássico.

  • Ativar pontos de extremidade de serviço de rede virtual para o Banco de Dados do Azure para MySQL usando a marca de serviço Microsoft.Sql também habilita os pontos de extremidade para todos os serviços de 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 ponto de extremidade de serviço de VNet é apenas para servidores de Uso Geral e Otimizados para Memória.

  • Se o Microsoft.Sql estiver habilitado em uma sub-rede, isso indicará que você só deseja usar regras de VNet para se conectar. 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 da rede virtual não:

ExpressRoute

Se sua rede estiver conectada à rede do Azure através do ExpressRoute, cada circuito é 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 o 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 MySQL, é necessário criar regras de rede IP para os endereços IP públicos dos seus circuitos. Para localizar os endereços IP públicos do seu circuito do ExpressRoute, abra um tique de suporte com o ExpressRoute por meio do Portal do Azure.

Adicionar uma regra do Firewall VNet ao seu servidor sem ativar os pontos de extremidade do serviço de VNet

Simplesmente definir uma regra de firewall VNet não ajuda a proteger o servidor para a VNet. Você também deve ativar os pontos de extremidade de serviço da VNet para que a segurança entre em vigor. Quando você ativa endpoints de serviço, sua sub-rede VNet passa por um período de inatividade até concluir a transição de Desativado para Ativado. Isso é especialmente verdadeiro no contexto de VNETs grandes. Use o sinalizador IgnoreMissingServiceEndpoint para reduzir ou eliminar o tempo de inatividade durante a transição.

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

Próximas etapas

Para obter artigos sobre como criar regras de VNet, consulte: