Partilhar via


Controles de acesso à rede do Banco de Dados SQL do Azure e do Azure Synapse Analytics

Aplica-se a:Banco de DadosSQL do Azure Synapse Analytics (somente pools SQL dedicados)

Quando cria um servidor lógico a partir do portal do Azure para a Base de Dados SQL do Azure e o Azure Synapse Analytics, o resultado é um ponto de extremidade público no formato yourservername.database.windows.net.

Você pode usar os seguintes controles de acesso à rede para permitir seletivamente o acesso a um banco de dados por meio do ponto de extremidade público:

  • Permitir que os serviços e recursos do Azure acessem este servidor: quando habilitados, outros recursos dentro do limite do Azure, por exemplo, uma Máquina Virtual do Azure, podem acessar o Banco de Dados SQL
  • Regras de firewall IP: use esse recurso para permitir explicitamente conexões de um endereço IP específico, por exemplo, de máquinas locais

Também pode permitir o acesso privado à base de dados a partir de redes virtuais através de:

  • Regras de firewall de rede virtual: use esse recurso para permitir o tráfego de uma rede virtual específica dentro do limite do Azure
  • Link privado: use esse recurso para criar um ponto de extremidade privado para o servidor lógico no Azure em uma rede virtual específica

Importante

Este artigo não se aplica à Instância Gerenciada SQL. Para obter mais informações sobre a configuração de rede, consulte Conectando-se à Instância Gerenciada SQL do Azure .

Veja o vídeo abaixo para uma explicação de alto nível desses controles de acesso e o que eles fazem:

Permitir serviços do Azure

Por padrão, durante a criação de um novo servidor lógico a partir do portal do Azure, Permitir que os serviços e recursos do Azure acessem esse servidor está desmarcado e não habilitado. Esta definição aparece quando a conectividade é permitida através do ponto final de serviço público.

Você também pode alterar essa configuração por meio da configuração Rede depois que o servidor lógico é criado da seguinte maneira:

Screenshot of manage server firewall

Quando Permitir que os serviços e recursos do Azure acessem este servidor está habilitado, seu servidor permite comunicações de todos os recursos dentro do limite do Azure, que podem ou não fazer parte da sua assinatura.

Em muitos casos, ativar a configuração é mais permissivo do que a maioria dos clientes deseja. Desmarque essa configuração e substitua-a por regras mais restritivas de firewall IP ou regras de firewall de rede virtual.

No entanto, isso afeta os seguintes recursos que são executados em máquinas virtuais no Azure que não fazem parte da sua rede virtual e, portanto, se conectam ao banco de dados por meio de um endereço IP do Azure:

Serviço de Importação/Exportação

O Serviço de Importação de Exportação não funciona quando Permitir que os serviços e recursos do Azure acessem este servidor não está habilitado. No entanto, você pode contornar o problema executando manualmente SqlPackage de uma VM do Azure ou executando a exportação diretamente em seu código usando a API DACFx.

Sincronização de Dados

Para usar o recurso de sincronização de dados com Permitir que os serviços e recursos do Azure acessem esse servidor não habilitado, você precisa criar entradas de regra de firewall individuais para adicionar endereços IP da marca de serviço Sql para a região que hospeda o banco de dados Hub. Adicione essas regras de firewall no nível de servidor aos servidores que hospedam os bancos de dados Hub e Membro (que podem estar em regiões diferentes)

Use o seguinte script do PowerShell para gerar endereços IP correspondentes à marca de serviço SQL para a região Oeste dos EUA

PS C:\>  $serviceTags = Get-AzNetworkServiceTag -Location eastus2
PS C:\>  $sql = $serviceTags.Values | Where-Object { $_.Name -eq "Sql.WestUS" }
PS C:\> $sql.Properties.AddressPrefixes.Count
70
PS C:\> $sql.Properties.AddressPrefixes
13.86.216.0/25
13.86.216.128/26
13.86.216.192/27
13.86.217.0/25
13.86.217.128/26
13.86.217.192/27

Gorjeta

Get-AzNetworkServiceTag retorna o intervalo global para SQL Service Tag apesar de especificar o parâmetro Location. Certifique-se de filtrá-lo para a região que hospeda o banco de dados do Hub usado pelo seu grupo de sincronização

Observe que a saída do script do PowerShell está na notação CIDR (Roteamento entre Domínios sem Classe). Isso precisa ser convertido para um formato de endereço IP inicial e final usando Get-IPrangeStartEnd.ps1 assim:

PS C:\> Get-IPrangeStartEnd -ip 52.229.17.93 -cidr 26
start        end
-----        ---
52.229.17.64 52.229.17.127

Você pode usar esse script adicional do PowerShell para converter todos os endereços IP do CIDR para o formato de endereço IP inicial e final.

PS C:\>foreach( $i in $sql.Properties.AddressPrefixes) {$ip,$cidr= $i.split('/') ; Get-IPrangeStartEnd -ip $ip -cidr $cidr;}
start          end
-----          ---
13.86.216.0    13.86.216.127
13.86.216.128  13.86.216.191
13.86.216.192  13.86.216.223

Agora você pode adicioná-los como regras de firewall distintas e, em seguida, desabilitar a configuração Permitir que os serviços e recursos do Azure acessem esse servidor.

Regras de firewall de IP

O firewall baseado em IP é um recurso do servidor lógico no Azure que impede todo o acesso ao seu servidor até que você adicione explicitamente endereços IP das máquinas cliente.

Regras de firewall de rede virtual

Além das regras de IP, o firewall do servidor permite definir regras de rede virtual. Para saber mais, consulte Pontos de extremidade de serviço de rede virtual e regras para o Banco de Dados SQL do Azure.

Terminologia de Rede do Azure

Esteja ciente dos seguintes termos de Rede do Azure ao explorar as regras de firewall de rede virtual

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 que você tem são atribuídas 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.

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 Microsoft.Sql, que se refere ao serviço do Azure chamado Banco de Dados SQL.

Regra de rede virtual: uma regra de rede virtual para o servidor é uma sub-rede listada na lista de controle de acesso (ACL) do servidor. Para estar na ACL do seu banco de dados no Banco de dados SQL, a sub-rede deve conter o nome do tipo Microsoft.Sql . Uma regra de rede virtual informa ao servidor para aceitar comunicações de cada nó que está na sub-rede.

IP vs. Regras de firewall de rede virtual

O firewall do Banco de Dados SQL do Azure permite especificar intervalos de endereços IP dos quais as comunicações são aceitas no Banco de Dados SQL. Essa abordagem é adequada para endereços IP estáveis que estão fora da rede privada do Azure. No entanto, as máquinas virtuais (VMs) na rede privada do Azure são configuradas com endereços IP dinâmicos . Os endereços IP dinâmicos podem mudar quando a VM é reiniciada e, por sua vez, invalidar a regra de firewall baseada em IP. Seria loucura especificar um endereço IP dinâmico em uma regra de firewall, em um ambiente de produção.

Você pode contornar essa limitação obtendo um endereço IP estático para sua VM. Para obter detalhes, consulte Criar uma máquina virtual com um endereço IP público estático usando o portal do Azure. No entanto, a abordagem de IP estático pode se tornar difícil de gerenciar e é cara quando feita em escala.

As regras de rede virtual são uma alternativa mais fácil para estabelecer e gerenciar o acesso de uma sub-rede específica que contém suas VMs.

Nota

Ainda não é possível ter o Banco de dados SQL em uma sub-rede. Se o servidor fosse um nó em uma sub-rede na rede virtual, todos os nós dentro da rede virtual poderiam se comunicar com o Banco de Dados SQL. Nesse caso, suas VMs poderiam se comunicar com o Banco de dados SQL sem precisar de regras de rede virtual ou regras de IP.

Private Link permite que você se conecte a um servidor através de um ponto de extremidade privado. Um ponto de extremidade privado é um endereço IP privado dentro de uma rede virtual específica e sub-rede .

Próximos passos