Utilizar os pontos finais de serviço e regras de Rede Virtual para Base de Dados do Azure para MySQL

APLICA-SE A: Base de Dados do Azure para MySQL - Servidor Único

Importante

Base de Dados do Azure para MySQL – o Servidor Único está no caminho de descontinuação. Recomendamos vivamente que atualize para Base de Dados do Azure para MySQL – Servidor Flexível. Para obter mais informações sobre como migrar para Base de Dados do Azure para MySQL – Servidor Flexível, consulte O que está a acontecer ao Base de Dados do Azure para MySQL Servidor Único?

As regras de rede virtual são uma funcionalidade de segurança de firewall que controla se o servidor de Base de Dados do Azure para MySQL aceita comunicações enviadas de sub-redes específicas em redes virtuais. Este artigo explica por que motivo a funcionalidade de regra de rede virtual é, por vezes, a melhor opção para permitir de forma segura a comunicação com o servidor Base de Dados do Azure para MySQL.

Para criar uma regra de rede virtual, primeiro tem de existir uma rede virtual (VNet) e um ponto final de serviço de rede virtual para a regra referenciar. A imagem seguinte ilustra como um ponto final de serviço Rede Virtual funciona com Base de Dados do Azure para MySQL:

Exemplo de como funciona um Ponto Final de Serviço da VNet

Nota

Esta funcionalidade está disponível em todas as regiões do Azure onde Base de Dados do Azure para MySQL é implementada para servidores Fins Gerais e Otimizados para Memória. No caso do VNet Peering, se o tráfego estiver a fluir através de um Gateway de VNet comum com pontos finais de serviço e for suposto fluir para o elemento da rede, crie uma regra ACL/VNet para permitir que o Azure Máquinas Virtuais na VNet do Gateway aceda ao servidor Base de Dados do Azure para MySQL.

Também pode considerar a utilização de Private Link para ligações. Private Link fornece um endereço IP privado na VNet para o servidor Base de Dados do Azure para MySQL.

Terminologia e descrição

Rede virtual: Pode ter redes virtuais associadas à sua subscrição do Azure.

Sub-rede: Uma rede virtual contém sub-redes. Todas as máquinas virtuais (VMs) do Azure que tenha atribuído a sub-redes. Uma sub-rede pode conter várias VMs 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.

Rede Virtual ponto final de serviço: um ponto final de serviço Rede Virtual é uma sub-rede cujos valores de propriedade incluem um ou mais nomes formais do tipo de serviço do Azure. Neste artigo, estamos interessados no nome do tipo Microsoft.Sql, que se refere ao serviço do Azure com o nome Base de Dados SQL. Esta etiqueta de serviço também se aplica aos serviços Base de Dados do Azure para MySQL e PostgreSQL. É importante ter em atenção que ao aplicar a etiqueta de serviço Microsoft.Sql a um ponto final de serviço da VNet, irá configurar o tráfego do ponto final de serviço para todos os servidores da Base de Dados SQL do Azure, Base de Dados do Azure para MySQL e Base de Dados do Azure para PostgreSQL na sub-rede.

Regra de rede virtual: Uma regra de rede virtual para o servidor Base de Dados do Azure para MySQL é uma sub-rede que está listada na lista de controlo de acesso (ACL) do servidor Base de Dados do Azure para MySQL. Para estar na ACL do servidor Base de Dados do Azure para MySQL, a sub-rede tem de conter o nome do tipo Microsoft.Sql.

Uma regra de rede virtual indica ao servidor Base de Dados do Azure para MySQL para aceitar comunicações de todos os nós que estão na sub-rede.

Benefícios de uma regra de rede virtual

Até tomar medidas, as VMs nas sub-redes não podem comunicar com o servidor Base de Dados do Azure para MySQL. Uma ação que estabelece a comunicação é a criação de uma regra de rede virtual. A lógica para escolher a abordagem da regra da VNet requer uma discussão de comparação e contraste que envolva as opções de segurança concorrentes oferecidas pela firewall.

A. Permitir acesso aos serviços do Azure

O painel Segurança da ligação tem um botão ATIVADO/DESLIGADO com o nome Permitir acesso aos serviços do Azure. A definição ON permite comunicações de todos os endereços IP do Azure e de todas as sub-redes do Azure. Estes IPs ou sub-redes do Azure podem não ser propriedade de si. Esta definição ON é provavelmente mais aberta do que pretende que a base de dados Base de Dados do Azure para MySQL seja. A funcionalidade de regra de rede virtual oferece um controlo granular muito mais fino.

B. Regras de IP

A firewall de Base de Dados do Azure para MySQL permite-lhe especificar intervalos de endereços IP a partir dos quais as comunicações são aceites na Base de Dados Base de Dados do Azure para MySQL. Esta abordagem é adequada para endereços IP estáveis que estão fora da rede privada do Azure. Contudo, muitos nós dentro da rede privada do Azure estão configurados com endereços IP dinâmicos . Os endereços IP dinâmicos podem ser alterados, como quando a VM é reiniciada. Seria uma loucura especificar um endereço IP dinâmico numa regra de firewall, num ambiente de produção.

Pode recuperar a opção IP ao obter um endereço IP estático para a VM. Para obter detalhes, veja Configurar endereços IP privados para uma máquina virtual com o portal do Azure.

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

Detalhes sobre as regras de rede virtual

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

Apenas uma região geográfica

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

Qualquer regra de rede virtual está limitada à região a que se aplica o ponto final subjacente.

Ao nível do servidor, não ao nível da base de dados

Cada regra de rede virtual aplica-se a todo o servidor Base de Dados do Azure para MySQL e não apenas a uma base de dados específica no servidor. Por outras palavras, a regra de rede virtual aplica-se ao nível do servidor e não ao nível da base de dados.

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

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

  • Administração de rede: ative o ponto final.
  • Base de dados Administração: atualize a lista de controlo de acesso (ACL) para adicionar a sub-rede especificada ao servidor Base de Dados do Azure para MySQL.

Alternativa do RBAC do Azure:

As funções de Administração de Rede e base de dados Administração têm mais capacidades do que as necessárias para gerir regras de rede virtual. Só é necessário um subconjunto das suas capacidades.

Tem a opção de utilizar o controlo de acesso baseado em funções do Azure (RBAC do Azure) no Azure para criar uma única função personalizada que tenha apenas o subconjunto de capacidades necessário. A função personalizada pode ser utilizada em vez de envolver o Administração de Rede ou a Base de Dados Administração. A área de superfície da exposição à segurança é mais baixa se adicionar um utilizador a uma função personalizada, em vez de adicionar o utilizador às outras duas principais funções de administrador.

Nota

Em alguns casos, o Base de Dados do Azure para MySQL e a VNet-sub-rede estão em subscrições diferentes. Nestes casos, tem de garantir as seguintes configurações:

  • Ambas as subscrições têm de estar no mesmo inquilino do Azure Active Directory.
  • O utilizador tem as permissões necessárias para iniciar operações, como ativar pontos finais de serviço e adicionar uma VNet-sub-rede ao servidor especificado.
  • Certifique-se de que a subscrição tem o fornecedor de recursos Microsoft.Sql e Microsoft.DBforMySQL registado. Para obter mais informações, veja resource-manager-registration

Limitações

Para Base de Dados do Azure para MySQL, a funcionalidade de regras de rede virtual tem as seguintes limitações:

  • Uma Aplicação Web pode ser mapeada para um IP privado numa VNet/sub-rede. Mesmo que os pontos finais de serviço estejam ativados a partir da VNet/sub-rede especificada, as ligações da Aplicação Web ao servidor terão uma origem de IP pública do Azure e não uma origem de VNet/sub-rede. Para ativar a conectividade de uma Aplicação Web para um servidor com regras de firewall de VNet, tem de Permitir que os serviços do Azure acedam ao servidor no servidor.

  • Na firewall do seu Base de Dados do Azure para MySQL, cada regra de rede virtual referencia uma sub-rede. Todas estas sub-redes referenciadas têm de estar alojadas na mesma região geográfica que aloja o Base de Dados do Azure para MySQL.

  • Cada servidor Base de Dados do Azure para MySQL pode ter até 128 entradas de ACL para uma determinada rede virtual.

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

  • Ativar os pontos finais de serviço de rede virtual para Base de Dados do Azure para MySQL através da etiqueta de serviço Microsoft.Sql também permite os pontos finais para todos os serviços da Base de Dados do Azure: Base de Dados do Azure para MySQL, Base de Dados do Azure para PostgreSQL, SQL do Azure Database e Azure Synapse Analytics.

  • O suporte para pontos finais de serviço da VNet destina-se apenas a servidores Fins Gerais e Otimizados para Memória.

  • Se o Microsoft.Sql estiver ativado numa sub-rede, significa que só pretende utilizar regras de VNet para ligar. As regras de firewall não VNet dos recursos nessa sub-rede não funcionarão.

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

ExpressRoute

Se a sua rede estiver ligada à rede do Azure através da utilização do ExpressRoute, cada circuito é configurado com dois endereços IP públicos no Microsoft Edge. Os dois endereços IP são utilizados para ligar aos Serviços Microsoft, como o Armazenamento do Azure, através do Peering Público do Azure.

Para permitir a comunicação do circuito para Base de Dados do Azure para MySQL, tem de criar regras de rede IP para os endereços IP públicos dos seus circuitos. Para localizar os endereços IP públicos do circuito do ExpressRoute, abra um pedido de suporte com o ExpressRoute com o portal do Azure.

Adicionar uma regra de Firewall de VNET ao servidor sem ativar os Pontos Finais de Serviço da VNET

Apenas definir uma regra de firewall de VNet não ajuda a proteger o servidor para a VNet. Também tem de ativar os pontos finais de serviço da VNet para que a segurança entre em vigor. Quando ativa os pontos finais de serviço, a VNet-sub-rede tem um período de indisponibilidade até concluir a transição de Desativado para Ativado. Tal é especialmente verdade no contexto de grandes VNets. Pode utilizar o sinalizador IgnoreMissingServiceEndpoint para reduzir ou eliminar o período de indisponibilidade durante a transição.

Pode definir o sinalizador IgnoreMissingServiceEndpoint com a CLI ou portal do Azure.

Passos seguintes

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