Use as regras e extremidades de serviço da rede virtual para os servidores no Banco de Dados SQL do Azure

Aplica-se a:Banco de Dados SQL do Azure

Regras de rede virtual são um recurso de segurança de firewall que controla se o servidor dos seus bancos de dados e pools elásticos no Banco de Dados SQL do Azure aceita comunicações enviadas de sub-redes específicas em redes virtuais. Este artigo explica por que regras de rede virtual às vezes são sua melhor opção para permitir a comunicação segura com seu banco de dados no SQL Database.

Observação

Neste artigo, servidor refere-se ao servidor lógico que hospeda bancos de dados no Banco de Dados SQL do Azure.

Para criar uma regra da rede virtual, primeiro, é preciso que haja um ponto de extremidade de serviço de rede virtual para a regra fazer referência a ele.

Observação

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

Criar uma regra da rede virtual

Se você quer apenas criar uma regra da rede virtual, poderá pular para as etapas e explicação posteriores neste artigo.

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 endpoint não habilita outras regiões a aceitarem 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 se aplica a todo o seu servidor, não apenas a determinado banco de dados no servidor. Em outras palavras, as regras da rede virtual se aplicam no nível de servidor, não no nível do banco de dados.

Por outro lado, as regras de IP podem ser aplicadas em um ou outro dos dois níveis.

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 de cada uma das seguintes funções:

  • Administrador de Rede (função de Colaborador de Rede): Ative o ponto de extremidade.
  • Administrador de Banco de dados (função de Colaborador do SQL Server): Atualize a ACL (lista de controle de acesso) para adicionar a sub-rede indicada ao servidor.

Alternativa ao Azure RBAC

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. Você só precisa de um subconjunto das capacidades deles.

Você pode usar o controle 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. Você pode usar o papel personalizado em vez de envolver tanto o Administrador de Rede quanto o Administrador de Banco de Dados. A superfície de exposição da sua segurança é menor se você adicionar um usuário a um papel personalizado do que se adicionar o usuário aos outros dois principais cargos de administrador.

Observação

Em alguns casos, o banco de dados no Banco de Dados SQL e a sub-rede da 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 da rede virtual ao servidor especificado.
  • Ambas as assinaturas têm o Microsoft.Sql provedor registrado.

Limitações

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

  • No firewall do seu banco de dados no Banco de Dados SQL, cada regra da rede virtual faz referência a uma sub-rede. Você deve hospedar todas essas sub-redes referenciadas na mesma região geográfica que hospeda o banco de dados.
  • Cada servidor pode ter até 128 entradas de ACL para qualquer rede virtual.
  • 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.
  • No firewall, os intervalos de endereços IP se aplicam aos seguintes itens de rede, mas isso não se aplica às regras de rede virtual:
  • As duas assinaturas devem estar no mesmo tenant do Microsoft Entra.

Considerações sobre o uso de endpoints de serviço

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

  • É necessária uma saída para IPs públicos do Banco de Dados SQL do Azure. Você deve abrir grupos de segurança de rede (NSGs) para IPs de Banco de Dados SQL para permitir conectividade. Você pode fazer isso usando as NSG service tags para o Banco de Dados SQL.

ExpressRoute

Se você usa o ExpressRoute a partir das suas instalações, para peering público ou peering da Microsoft, precisa identificar os endereços IP NAT que são usados. Para peering público, cada circuito do ExpressRoute usará dois endereços IP de NAT, que serão aplicados ao tráfego do serviço do Azure quando o tráfego entrar no backbone da rede do Microsoft Azure. Para peering da Microsoft, ou o cliente ou o provedor de serviço fornece os endereços IP NAT que são utilizados. Para permitir o acesso aos recursos do seu serviço, você deve permitir estes endereços IP públicos na configuração do firewall de IP do recurso. Para localizar os endereços IP do circuito do ExpressRoute de emparelhamento público, abra um tíquete de suporte com o ExpressRoute por meio do Portal do Azure. Para saber mais sobre NAT para o peering público e o peering da Microsoft do ExpressRoute, confira 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ê precisará criar regras de rede IP para os endereços IP públicos do seu NAT.

Impacto do uso de pontos de extremidade de serviço de rede virtual com o Armazenamento do Microsoft Azure

O Armazenamento do Azure suporta endpoints de serviço de rede virtual que limitam a conectividade a uma conta de armazenamento. Se o Banco de Dados SQL usar uma conta com essa configuração, revise o impacto na auditoria de blobs.

Banco de Dados SQL do Azure auditing to blob storage

A auditoria do SQL do Azure pode gravar os logs de auditoria do SQL na sua conta de armazenamento. Se essa conta de armazenamento usar o recurso de pontos de extremidade de serviço de rede virtual, confira como gravar a auditoria em uma conta de armazenamento por trás da VNet e do firewall.

Adicionar uma regra de firewall de rede virtual ao seu servidor

Antes desse recurso ser aprimorado, era preciso ativar os endpoints de serviço de rede virtual antes de poder implementar uma regra de rede virtual ativa no firewall. Os pontos de extremidade relacionam uma determinada sub-rede de rede virtual a um banco de dados no Banco de Dados SQL. A partir de janeiro de 2018, você pode contornar essa exigência colocando a flag IgnoreMissingVNetServiceEndpoint. Agora, você pode adicionar uma regra de firewall de rede virtual ao seu servidor sem ativar os 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 precisa ativar os pontos de extremidade de serviço da rede virtual para que a segurança comece a funcionar. Quando você ativa extremidades de serviço, sua sub-rede de rede virtual passa por tempo de inatividade até concluir a transição de desativada para ativada. Esse período de inatividade é especialmente verdadeiro no contexto de grandes redes virtuais. Você pode usar a flag IgnoreMissingVNetServiceEndpoint para reduzir ou eliminar o tempo de inatividade durante a transição.

Você pode definir a IgnoreMissingVNetServiceEndpoint flag usando o PowerShell. Para obter mais informações, confira PowerShell para criar uma regra e um ponto de extremidade de serviço de rede virtual para o banco de dados SQL.

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

Esta seção ilustra como você pode usar o portal do Azure para criar uma regra de rede virtual no seu banco de dados do Banco de Dados SQL. A regra diz ao seu banco de dados para aceitar comunicação de uma sub-rede específica que você marcou como um endpoint 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, primeiro certifique-se de que os endpoints de serviço estejam ativados para a sub-rede.

Se os pontos de extremidade de serviço não estão ativados para a sub-rede, o portal pede para você habilitá-los. Selecione o botão Habilitar no mesmo painel em que você adiciona a regra.

Pré-requisitos

Você já deve ter uma sub-rede que esteja marcada com o ponto de extremidade de serviço de rede virtual específico type name relevante para o banco de dados SQL.

Etapas no portal do Azure

  1. Entre no portal do Azure.

  2. Procure e selecione Servidores SQLe selecione seu servidor. Em Segurança, selecione Rede/Networking.

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

    Captura de tela que mostra as propriedades do servidor lógico para

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

    Dica

    Você precisa incluir o prefixo de endereço correto para a sua sub-rede. Você pode encontrar o valor do Prefixo de endereço no Portal. Acesse 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 INTERVALO DE ENDEREÇOS tem o prefixo de endereço de que você precisa.

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

  5. Confira a regra da rede virtual resultante no painel Firewall.

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

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

    Importante

    Se você mantiver Permitir que os serviços e recursos do Azure acessem este servidor marcado, o servidor aceitará a comunicação de qualquer sub-rede dentro do limite do Azure. Essa comunicação se origina de um dos endereços IP reconhecidos como dentro dos intervalos definidos para datacenters do Azure. Deixar o controle habilitado pode representar um acesso excessivo do ponto de vista da segurança. O recurso de ponto de extremidade de serviço de Rede Virtual do Microsoft Azure, em conjunto com o recurso de regras da rede virtual do Banco de Dados SQL do Microsoft Azure, pode reduzir a superfície de ataque.

  7. Selecione o botão OK perto da parte inferior do painel.

Observação

O status ou os estados a seguir se aplicam às regras:

  • Pronto: Indica que a operação que você iniciou foi bem-sucedida.
  • Falhou: Indica que a operação que você iniciou falhou.
  • Excluído: Aplica-se apenas à Delete operação e indica que a regra foi excluída e não se aplica mais.
  • Em andamento: indica que a operação está em andamento. A regra antiga é aplicável enquanto a operação está nesse estado.

Usar o PowerShell para criar uma regra de rede virtual

Você pode usar um script para criar regras de rede virtual usando o cmdlet New-AzSqlServerVirtualNetworkRule do PowerShell ou az network vnet create. Para obter mais informações, confira PowerShell para criar um ponto de extremidade de serviço de rede virtual e uma regra para o Banco de Dados SQL.

Usar a API REST para criar uma regra da rede virtual

Internamente, os cmdlets do PowerShell para ações de rede virtual do SQL chamam APIs REST. É possível chamar as APIs REST diretamente. Para obter mais informações, confira Regras de rede virtual: operações.

Solucionar problemas com os erros 40914 e 40615

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

Erro 40914

Texto da mensagem: "Não é possível abrir o servidor '[server-name]' solicitado pelo logon. O cliente não tem permissão para acessar o servidor.”

Descrição do erro: o cliente está em uma sub-rede que tem pontos de extremidade de serviço de rede virtual. Mas o servidor não possui uma regra de rede virtual que conceda à sub-rede o direito de se comunicar com o banco de dados.

Resolução de erro: no painel Firewall do Portal do Azure, use o controle de regras de rede virtual para adicionar uma regra da rede virtual à sub-rede.

Erro 40615

Texto da mensagem: “Não é possível abrir o servidor '{0}' solicitado pelo logon. O cliente com o endereço IP '{1}' não tem permissão para acessar o servidor.”

Descrição do erro: o cliente está tentando conectar-se 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 erro: digite o endereço IP do cliente como uma regra de IP. Use o painel Firewall no portal do Azure para concluir esta etapa.

Virtual network service endpoints for Azure Synapse Analytics

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