Usar pontos de extremidade de serviço de rede virtual e regras para servidores na Base de Dados SQL do Azure

Aplica-se a: Base de Dados SQL do Azure

As regras de rede virtual são uma funcionalidade de segurança de firewall que controla se o servidor das suas bases de dados e pools elásticos no Base de Dados SQL do Azure aceita comunicações enviadas a partir de sub-redes específicas em redes virtuais. Este artigo explica porque é que as regras de rede virtual são, por vezes, a melhor opção para permitir a comunicação segura com a sua base de dados no SQL Database.

Observação

Neste artigo, servidor refere-se ao servidor lógico que aloja bases de dados no Base de Dados SQL do Azure.

Para criar uma regra de rede virtual, deve existir primeiro um ponto de extremidade de serviço de rede virtual para referência da regra.

Observação

Microsoft Entra ID era anteriormente conhecido como Azure Ative Directory (Azure AD).

Criar uma regra de rede virtual

Se você quiser criar apenas uma regra de rede virtual, você pode pular para as etapas e explicação mais adiante neste artigo.

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 servidor, não apenas a um banco de dados específico no servidor. Em outras palavras, as regras de rede virtual se aplicam no nível do servidor, não no nível do banco de dados.

Em contrapartida, as regras de PI podem ser aplicadas em qualquer nível.

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

Há uma separação de funções de segurança na administração de endpoints de serviço de rede virtual. É necessária ação de cada uma das seguintes funções:

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. Só precisas de um subconjunto das capacidades deles.

Pode usar controlo de acesso baseado em funções (RBAC) no Azure para criar uma única função personalizada que tenha apenas o subconjunto necessário de capacidades. Pode usar a função personalizada em vez de envolver o Administrador de Rede ou o Administrador de Base de Dados. A área de exposição da sua segurança é menor se adicionar um utilizador a uma função personalizada do que se adicionar o utilizador às outras duas funções principais de administrador.

Observação

Em alguns casos, o banco de dados no Banco de dados SQL e a sub-rede de rede virtual estão em assinaturas diferentes. Nesses casos, você deve garantir as seguintes configurações:

  • 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 de rede virtual ao servidor determinado.
  • Ambas as subscrições têm o Microsoft.Sql provedor registado.

Limitações

Para o Banco de dados SQL, o recurso de regras de rede virtual tem as seguintes limitações:

  • No firewall do seu banco de dados no Banco de dados SQL, cada regra de rede virtual faz referência a uma sub-rede. Deve alojar todas estas sub-redes referenciadas na mesma região geográfica que alberga a base de dados.
  • Cada servidor pode ter até 128 entradas ACL para qualquer rede virtual.
  • As regras de rede virtual aplicam-se apenas a redes virtuais do Azure Resource Manager e não a modelo de implantação clássico redes.
  • No firewall, os intervalos de endereços IP aplicam-se aos seguintes itens de rede, mas o mesmo não se aplica às regras de rede virtual:
  • Ambas as assinaturas devem estar no mesmo tenant do Microsoft Entra.

Considerações ao usar pontos de extremidade de serviço

Ao usar pontos de extremidade de serviço para o Banco de dados SQL, examine as seguintes considerações:

  • É necessário acessar os IPs públicos do Banco de Dados SQL do Azure. Deve abrir grupos de segurança de rede (NSGs) para IPs de bases de dados SQL para permitir a conectividade. Você pode fazer isso usando marcas de serviço NSG para o Banco de dados SQL.

ExpressRoute

Se usar o ExpressRoute a partir das suas instalações, para peering público ou peering da Microsoft, precisa de identificar os endereços IP NAT que são utilizados. Para o peer público, cada circuito ExpressRoute, por padrão, utiliza dois endereços IP NAT aplicados ao tráfego de serviço do Azure quando o tráfego entra no backbone do Microsoft Azure. No peering da Microsoft, ou o cliente ou o fornecedor de serviços fornece os endereços IP NAT utilizados. Para permitir o acesso aos seus recursos de serviço, você deve permitir esses endereços IP públicos na configuração do firewall IP do recurso. Para encontrar os seus endereços IP de circuito de emparelhamento público do ExpressRoute, abra um pedido de suporte com o ExpressRoute por meio do portal do Azure. Para saber mais sobre NAT para emparelhamento público e da Microsoft do ExpressRoute, consulte requisitos de NAT para o emparelhamento público do Azure.

Para permitir a comunicação do seu circuito com o Banco de dados SQL, você deve criar regras de rede IP para os endereços IP públicos do seu NAT.

Impacto do uso de extremidades de serviço de rede virtual com Armazenamento Azure

O Armazenamento do Azure suporta pontos finais de serviço de rede virtual que limitam a conectividade a uma conta de armazenamento. Se a Base de Dados SQL usar uma conta com esta configuração, reveja o impacto na auditoria de blobs.

Auditoria do Base de Dados SQL do Azure para blob storage

A auditoria SQL do Azure pode gravar logs de auditoria SQL em sua própria conta de armazenamento. Se esta conta de armazenamento utiliza o recurso de pontos de extremidade de serviço da rede virtual, veja como escrever uma auditoria numa conta de armazenamento dentro de uma VNet e firewall.

Adicionar uma regra de firewall de rede virtual ao servidor

Antes desta funcionalidade ser melhorada, era necessário ativar os endpoints de serviço de rede virtual antes de poder implementar uma regra ativa de rede virtual no firewall. Os pontos de extremidade associaram uma determinada sub-rede de rede virtual a uma base de dados do SQL Database. Desde janeiro de 2018, pode contornar este requisito colocando a IgnoreMissingVNetServiceEndpoint flag. Agora, você pode adicionar uma regra de firewall de rede virtual ao seu servidor sem ativar endpoints de serviço de rede virtual.

A simples configuração de uma regra de firewall não ajuda a proteger o servidor. Você também deve ativar os pontos de extremidade do serviço de rede virtual para que a segurança entre em vigor. Quando ativa os endpoints de serviço, a sub-rede da rede virtual enfrenta interrupção até concluir a transição de desativado para ativado. Este período de inatividade é especialmente verdadeiro no contexto de grandes redes virtuais. Podes usar a IgnoreMissingVNetServiceEndpoint opção para reduzir ou eliminar o tempo de inatividade durante a transição.

Podes definir a IgnoreMissingVNetServiceEndpoint flag usando o PowerShell. Para obter mais informações, consulte a PowerShell para criar um ponto de extremidade de serviço de rede virtual e uma regra para a Base de Dados SQL.

Usar o portal do Azure para criar uma regra de rede virtual

Esta secção ilustra como pode utilizar o portal do Azure para criar uma regra de rede virtual na sua base de dados na Base de Dados SQL. A regra diz à sua base de dados para aceitar comunicação de uma sub-rede específica que marcou como um ponto final de serviço de rede virtual.

Observação

Para adicionar um endpoint de serviço às regras de firewall de rede virtual do seu servidor, certifique-se primeiro de que os endpoints de serviço estão ativados para a sub-rede.

Se os pontos de extremidade de serviço não estiverem ativados para a sub-rede, o portal solicitará que você os ative. Selecione o botão Ativar no mesmo painel no qual você adiciona a regra.

Pré-requisitos

Você já deve ter uma sub-rede que esteja etiquetada com o ponto de extremidade do serviço de rede virtual específico do tipo relevante para o Banco de Dados SQL.

Etapas do portal do Azure

  1. Inicie sessão no portal do Azure.

  2. Procure e selecione SQL serverse, em seguida, selecione o servidor. Em Segurança, selecione Rede.

  3. Na guia de acesso público , verifique se o acesso à rede pública está definido como Selecionar redes , caso contrário, as configurações de Redes virtuais estarão ocultas. Selecione + Adicionar rede virtual existente na seção Redes virtuais.

    Captura de tela que mostra as propriedades lógicas do servidor para Rede.

  4. No novo painel Criar/Atualizar, preencha as caixas com os nomes dos seus recursos do Azure.

    Dica

    Você deve incluir o prefixo de endereço correto para sua sub-rede. Pode encontrar o valor do prefixo de endereço no portal. Vá para Todos os recursos>Todos os tipos>Redes virtuais. O filtro exibe suas redes virtuais. Selecione sua rede virtual e, em seguida, selecione Sub-redes. A coluna ADDRESS RANGE tem o prefixo de endereço que você precisa.

    Captura de tela que mostra o preenchimento de caixas para a nova regra.

  5. Consulte a regra de rede virtual resultante no painel de firewall do.

    Captura de tela que mostra a nova regra no painel Firewall.

  6. Defina Permitir que os serviços e recursos do Azure acedam este servidor para Não.

    Importante

    Se deixar Permitir que os serviços e recursos do Azure acessem este servidor marcado, o seu servidor aceitará comunicação de qualquer sub-rede dentro do limite do Azure. Essa comunicação tem origem num dos endereços IP reconhecidos como dentro dos intervalos definidos para datacenters do Azure. Deixar o controle ativado pode ser um acesso excessivo do ponto de vista da segurança. A funcionalidade de ponto de extremidade do serviço de Rede Virtual do Microsoft Azure, em coordenação com a funcionalidade de regras de rede virtual do Banco de Dados SQL, juntos podem reduzir a sua superfície de exposição à segurança.

  7. Selecione o botão OK na parte inferior do painel.

Observação

Os seguintes status ou estados aplicam-se às regras:

  • Preparado: Indica que a operação que iniciaste foi bem-sucedida.
  • Falhada: Indica que a operação que iniciaste falhou.
  • Eliminado: Aplica-se apenas à Delete operação e indica que a regra foi eliminada e já não se aplica.
  • InProgress: Indica que a operação está em andamento. A regra antiga aplica-se enquanto a operação estiver neste estado.

Usar o PowerShell para criar uma regra de rede virtual

Podes usar um script para criar regras de rede virtual utilizando o cmdlet do PowerShell New-AzSqlServerVirtualNetworkRule ou az network vnet create. Para obter mais informações, consulte a PowerShell para criar um ponto de extremidade de serviço de rede virtual e uma regra para a Base de Dados SQL.

Usar a API REST para criar uma regra de rede virtual

Internamente, os cmdlets do PowerShell para ações SQL de rede virtual chamam APIs REST. Você pode chamar as APIs REST diretamente. Para obter mais informações, consulte Regras de rede virtual: Operações.

Solucionar problemas de erros 40914 e 40615

O erro de conexão 40914 está relacionado às regras de rede virtual , conforme especificado no painel do Firewall no portal do Azure.
O erro 40615 é semelhante, mas está relacionado com as regras de endereço IP no firewall.

Erro 40914

Texto da mensagem: "Não é possível abrir o servidor '[nome do servidor]' solicitado pelo login. O cliente não tem permissão para acessar o servidor."

Descrição do erro: O cliente está numa sub-rede que tem endpoints de servidor de rede virtual. Mas o servidor não tem uma regra de rede virtual que conceda à sub-rede o direito de comunicar com a base de dados.

Resolução de erros: No painel Firewall do portal do Azure, use o controlo de regras de rede virtual para adicionar uma regra de rede virtual para a sub-rede.

Erro 40615

Texto da mensagem: "Não é possível abrir o servidor '{0}' solicitado pelo login. Cliente com endereço IP '{1}' não tem permissão para acessar o servidor."

Descrição do erro: O cliente está tentando se conectar a partir de um endereço IP que não está autorizado a se conectar ao servidor. O firewall do servidor não tem nenhuma regra de endereço IP que permita que um cliente se comunique do endereço IP fornecido para o banco de dados.

Resolução de erros: Insira o endereço IP do cliente como uma regra de IP. Utilize o painel Firewall no portal do Azure para completar este passo.

Pontos finais de serviço de rede virtual para o Azure Synapse Analytics

Para mais informações, consulte endpoints e regras de serviços de rede virtual para o Azure Synapse Analytics.