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
do Azure Synapse Analytics (somente pools SQL dedicados)
Quando você cria um servidor lógico a partir do de 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
.
Por padrão, o servidor lógico nega todas as conexões para garantir a segurança. Você pode usar um ou mais dos seguintes controles de acesso à rede para permitir seletivamente o acesso a um banco de dados por meio do ponto de extremidade público
regras de firewall baseadas em IP: Utilize esta funcionalidade para permitir explicitamente conexões de um endereço IP específico. Por exemplo, a partir de máquinas locais ou de um intervalo de endereços IP, especificando o endereço IP inicial e final.
Permitir que os serviços e recursos do Azure acessem este servidor: Quando habilitado, outros recursos dentro do 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.
Também pode permitir 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.
de Link Privado: use esse recurso para criar um ponto de extremidade privado para o servidor lógico no Azure dentro de uma rede virtual específica.
Importante
Este artigo não se aplica a Instância Gerenciada SQL. Para obter mais informações sobre a configuração de rede, consulte conectando-se à Instância Gerenciada SQL do Azure .
Regras de firewall IP
As regras de firewall baseadas em IP são um recurso do servidor lógico no Azure que impede todo o acesso ao seu servidor até que você explicitamente adicionar endereços IP das máquinas cliente.
Existem dois tipos de regras de firewall:
- Regras de firewall no nível de servidor: Essas regras se aplicam a todos os bancos de dados no servidor. Eles podem ser configurados por meio do portal do Azure, PowerShell ou comandos T-SQL, como sp_set_firewall_rule.
- Regras de firewall no nível de banco de dados: Essas regras se aplicam a bancos de dados individuais e só podem ser configuradas usando comandos T-SQL como sp_set_database_firewall_rule
A seguir estão as restrições para nomear regras de firewall:
- O nome da regra de firewall não pode estar vazio.
- Ele não pode conter os seguintes caracteres:
<, >, *, %, &, :, \\, /, ?.
- Não pode terminar com um ponto final (.).
- O nome da regra de firewall não pode exceder 128 caracteres.
Qualquer tentativa de criar regras de firewall que não atendam a essas restrições falha com uma mensagem de erro. Quaisquer modificações feitas nas regras de firewall baseadas em IP existentes podem levar até 5 minutos para entrar em vigor.
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á desmarcada e não habilitada. Essa configuração aparece quando a conectividade é permitida via ponto de extremidade público.
Você também pode alterar essa configuração por meio da configuração Rede depois que o servidor lógico for criado da seguinte maneira:
Quando Permitir que os serviços e recursos do Azure acedam a este servidor está habilitado, o seu servidor permite comunicações de todos os recursos dentro do limite do Azure , independentemente de fazerem parte da sua subscrição. Nos bastidores, uma regra especial de firewall no nível do servidor é adicionada que começa e termina com o endereço IP de 0.0.0.0
.
Em muitos casos, ativar a configuração é mais permissivo do que a maioria dos clientes deseja. 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
Verificar 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 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 e Exportação
O serviço de importação/exportação não funciona quando Permitir que os serviços e recursos do Azure acedam a este servidor não está ativado. 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 este servidor não habilitado, é necessário criar entradas de regras de firewall individuais para adicionar endereços IP da tag 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 bancos de dados Hub e Member (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
Dica
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
A saída do script do PowerShell está na notação CIDR (Roteamento de Inter-Domain sem classe). Isso precisa ser convertido para um formato de endereço IP inicial e final usando Get-IPrangeStartEnd.ps1 como este:
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 seguinte script 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.
Tag de serviço Sql
Tags de serviço podem ser usadas em regras de segurança e rotas de clientes para o Banco de dados SQL. As tags de serviço podem ser usadas em grupos de segurança de rede, Firewall do Azure e rotas definidas pelo usuário, especificando-as 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 tag é ainda segmentada por regiões. Por exemplo, Sql.WestUS lista todos os endereços IP usados pelo Banco de dados SQL no oeste dos EUA.
A marca de serviço Sql consiste em endereços IP necessários para estabelecer conectividade com o Banco de dados SQL, conforme documentado em Gateway IP addresses. 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:
- Auditoria
- Avaliação de vulnerabilidade
- Serviço de Importação/Exportação
- OPENROWSET
- Inserção em massa
- sp_invoke_external_rest_endpoint
- Ledger
- pt-PT: Criptografia de dados transparente do SQL do Azure com uma chave gerida pelo cliente
Marca de serviço SqlManagement
A marca de serviço SqlManagement é usada para operações de plano de controle no Banco de dados SQL.
Regras de firewall de rede virtual
Regras de firewall de rede virtual são alternativas mais fáceis de estabelecer e gerenciar o acesso de uma sub-rede específica que contém suas VMs.
Link Privado
Private Link permite que você se conecte a um servidor através de um ponto final privado. Um ponto de extremidade privado é um endereço IP privado dentro de uma sub-rede e rede virtual específica.
Conteúdo relacionado
Para obter um início rápido na criação de uma regra de firewall IP no nível do servidor, consulte Criar um banco de dados no Banco de dados SQL.
Para começar rapidamente a criar uma regra de firewall de rede virtual ao nível do servidor, consulte os pontos de extremidade do serviço de Rede Virtual e as regras para o Banco de Dados SQL do Azure.
Para obter ajuda com a conexão a um banco de dados no Banco de dados SQL a partir de aplicativos de código aberto ou parceiros, consulte exemplos de código de início rápido do cliente para o Banco de dados SQL.
Para obter informações sobre outras portas que poderá precisar abrir, consulte a seção Base de Dados SQL: Exterior vs Interior de Portas além de 1433 para ADO.NET 4.5 e Base de Dados SQL.
Para obter uma visão geral da Conectividade do Banco de Dados SQL do Azure, consulte Arquitetura de Conectividade SQL do Azure
Para obter uma visão geral da segurança do Banco de Dados SQL do Azure, consulte Protegendo seu banco de dados