Tutorial: Proteger um banco de dados no Banco de Dados SQL do Azure
Aplica-se a: do Banco de Dados SQL do Azure
Neste tutorial você aprenderá a:
- Criar regras de firewall no nível do servidor e no nível do banco de dados
- Configurar um administrador do Microsoft Entra
- Gerencie o acesso do usuário com autenticação SQL, autenticação Microsoft Entra e cadeias de conexão seguras
- Habilite recursos de segurança, como Microsoft Defender para SQL, auditoria, mascaramento de dados e criptografia
Observação
Microsoft Entra ID era anteriormente conhecido como Azure Ative Directory (Azure AD).
O Banco de Dados SQL do Azure protege os dados permitindo que você:
- Limitar o acesso usando regras de firewall
- Usar mecanismos de autenticação que exijam identidade
- Usar autorização com associações e permissões baseadas em função
- Ativar recursos de segurança
Observação
A Instância Gerenciada SQL do Azure é protegida usando regras de segurança de rede e pontos de extremidade privados, conforme descrito em Instância Gerenciada SQL do Azure e arquitetura de conectividade.
Para saber mais, consulte a visão geral da segurança do Banco de Dados SQL do Azure e os artigos sobre recursos .
Dica
Este módulo gratuito do Learn mostra como Proteger seu banco de dados no Banco de Dados SQL do Azure.
Pré-requisitos
Para concluir o tutorial, verifique se você tem os seguintes pré-requisitos:
- SQL Server Management Studio
- Um servidor e um único banco de dados
- Crie-os com o portal do Azure, CLIou PowerShell
Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Entre no portal do Azure
Para todas as etapas do tutorial, entre no portal do Azure
Criar regras de firewall
Os bancos de dados no Banco de dados SQL são protegidos por firewalls no Azure. Por padrão, todas as conexões com o servidor e o banco de dados são rejeitadas. Para saber mais, consulte regras de firewall no nível do servidor e do banco de dados.
Defina Permitir acesso aos serviços do Azure para OFF para obter a configuração mais segura. Em seguida, crie um IP reservado (implantação clássica) para o recurso que precisa se conectar, como uma VM do Azure ou serviço de nuvem, e permita apenas o acesso a esse endereço IP por meio do firewall. Se você estiver usando o Resource Manager modelo de implantação, um endereço IP público dedicado será necessário para cada recurso.
Observação
O Banco de dados SQL se comunica pela porta 1433. Se você estiver tentando se conectar de dentro de uma rede corporativa, o tráfego de saída pela porta 1433 pode não ser permitido pelo firewall da rede. Em caso afirmativo, você não poderá se conectar ao servidor, a menos que o administrador abra a porta 1433.
Configurar regras de firewall no nível do servidor
As regras de firewall IP no nível do servidor aplicam-se a todos os bancos de dados dentro do mesmo servidor.
Para configurar uma regra de firewall no nível do servidor:
No portal do Azure, selecione bancos de dados SQL no menu à esquerda e selecione o seu banco de dados na página bancos de dados SQL.
Observação
Certifique-se de copiar o nome do servidor totalmente qualificado (como yourserver.database.windows.net) para uso posterior no tutorial.
Selecione de rede em Configurações. Escolha o separador de Acesso Público e, em seguida, selecione Redes selecionadas em Acesso à Rede Pública para apresentar a secção de Regras de Firewall .
Selecione Adicionar o IP do cliente na barra de ferramentas para adicionar o seu endereço IP atual a uma nova regra de firewall IP. Uma regra de firewall IP pode abrir a porta 1433 para um único endereço IP ou um intervalo de endereços IP.
Selecione OK para salvar as configurações do firewall.
Agora você pode se conectar a qualquer banco de dados no servidor com o endereço IP especificado ou intervalo de endereços IP.
Configurar regras de firewall de banco de dados
As regras de firewall no nível de banco de dados só se aplicam a bancos de dados individuais. O banco de dados manterá essas regras durante um failover de servidor. As regras de firewall no nível de banco de dados só podem ser configuradas usando instruções Transact-SQL (T-SQL) e somente depois que você tiver configurado uma regra de firewall no nível de servidor.
Para configurar uma regra de firewall no nível de banco de dados:
Conecte-se ao banco de dados, por exemplo, usando SQL Server Management Studio.
No Pesquisador de Objetos , clique com o botão direito do mouse no banco de dados e selecione Nova Consulta.
Na janela de consulta, adicione esta instrução e modifique o endereço IP para o seu endereço IP público:
EXECUTE sp_set_database_firewall_rule N'Example DB Rule','0.0.0.4','0.0.0.4';
Na barra de ferramentas, selecione Executar para criar a regra de firewall.
Observação
Você também pode criar uma regra de firewall no nível de servidor usando o comando sp_set_firewall_rule, embora deva estar conectado ao banco de dados mestre no SSMS.
Criar um administrador do Microsoft Entra
Certifique-se de que está a utilizar o domínio gerido Microsoft Entra ID (anteriormente Azure Ative Directory) apropriado. Para selecionar seu domínio, use o canto superior direito do portal do Azure. Esse processo confirma que a mesma assinatura é usada para o Microsoft Entra ID e o servidor lógico que hospeda seu banco de dados ou data warehouse.
Para definir o administrador do Microsoft Entra:
No portal do Azure, na página do servidor SQL, selecione Microsoft Entra ID no menu de recursos e, em seguida, selecione Definir administrador para abrir o painel do Microsoft Entra ID.
Importante
Você precisa ser um Administrador de Função Privilegiada ou uma função superior para executar essa tarefa.
No painel Microsoft Entra ID, pesquise e selecione o utilizador ou grupo do Microsoft Entra e escolha Selecionar. Todos os membros e grupos da sua organização do Microsoft Entra são listados, e as entradas esmaecidas não são suportadas como administradores do Microsoft Entra.
Importante
O controle de acesso baseado em função do Azure (Azure RBAC) só se aplica ao portal e não é propagado para o SQL Server.
Na parte superior da página de de administração do Microsoft Entra, selecione Salvar.
O processo de alteração de um administrador pode levar vários minutos. O novo administrador aparecerá no campo de administração do Microsoft Entra .
Observação
Ao definir um administrador do Microsoft Entra, o novo nome de administrador (usuário ou grupo) não pode existir como um logon ou usuário no banco de dados mestre. Se estiver presente, a configuração falhará e reverterá as alterações, indicando que esse nome de administrador já existe. Como o login do servidor ou usuário não faz parte do ID do Microsoft Entra, qualquer esforço para conectar o usuário usando a autenticação do Microsoft Entra falha.
Para obter informações sobre como configurar o Microsoft Entra ID, consulte:
- Integre suas identidades locais com o Microsoft Entra ID
- Adicione seu próprio nome de domínio ao Microsoft Entra ID
- Federação com Microsoft Entra ID
- Administre o diretório do Microsoft Entra
- Gerenciar a ID do Microsoft Entra usando o PowerShell
- Portas e protocolos necessários para identidade híbrida
Gerenciar o acesso ao banco de dados
Gerencie o acesso ao banco de dados adicionando usuários ao banco de dados ou permitindo o acesso do usuário com cadeias de conexão seguras. As cadeias de conexão são úteis para aplicativos externos. Para saber mais, consulte Gerir logins e contas de utilizador e autenticação do Microsoft Entra.
Para adicionar usuários, escolha o tipo de autenticação do banco de dados:
autenticação SQL, use um nome de usuário e senha para logons e só são válidos no contexto de um banco de dados específico dentro do servidor
Autenticação do Microsoft Entra, use identidades geridas pelo Microsoft Entra ID
Autenticação SQL
Para adicionar um usuário com autenticação SQL:
Conecte-se ao banco de dados, por exemplo, usando SQL Server Management Studio.
No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados e escolha Nova Consulta.
Na janela de consulta, digite o seguinte comando:
CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
Na barra de ferramentas, selecione Executar para criar o usuário.
Por padrão, o usuário pode se conectar ao banco de dados, mas não tem permissões para ler ou gravar dados. Para conceder essas permissões, execute os seguintes comandos em uma nova janela de consulta:
ALTER ROLE db_datareader ADD MEMBER ApplicationUser; ALTER ROLE db_datawriter ADD MEMBER ApplicationUser;
Observação
Crie contas que não sejam de administrador no nível do banco de dados, a menos que eles precisem executar tarefas de administrador, como a criação de novos usuários.
Autenticação do Microsoft Entra
Como o Banco de Dados SQL do Azure não oferece suporte a princípios de servidor do Microsoft Entra (logons), os utilizadores de base de dados criados com contas do Microsoft Entra são criados como utilizadores de base de dados contidos. Um usuário de banco de dados contido não está associado a um logon no banco de dados master
, mesmo que exista um logon com o mesmo nome. A identidade do Microsoft Entra pode ser para um usuário individual ou um grupo. Para obter mais informações, consulte Usuários de banco de dados contidos, tornar seu banco de dados portátil e revise o tutorial do Microsoft Entra sobre como autenticar usando o Microsoft Entra ID.
Observação
Os usuários do banco de dados (excluindo administradores) não podem ser criados usando o portal do Azure. As funções do Microsoft Entra não se propagam para servidores SQL, bancos de dados ou data warehouses. Eles são usados apenas para gerenciar recursos do Azure e não se aplicam a permissões de banco de dados.
Por exemplo, o papel de Colaborador do SQL Server não concede acesso para conectar-se a um banco de dados ou armazém de dados. Essa permissão deve ser concedida dentro do banco de dados usando instruções T-SQL.
Importante
Caracteres especiais como dois pontos :
ou comercial &
não são suportados em nomes de utilizador nas instruções T-SQL CREATE LOGIN
e CREATE USER
.
Para adicionar um usuário com autenticação do Microsoft Entra:
Conecte-se ao seu servidor no Azure usando uma conta Microsoft Entra com a permissão ALTERAR QUALQUER USUÁRIO, no mínimo.
No Pesquisador de Objetos , clique com o botão direito do mouse no banco de dados e selecione Nova Consulta.
Na janela de consulta, digite o seguinte comando e modifique
<Azure_AD_principal_name>
para o nome principal do usuário do Microsoft Entra ou o nome para exibição do grupo Microsoft Entra:CREATE USER [<Azure_AD_principal_name>] FROM EXTERNAL PROVIDER;
Observação
Os usuários do Microsoft Entra são marcados nos metadados do banco de dados com o tipo E (EXTERNAL_USER)
e tipo X (EXTERNAL_GROUPS)
para grupos. Para obter mais informações, consulte sys.database_principals.
Cadeias de conexão seguras
Para garantir uma conexão segura e criptografada entre o aplicativo cliente e o Banco de dados SQL, uma cadeia de conexão deve ser configurada para:
- Solicitar uma conexão criptografada
- Não confiar no certificado do servidor
A conexão é estabelecida usando Transport Layer Security (TLS) e reduz o risco de um ataque man-in-the-middle. As cadeias de conexão estão disponíveis por banco de dados e são pré-configuradas para suportar drivers de cliente como ADO.NET, JDBC, ODBC e PHP. Para obter informações sobre TLS e conectividade, consulte considerações sobre TLS.
Para copiar uma cadeia de conexão segura:
No portal do Azure, selecione bases de dados SQL no menu à esquerda, e selecione a sua base de dados na página bases de dados SQL.
Na página Visão Geral do, selecione Mostrar cadeias de ligação da base de dados.
Selecione um separador do driver e copie a cadeia de conexão completa.
Ativar recursos de segurança
O Banco de Dados SQL do Azure fornece recursos de segurança que são acessados usando o portal do Azure. Esses recursos estão disponíveis para o banco de dados e o servidor, exceto para mascaramento de dados, que só está disponível no banco de dados. Para saber mais, consulte Microsoft Defender for SQL, Auditoria, Mascaramento dinâmico de dadose Criptografia transparente de dados.
Microsoft Defender para SQL
O recurso Microsoft Defender for SQL deteta ameaças potenciais à medida que ocorrem e fornece alertas de segurança sobre atividades anômalas. Os usuários podem explorar esses eventos suspeitos usando o recurso de auditoria e determinar se o evento foi para acessar, violar ou explorar dados no banco de dados. Os usuários também recebem uma visão geral de segurança que inclui uma avaliação de vulnerabilidade e a ferramenta de descoberta e classificação de dados.
Observação
Um exemplo de ameaça é a injeção de SQL, um processo em que invasores injetam SQL mal-intencionado em entradas de aplicativos. Um aplicativo pode, sem saber, executar o SQL mal-intencionado e permitir que invasores acessem para violar ou modificar dados no banco de dados.
Para habilitar o Microsoft Defender para SQL:
No portal do Azure, selecione bancos de dados SQL no menu à esquerda e selecione seu banco de dados na página bancos de dados SQL.
Na página Visão Geral, selecione o link Nome do servidor. A página do servidor será aberta.
Na página do SQL Server, localize a seção de Segurança e selecione Defender para a Nuvem.
Selecione ON em Microsoft Defender for SQL para habilitar o recurso. Escolha uma conta de armazenamento para salvar os resultados da avaliação de vulnerabilidade. Em seguida, selecione Salvar.
Você também pode configurar e-mails para receber alertas de segurança, detalhes de armazenamento e tipos de deteção de ameaças.
Retorne à página bancos de dados SQL do seu banco de dados e selecione Defender for Cloud na seção Segurança. Aqui encontrará vários indicadores de segurança disponíveis para a base de dados.
Se forem detetadas atividades anómalas, receberá um e-mail com informações sobre o evento. Isso inclui a natureza da atividade, o banco de dados, o servidor, o tempo do evento, as possíveis causas e as ações recomendadas para investigar e mitigar a ameaça potencial. Se um tal email for recebido, selecione o link Azure SQL Auditing Log para iniciar o portal do Azure e exibir os registos de auditoria relevantes à data do evento.
Auditoria
O recurso de auditoria rastreia eventos de banco de dados e grava eventos em um log de auditoria no armazenamento do Azure, logs do Azure Monitor ou em um hub de eventos. A auditoria ajuda a manter a conformidade regulamentar, entender a atividade do banco de dados e obter informações sobre discrepâncias e anomalias que podem indicar possíveis violações de segurança.
Para habilitar a auditoria:
No portal do Azure, selecione bases de dados SQL no menu à esquerda e selecione o seu banco de dados na página de bases de dados SQL.
Na seção Segurança, selecione Auditoria.
Em configurações de de auditoria, defina os seguintes valores:
Defina de Auditoria como ON.
Selecione de destino do log de auditoria como qualquer um dos seguintes:
Storage, uma conta de armazenamento do Azure onde os registos de eventos são guardados e podem ser descarregados como ficheiros .xel
Dica
Use a mesma conta de armazenamento para todos os bancos de dados auditados para obter o máximo dos modelos de relatório de auditoria.
Log Analytics, que armazena automaticamente eventos para consulta ou análise adicional
Observação
Um espaço de trabalho Log Analytics é necessário para dar suporte a recursos avançados, como análises, regras de alerta personalizadas e exportações no Excel ou no Power BI. Sem um espaço de trabalho, apenas o editor de consultas está disponível.
Hub de Eventos, que permite que eventos sejam roteados para uso em outros aplicativos
Selecione Salvar.
Agora você pode selecionar Visualizar logs de auditoria para visualizar dados de eventos do banco de dados.
Importante
Consulte sobre Auditoria de Banco de Dados SQL para saber como personalizar ainda mais os eventos de auditoria usando a console do PowerShell ou a API REST.
Mascaramento dinâmico de dados
O recurso de mascaramento de dados ocultará automaticamente dados confidenciais em seu banco de dados.
Para habilitar o mascaramento de dados:
No portal do Azure, selecione bases de dados SQL no menu à esquerda e selecione a sua base de dados na página bases de dados SQL.
Na seção de Segurança, selecione Mascaramento Dinâmico de Dados .
Em Configurações de mascaramento dinâmico de dados, selecione "Adicionar máscara" para adicionar uma regra de mascaramento. O Azure preencherá automaticamente os esquemas, tabelas e colunas de banco de dados disponíveis para escolher.
Selecione Salvar. As informações selecionadas agora são mascaradas para privacidade.
Encriptação de dados transparente
O recurso de criptografia criptografa automaticamente seus dados em repouso e não requer alterações nos aplicativos que acessam o banco de dados criptografado. Para novos bancos de dados, a criptografia está ativada por padrão. Você também pode encriptar dados usando o SSMS e o recurso Sempre Encriptado.
Para ativar ou verificar a encriptação:
No portal do Azure, selecione bancos de dados SQL no menu à esquerda e selecione o seu banco de dados na página de bancos de dados SQL.
Na seção Segurança, selecione Criptografia de dados transparente.
Se necessário, defina de criptografia de dados para ON. Selecione Salvar.
Observação
Para exibir o status da criptografia, conecte-se ao banco de dados usando o SSMS e consulte a coluna encryption_state
da vista sys.dm_database_encryption_keys. Um estado de 3
indica que o banco de dados está criptografado.
Observação
Alguns itens considerados conteúdo do cliente, como nomes de tabelas, nomes de objetos e nomes de índice, podem ser transmitidos em arquivos de log para suporte e solução de problemas pela Microsoft.
Conteúdo relacionado
- Implantar o Banco de Dados SQL do Azure gratuitamente
- O que há de novo no Banco de Dados SQL do Azure?
- Configurar e gerenciar referência de conteúdo - Banco de Dados SQL do Azure
- Planejar e gerenciar custos para o Banco de Dados SQL do Azure
Dica
Pronto para começar a desenvolver um aplicativo .NET? Este módulo gratuito do Learn mostra como Desenvolver e configurar uma aplicação ASP.NET que consulta uma Base de Dados SQL do Azure, incluindo a criação de uma base de dados simples.
Próximo passo
Avance para o próximo tutorial para aprender a implementar a distribuição geográfica.