Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:Banco de Dados SQL do Azure
Azure Synapse Analytics
Ao criar um novo servidor no Banco de Dados SQL do Azure ou no Azure Synapse Analytics chamado mysqlserver, por exemplo, um firewall de nível de servidor bloqueia todo o acesso ao ponto de extremidade público para o servidor (que pode ser acessado em mysqlserver.database.windows.net). Para simplificar, o termo Banco de Dados SQL é usado para se referir ao Banco de Dados SQL e ao Azure Synapse Analytics. Este artigo não se aplica à Instância Gerenciada de SQL do Azure. Para obter mais informações sobre configuração de rede, confira Conectar o aplicativo à Instância Gerenciada de SQL do Azure.
Observação
O Microsoft Entra ID era conhecido anteriormente como Azure Active Directory (Azure AD).
Como o firewall funciona
As tentativas de conexão pela Internet e pelo Azure devem passar pelo firewall antes de acessarem o servidor ou o banco de dados, conforme mostrado no diagrama a seguir.
Importante
O Azure Synapse dá suporte apenas a regras de firewall de IP no nível de servidor. Ele não oferece suporte a regras de firewall de IP de nível de banco de dados.
Regras de firewall de IP no nível de servidor
Essas regras permitem que os clientes acessem seu servidor inteiro, ou seja, todos os bancos de dados gerenciados pelo servidor. As regras são armazenadas no master banco de dados. O número máximo de regras de firewall de IP no nível do servidor é limitado a 256 para um servidor. Se você tiver a configuração Permitir Serviços do Azure e recursos para acessar este servidor habilitada, ela contará como uma única regra de firewall para o servidor.
Você pode configurar regras de firewall de IP no nível de servidor usando as instruções do portal do Azure, PowerShell ou Transact-SQL.
Observação
O número máximo de regras de firewall de IP no servidor é limitado a 256 durante a configuração pelo portal do Azure.
- Para usar o portal ou o PowerShell, você deve ser o proprietário da assinatura ou um colaborador da assinatura.
- Para usar o Transact-SQL, você deve se conectar ao banco de dados
mastercom o logon da entidade de segurança no nível do servidor ou como administrador do Microsoft Entra. (Uma regra de firewall de IP de nível de servidor deve ser criada primeiro por um usuário que tenha permissões de nível do Azure.)
Observação
Por padrão, durante a criação de um novo SQL Server lógico pelo portal do Azure, a configuração Permitir que Serviços do Azure e recursos acessem este servidor está definida como Não.
Regras de firewall de IP no nível de banco de dados
Regras de firewall de IP no nível do banco de dados permitem que os clientes acessem alguns bancos de dados (seguros). Você cria as regras para cada banco de dados (incluindo o master banco de dados) e elas são armazenadas no banco de dados individual.
- Você só pode criar e gerenciar regras de firewall de IP no nível do banco de dados para
mastere bancos de dados de usuário usando instruções Transact-SQL e somente depois de configurar a primeira regra de firewall no nível do servidor. - Se você especificar um intervalo de endereços IP na regra de firewall de IP no nível do banco de dados que está fora do intervalo na regra de firewall de IP no nível do servidor, somente os clientes com endereços IP no intervalo de nível de banco de dados poderão acessar o banco de dados.
- O valor padrão é até 256 regras de firewall de IP no banco de dados para um banco de dados. Para saber mais sobre como configurar regras de firewall de IP no nível do banco de dados, veja o exemplo mais adiante neste artigo e confira sp_set_database_firewall_rule (Banco de Dados SQL do Azure).
Recomendações sobre como definir regras de firewall
Recomendamos usar as regra de firewall de IP no nível do banco de dados sempre que possível. Essa prática aprimora a segurança e torna seu banco de dados mais portátil. Use regras de firewall de IP de nível de servidor para administradores. Use-as também quando tiver muitos bancos de dados com os mesmos requisitos de acesso e não quiser configurar cada um individualmente.
Observação
Para obter informações sobre bancos de dados portáteis no contexto de continuidade dos negócios, consulte Configurar e gerenciar a segurança do Banco de Dados SQL do Azure para restauração geográfica ou failover.
Regras de firewall de IP no nível de servidor versus no nível de banco de dados
Os usuários de um banco de dados devem ser totalmente isolados de outro banco de dados?
Se sim, use as regras de firewall de IP no nível de banco de dados para conceder acesso. Esse método evita o uso de regras de firewall de IP no nível de servidor, o que permite o acesso pelo firewall a todos os bancos de dados. Isso reduzirá a profundidade das defesas.
Os usuários nos endereços IP precisam de acesso a todos os bancos de dados?
Se sim, use regras de firewall de IP no nível de servidor para reduzir o número de vezes que você deverá configurar as regras de firewall de IP.
A pessoa ou a equipe que configura as regras de firewall de IP tem acesso somente por meio do portal do Azure, do PowerShell ou da API REST?
Se sim, é necessário usar regras de firewall de IP no nível de servidor. As regras de firewall de IP no nível de banco de dados só podem ser configuradas com o Transact-SQL.
A pessoa ou equipe que configura as regras de firewall de IP está proibida de ter permissão de alto nível no nível do banco de dados?
Se sim, use regras de firewall de IP no nível de servidor. Você precisa de pelo menos a permissão CONTROL DATABASE no nível de banco de dados para configurar regras de firewall de IP no nível de banco de dados com o Transact-SQL.
A pessoa ou a equipe que configura ou audita as regras de firewall de IP gerencia centralmente as regras de firewall de IP para muitos (talvez centenas) bancos de dados?
Nesse cenário, as práticas recomendadas são determinadas de acordo com as necessidades e o ambiente. As regras de firewall de IP no nível de servidor podem ser mais fáceis de serem configuradas, mas o script pode configurar regras no nível de banco de dados. E mesmo se você usar regras de firewall de IP no nível de servidor, talvez seja necessário auditar as regras de firewall de IP do banco de dados para ver se os usuários com a permissão CONTROL no banco de dados criaram regras de firewall de IP no nível de banco de dados.
Posso usar uma combinação de regras de firewall de IP no nível de servidor e de banco de dados?
Sim. Alguns usuários, como administradores, podem precisar de regras de firewall de IP no nível de servidor. Outros usuários, como usuários de um aplicativo de banco de dados, podem precisar de regras de firewall de IP no nível de banco de dados.
Conexões pela Internet
Quando um computador tenta se conectar ao servidor pela Internet, o firewall primeiro verifica o endereço IP de origem da solicitação com base nas regras de firewall de IP no nível de banco de dados para o banco de dados que a conexão está solicitando.
- Se o endereço estiver dentro de um intervalo especificado nas regras de firewall de IP no nível do banco de dados, a conexão será concedida ao banco de dados que contém a regra.
- Se o endereço não estiver dentro de um intervalo nas regras de firewall de IP no nível do banco de dados, o firewall verificará as regras de firewall de IP no nível de servidor. Se o endereço estiver dentro de um intervalo que está nas regras de firewall de IP no nível de servidor, a conexão será concedida. As regras de firewall de IP no nível de servidor se aplicam a todos os bancos de dados gerenciados pelo servidor.
- Se o endereço não estiver dentro de um intervalo em uma das regras de firewall de IP no nível de banco de dados ou de servidor, a solicitação de conexão falhará.
Observação
Para acessar o Banco de Dados SQL do Azure do computador local, verifique se o firewall na rede e no computador local permite a comunicação de saída na porta TCP 1433.
Conexões de dentro do Azure
Para permitir que aplicativos hospedados dentro do Azure se conectem ao servidor SQL, as conexões do Azure devem estar habilitadas. Para habilitar as conexões do Azure, deve haver uma regra de firewall com endereços IP iniciais e finais definidos como 0.0.0.0. Essa regra recomendada só é aplicável a Banco de Dados SQL do Azure.
Quando um aplicativo do Azure tenta se conectar ao servidor, o firewall verifica se as conexões do Azure são permitidas ao verificar se essa regra de firewall existe. Isso pode ser ativado diretamente no painel do portal do Azure alternando Permitir que os serviços e recursos do Azure acessem esse servidor para ATIVADO nas configurações de Firewall e redes virtuais. Mudar a configuração para ATIVADO cria uma regra de firewall de entrada para o IP 0.0.0.0 - 0.0.0.0 chamada AllowAllWindowsAzureIps. A regra pode ser exibida na exibição master do seu banco de dados . Use o PowerShell ou o CLI do Azure para criar uma regra de firewall com os endereços IP iniciais e finais definidos como 0.0.0.0 se você não estiver usando o portal.
Importante
Esta opção configura o firewall para permitir todas as conexões do Azure, incluindo as conexões das assinaturas de outros clientes. Se selecionar essa opção, verifique se as permissões de logon e de usuário limitam o acesso somente a usuários autorizados.
Permissões
Para poder criar e gerenciar regras de firewall de IP para o SQL Server do Azure, você precisará ser:
- na função de Colaborador do SQL Server
- na função de Gerenciador de Segurança de SQL
- o proprietário do recurso que contém o Azure SQL Server
Criar e gerenciar regras de firewall de IP
Você cria a primeira configuração de firewall no nível do servidor usando o portal do Azure ou de forma programática usando Azure PowerShell, CLI do Azure ou uma API REST do Azure. Você cria e gerencia regras de firewall de IP adicionais no nível de servidor usando esses métodos ou o Transact-SQL.
Importante
As regras de firewall de IP no nível de banco de dados só podem ser criadas e gerenciadas usando o Transact-SQL.
Para melhorar o desempenho, as regras de firewall de IP de nível de servidor são temporariamente armazenadas em cache no nível do banco de dados. Para atualizar o cache, veja DBCC FLUSHAUTHCACHE.
Dica
Você pode usar a Auditoria para o Banco de Dados SQL do Azure e o Azure Synapse Analytics para auditar alterações de firewall no nível do servidor e no nível do banco de dados.
Usar o portal do Azure para gerenciar regras de firewall de IP de nível de servidor
Para definir uma regra de firewall de IP no nível de servidor no portal do Azure, vá para a página de visão geral do banco de dados ou do servidor.
Dica
Para obter um tutorial, consulte Início Rápido: Criar um banco de dados individual – Banco de Dados SQL do Azure.
Na página de visão geral do banco de dados
Para definir uma regra de firewall de IP no nível de servidor da página de visão geral do banco de dados, selecione Definir o firewall do servidor na barra de ferramentas, como mostra a imagem a seguir.
A página Rede do servidor é aberta.
Adicione uma regra na seção Regras de firewall para incluir o endereço IP do computador que você está usando e selecione Salvar. Uma regra de firewall de IP no nível do servidor é criada para seu endereço IP atual.
Na página de visão geral do servidor
A página de visão geral do servidor é aberta. Ela mostra o nome do servidor totalmente qualificado (como mynewserver20170403.database.windows.net) e fornece opções para configurações adicionais.
Para definir uma regra de nível de servidor nesta página, selecione Rede no menu de Configurações à esquerda.
Adicione uma regra na seção Regras de firewall para incluir o endereço IP do computador que você está usando e selecione Salvar. Uma regra de firewall de IP no nível do servidor é criada para seu endereço IP atual.
Usar Transact-SQL para gerenciar regras de firewall de IP
| Exibição do catálogo ou procedimento armazenado | Nível | Descrição |
|---|---|---|
| sys.firewall_rules | Servidor | Exibe as regras de firewall de IP atuais no nível de servidor |
| sp_set_firewall_rule | Servidor | Cria ou atualiza as regras de firewall de IP no nível de servidor |
| sp_delete_firewall_rule | Servidor | Remove as regras de firewall de IP no nível de servidor |
| sys.database_firewall_rules | Banco de dados | Exibe as regras de firewall de IP atuais no nível de banco de dados |
| sp_set_database_firewall_rule | Banco de dados | Cria ou atualiza as regras de firewall de IP no nível de banco de dados |
| sp_delete_database_firewall_rule | Bancos de dados | Remove as regras de firewall de IP no nível de banco de dados |
O exemplo a seguir examina as regras existentes, habilita um intervalo de endereços IP no servidor Contoso e exclui uma regra de firewall de IP:
SELECT * FROM sys.firewall_rules ORDER BY name;
Em seguida, adicione uma regra de firewall de IP no nível do servidor.
EXECUTE sp_set_firewall_rule @name = N'ContosoFirewallRule',
@start_ip_address = '192.168.1.1', @end_ip_address = '192.168.1.10'
Para excluir uma regra de firewall de IP no nível de servidor, execute o procedimento armazenado sp_delete_firewall_rule. O exemplo a seguir exclui a regra ContosoFirewallRule:
EXECUTE sp_delete_firewall_rule @name = N'ContosoFirewallRule'
Usar o PowerShell para gerenciar regras de firewall de IP de nível de servidor
Observação
Este artigo usa o módulo do PowerShell Azure Az, que é o módulo do PowerShell recomendado para interagir com o Azure. Para começar a usar o módulo Az PowerShell, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, veja Migrar o Microsoft Azure PowerShell do AzureRM para o Az.
Importante
O módulo AzureRM (Azure Resource Manager) do PowerShell foi preterido em 29 de fevereiro de 2024. Todo o desenvolvimento futuro deve usar o módulo Az.Sql. Os usuários são aconselhados a migrar do AzureRM para o módulo do Az PowerShell para garantir o suporte e as atualizações contínuas. O módulo AzureRM não é mais mantido ou tem suporte. Os argumentos para os comandos no módulo do Az PowerShell e nos módulos do AzureRM são substancialmente idênticos. Para obter mais informações sobre sua compatibilidade, consulte Apresentando o novo módulo do Az PowerShell.
| Cmdlet | Nível | Descrição |
|---|---|---|
| Get-AzSqlServerFirewallRule | Servidor | Retorna as regras de firewall atuais no nível de servidor |
| New-AzSqlServerFirewallRule | Servidor | Cria as regras de firewall no nível de servidor |
| Set-AzSqlServerFirewallRule | Servidor | Atualiza as propriedades de uma regra de firewall existente no nível de servidor |
| Remove-AzSqlServerFirewallRule | Servidor | Remove as regras de firewall no nível de servidor |
O seguinte exemplo usa o PowerShell para definir uma regra de firewall de IP no nível de servidor:
New-AzSqlServerFirewallRule -ResourceGroupName "myResourceGroup" `
-ServerName $servername `
-FirewallRuleName "ContosoIPRange" -StartIpAddress "192.168.1.0" -EndIpAddress "192.168.1.255"
Dica
Para $servername, especifique o nome do servidor e não o nome DNS totalmente qualificado (por exemplo, especifique mysqldbserver em vez de mysqldbserver.database.windows.net).
Para obter exemplos do PowerShell no contexto de um início rápido, consulte exemplos do Azure PowerShell para o Banco de Dados SQL do Azure e use o PowerShell para criar um banco de dados individual e configurar uma regra de firewall no nível do servidor.
Usar a CLI para gerenciar regras de firewall de IP de nível de servidor
| Cmdlet | Nível | Descrição |
|---|---|---|
| az sql server regra-de-firewall criar | Servidor | Cria uma regra de firewall de IP do servidor |
| az sql server firewall-rule list | Servidor | Lista as regras de firewall de IP em um servidor |
| az sql server firewall-rule show | Servidor | Mostra os detalhes de uma regra de firewall de IP |
| az sql server firewall-rule update (comando para atualizar regras de firewall no servidor SQL) | Servidor | Atualiza uma regra de firewall de IP |
| az sql server firewall-rule delete | Servidor | Exclui uma regra de firewall de IP |
O seguinte exemplo usa a CLI para definir uma regra de firewall de IP no nível de servidor:
az sql server firewall-rule create --resource-group myResourceGroup --server $servername \
-n ContosoIPRange --start-ip-address 192.168.1.0 --end-ip-address 192.168.1.255
Dica
Para $servername, especifique o nome do servidor e não o nome DNS totalmente qualificado. Por exemplo, use mysqldbserver ao invés de mysqldbserver.database.windows.net.
Para obter um exemplo da CLI no contexto de um início rápido, consulte exemplos da CLI do Azure para o Banco de Dados SQL do Azure e crie um banco de dados individual e configure uma regra de firewall usando a CLI do Azure.
Para o Azure Synapse Analytics, consulte os seguintes exemplos:
| Cmdlet | Nível | Descrição |
|---|---|---|
| az synapse workspace firewall-rule create - Criação de regra de firewall para o workspace do Synapse | Servidor | Criar uma regra de firewall |
| Comando para deletar regra de firewall no workspace do Synapse através da linha de comando az synapse workspace firewall-rule delete. | Servidor | Excluir uma regra de firewall |
| az synapse workspace firewall-rule list | Servidor | Listar todas as regras de firewall |
| az synapse workspace firewall-rule show | Servidor | Obter uma regra de firewall |
| Atualização da regra do firewall do workspace do Synapse usando o comando az | Servidor | Atualizar uma regra de firewall |
| az synapse workspace firewall-rule wait | Servidor | Colocar a CLI em estado de espera até que uma condição da regra de firewall seja atendida |
O seguinte exemplo usa a CLI para definir uma regra de firewall de IP no nível de servidor no Azure Synapse:
az synapse workspace firewall-rule create --name AllowAllWindowsAzureIps --workspace-name $workspacename --resource-group $resourcegroupname --start-ip-address 0.0.0.0 --end-ip-address 0.0.0.0
Use a API REST para gerenciar regras de firewall de IP de nível de servidor
| API | Nível | Descrição |
|---|---|---|
| Listar regras de firewall | Servidor | Exibe as regras de firewall de IP atuais no nível de servidor |
| Criar ou atualizar regras de Firewall | Servidor | Cria ou atualiza as regras de firewall de IP no nível de servidor |
| Excluir regras de firewall | Servidor | Remove as regras de firewall de IP no nível de servidor |
| Obter regras de firewall | Servidor | Obtém regras de firewall de IP no nível de servidor |
Noções básicas sobre a latência das atualizações de firewall
O modelo de autenticação do servidor tem uma latência de 5 minutos para todas as alterações nas configurações de segurança, a menos que o banco de dados esteja contido e sem um parceiro de failover. As alterações feitas em bancos de dados contidos sem um parceiro de failover são instantâneas. Para bancos de dados contidos com um parceiro de failover, cada atualização de segurança é instantânea no banco de dados primário, mas o banco de dados secundário pode levar até 5 minutos para refletir as alterações.
A tabela a seguir descreve a latência das alterações de configurações de segurança com base no tipo de banco de dados e na configuração de failover:
| Modelo de autenticação | Failover configurado | Latência para alterações de configurações de segurança | Instâncias latentes |
|---|---|---|---|
| Autenticação de servidor | Yes | 5 minutos | todos os bancos de dados |
| Autenticação de servidor | Não | 5 minutos | todos os bancos de dados |
| Banco de dados contido | Yes | 5 minutos | o banco de dados secundário |
| Banco de dados contido | Não | nenhum | nenhum |
Atualizando manualmente as regras de firewall
Se você precisar ver as regras de firewall atualizadas mais rapidamente do que a latência de 5 minutos, você poderá atualizar manualmente as regras de firewall. Faça logon na instância de banco de dados que precisa de suas regras atualizadas e execute DBCC FLUSHAUTHCACHE. Isso fará com que a instância do banco de dados libere o cache local e atualize as regras de firewall.
DBCC FLUSHAUTHCACHE[;]
Solucionar problemas do firewall do banco de dados
Considere os seguintes pontos quando o acesso ao Banco de Dados SQL do Azure não se comportar conforme o esperado.
Configuração de firewall local:
Antes que seu computador possa acessar o Banco de Dados SQL do Azure, talvez seja necessário criar uma exceção de firewall no computador para a porta TCP 1433. Para fazer conexões dentro do limite de nuvem do Azure, talvez seja necessário abrir portas adicionais. Para obter mais informações, consulte a seção "Banco de Dados SQL: Externo vs Interno" de Portas além da 1433 para ADO.NET 4.5.
Conversão de endereços de rede:
Devido à NAT (conversão de endereços de rede), o endereço IP usado pelo computador para se conectar ao Banco de Dados SQL do Azure pode ser diferente do endereço IP nas configurações de IP do computador. Para exibir o endereço IP que o computador está usando para se conectar ao Azure:
- Entre no portal.
- Vá para a guia Configurar no servidor que hospeda o banco de dados.
- O Endereço IP do cliente atual é exibido na seção Endereços IP permitidos. Selecione Adicionar para Endereços IP permitidos para permitir que este computador acesse o servidor.
As alterações à lista de permissões ainda não entraram em vigor:
Pode haver um atraso de até cinco minutos para que as alterações na configuração de firewall do Banco de Dados SQL do Azure entrem em vigor.
O logon não está autorizado ou uma senha incorreta foi usada:
Se um logon não tiver permissões no servidor ou a senha estiver incorreta, a conexão com o servidor será negada. A criação de uma configuração de firewall dá aos clientes apenas uma oportunidade de tentar se conectar ao servidor. O cliente ainda deve fornecer as credenciais de segurança necessárias. Para obter mais informações sobre como preparar logons, consulte Autorizar o acesso do banco de dados ao Banco de Dados SQL, à Instância Gerenciada de SQL e ao Azure Synapse Analytics.
Endereço IP dinâmico:
Se você tiver uma conexão à Internet que usa endereçamento IP dinâmico e estiver com problemas para acessar o firewall, tente uma das seguintes soluções:
- Pergunte ao provedor de serviços de Internet o intervalo de endereços IP atribuído aos computadores cliente que acessam o servidor. Adicione esse intervalo de endereços IP como uma regra de firewall de IP.
- Obtenha endereçamento IP estático para os computadores cliente. Adicione os endereços IP como regras de firewall de IP.
Conteúdo relacionado
- Intervalos de IP do datacenter do Microsoft Azure
- criando um banco de dados individual no Banco de Dados SQL do Azure
- Exemplos de código de início rápido do cliente para o Banco de Dados SQL do Azure
- Portas além da 1433 para ADO.NET 4.5
- Uma visão geral das funcionalidades de segurança do Banco de Dados SQL do Azure e da Instância Gerenciada de SQL