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

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

Ao criar um servidor lógico no portal do Azure para o Banco 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 o acesso seletivo a um banco de dados por meio do ponto de extremidade público:

  • Regras de firewall baseadas em IP: use este recurso para permitir explicitamente conexões de um endereço IP específico. Por exemplo, desde de computadores locais ou de um intervalo de endereços IP ao especificar os endereços IP inicial e final.

  • Permitir que os serviços e recursos do Azure acessem este servidor: quando habilitada, outros recursos no limite do Azure podem acessar o banco de dados SQL. Por exemplo, uma máquina virtual do Azure pode acessar os recursos do banco de dados SQL.

Você também pode permitir o acesso privado ao banco de dados de redes virtuais via:

  • Regras de firewall de rede virtual: use esse recurso para permitir o tráfego de uma determinada rede virtual no 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 de SQL. Para saber mais sobre a configuração de rede necessária, consulte Conectar-se a uma Instância Gerenciada de SQL do Azure.

Regras de firewall de IP

O firewall baseado em IP é um recurso do servidor lógico no Azure que impede todo o acesso ao servidor até que você adicione endereços IP explicitamente para os computadores clientes.

Permitir serviços do Azure

Por padrão, durante a criação de um novo servidor lógico via portal do Azure, a opção Permitir que os serviços e recursos do Azure acessem este servidor está desmarcada e desabilitada. Ela aparece quando a conectividade é permitida por meio do ponto de extremidade público.

Você também pode alterar essa configuração por meio da opção Rede, depois da criação do servidor lógico, conforme o seguinte:

Captura de tela do gerenciamento do firewall do servidor

Quando a opção Permitir que os serviços e recursos do Azure acessem este servidor está habilitada, o servidor permite comunicações de todos os recursos no limite do Azure, não importa se eles fazem ou não parte da assinatura. Em muitos casos, a habilitação dessa configuração fornece muito mais permissões do que o desejado pela maioria dos clientes. Talvez você queira desmarcar essa configuração e substituí-la por regras de firewall IP mais restritivas ou usar uma das opções para acesso privado.

Importante

Marcar a opção Permitir que os serviços e recursos do Azure acessem este servidor adiciona uma regra de firewall baseada em IP com endereço IP inicial e final de 0.0.0.0

No entanto, isso afeta os seguintes recursos que são executados em máquinas virtuais no Azure que não fazem parte da rede virtual e que, 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 e exportação não funciona quando Permitir que os serviços e recursos do Azure acessem este servidor não está habilitado. No entanto, é possível resolver o problema executando o SqlPackage manualmente em uma VM do Azure ou executando a exportação diretamente no código por meio da API do 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 este servidor desabilitado, é preciso 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 dos servidores que hospedam os bancos de dados de Hub e de Membro (que poderiam estar em regiões diferentes).

Use o script do PowerShell a seguir 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

Dica

Get-AzNetworkServiceTag retorna o intervalo global para a marca de serviço SQL, apesar de especificar o parâmetro de local. Filtre-o para a região que hospeda o banco de dados de hub usado pelo grupo de sincronização

A saída do script do PowerShell está na notação CIDR (roteamento entre domínios sem classe). Ela precisa ser convertida em um formato de endereço IP inicial e final por meio de Get-IPrangeStartEnd.ps1, como a seguir:

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

Você pode usar o script do PowerShell a seguir para converter todos os endereços IP de CIDR no 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 é possível adicioná-las como regras de firewall distintas e desabilitar a configuração Permitir que os serviços e recursos do Azure acessem este servidor.

Marca de Serviço do SQL

As marcas de serviço podem ser usadas em regras de segurança e rotas de clientes para o banco de dados SQL. As marcas de serviço podem ser usadas em grupos de segurança de rede, no Firewall do Azure e em rotas definidas pelo usuário. Para isso, é necessário especificá-las no campo de origem ou destino de uma regra de segurança. A marca de serviço Sql consiste em todos os endereços IP que estão sendo usados pelo banco de dados SQL. A marca é segmentada por regiões. Por exemplo Sql.WestUS lista todos os endereços IP usados pelo banco de dados SQL na região Oeste dos EUA.

A marca de serviço Sql consiste nos endereços IP necessários para estabelecer conectividade com o banco de dados SQL, conforme documentado em Endereços IP do gateway. Além disso, uma marca de serviço também será associada a qualquer tráfego de saída do banco de dados SQL usado em recursos como:

Marca de serviço SqlManagement

A marca de serviço SqlManagement é usada para operações do ambiente de gerenciamento no banco de dados SQL.

Regras de firewall de rede virtual

As regras de rede de firewall 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.

O Link Privado permite se conectar a um servidor por meio de um ponto de extremidade privado. Um ponto de extremidade privado é um endereço IP privado em uma rede virtual e uma sub-rede específicas.