Tutorial: Proteger um banco de dados no Banco de Dados SQL do Azure
Aplica-se a:Banco de Dados SQL do Azure
Neste tutorial, ficará a saber como:
- 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
Nota
Microsoft Entra ID é o novo nome para o Azure Ative Directory (Azure AD). Estamos atualizando a documentação neste momento.
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
Nota
A Instância Gerenciada SQL do Azure é protegida usando regras de segurança de rede e pontos de extremidade privados, conforme descrito na Instância Gerenciada SQL do Azure e na arquitetura de conectividade.
Para saber mais, consulte os artigos Visão geral e recursos de segurança do Banco de Dados SQL do Azure.
Gorjeta
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 uma única base de dados
- Crie-os com o portal do Azure, CLI ou PowerShell
Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.
Inicie sessão 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 no nível do banco de dados.
Defina Permitir acesso aos serviços do Azure como DESATIVADO para 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 um serviço de nuvem, e permita apenas o acesso a esse endereço IP por meio do firewall. Se você estiver usando o modelo de implantação do Resource Manager , um endereço IP público dedicado será necessário para cada recurso.
Nota
A Base de Dados SQL comunica através da porta 1433. Se estiver a tentar ligar a partir de uma rede empresarial, o tráfego de saída através da porta 1433 poderá não ser permitido pela 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 seu banco de dados na página Bancos de dados SQL.
Nota
Certifique-se de copiar o nome do servidor totalmente qualificado (como yourserver.database.windows.net) para uso posterior no tutorial.
Selecione Rede em Configurações. Escolha a guia Acesso público e, em seguida, selecione Redes selecionadas em Acesso à rede pública para exibir a seção Regras de firewall.
Selecione Adicionar IP do cliente na barra de ferramentas para adicionar 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, já pode ligar a qualquer base de dados do servidor com o endereço IP ou o intervalo de endereços IP especificado.
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 de configurar 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 o 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.
Nota
Você também pode criar uma regra de firewall no nível de servidor no SSMS usando o comando sp_set_firewall_rule , embora precise estar conectado ao banco de dados mestre .
Criar um administrador do Microsoft Entra
Certifique-se de que está a utilizar o domínio gerido apropriado do Microsoft Entra ID (anteriormente Azure Ative Directory). 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 ID do Microsoft Entra no menu de recursos e, em seguida, selecione Definir administrador para abrir o painel ID do Microsoft Entra..
Importante
Você precisa ser um "Administrador Global" para executar essa tarefa.
No painel ID do Microsoft Entra, pesquise e selecione o usuário 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. Consulte Recursos e limitações 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 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 admin do Microsoft Entra.
Nota
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 o seu próprio nome de domínio ao Microsoft Entra ID
- Federação com Microsoft Entra ID
- Administrar o diretório do Microsoft Entra
- Gerenciar o 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 Gerenciar logons e contas de usuário 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 gerenciadas pelo ID do Microsoft Entra
Autenticação do SQL
Para adicionar um usuário com autenticação SQL:
Conecte-se ao banco de dados, por exemplo, usando o 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 predefinição, o utilizador pode ligar à base de dados, mas não tem permissões para ler ou escrever 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;
Nota
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 entidades de servidor (logons) do Microsoft Entra, os usuários do banco de dados criados com contas do Microsoft Entra são criados como usuários de banco de dados contidos. Um usuário de banco de dados contido não está associado a um logon no master
banco de dados, 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 revisar o tutorial do Microsoft Entra sobre como autenticar usando o Microsoft Entra ID.
Nota
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, a função de Colaborador do SQL Server não concede acesso para se conectar a um banco de dados ou data warehouse. Essa permissão deve ser concedida dentro do banco de dados usando instruções T-SQL.
Importante
Caracteres especiais como dois pontos :
ou e &
comercial não são suportados em nomes de usuário no T-SQL CREATE LOGIN
e CREATE USER
instruções.
Para adicionar um usuário com autenticação do Microsoft Entra:
Conecte-se ao seu servidor no Azure usando uma conta do Microsoft Entra com pelo menos a permissão ALTER ANY USER .
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;
Nota
Os usuários do Microsoft Entra são marcados nos metadados do banco de dados com tipo e tipo E (EXTERNAL_USER)
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 a TLS e a conectividade, veja Considerações sobre a TLS.
Para copiar uma cadeia de conexão segura:
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 Mostrar cadeias de conexão de banco de dados.
Selecione uma guia de 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 para SQL, Auditoria, Mascaramento dinâmico de dados e Criptografia de dados transparente.
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.
Nota
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 SQL Server , localize a seção Segurança e selecione Defender for Cloud.
Selecione ATIVADO em Microsoft Defender para SQL para habilitar o recurso. Escolha uma conta de armazenamento para salvar os resultados da avaliação de vulnerabilidade. Em seguida, selecione Guardar.
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 de 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 esse email for recebido, selecione o link Log de Auditoria SQL do Azure para iniciar o portal do Azure e mostrar registros de auditoria relevantes para o momento 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 regulatória, a compreender as atividades da base de dados e a obter informações relativas a discrepâncias e anomalias que possam indicar potenciais violações de segurança.
Para habilitar a auditoria:
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 seção Segurança, selecione Auditoria.
Em Configurações de auditoria, defina os seguintes valores:
Defina a opção Auditoria como Ativar.
Selecione Destino do log de auditoria como qualquer um dos seguintes:
Storage, uma conta de armazenamento do Azure onde os logs de eventos são salvos e podem ser baixados como arquivos .xel
Gorjeta
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
Nota
Um espaço de trabalho do Log Analytics é necessário para dar suporte a recursos avançados, como análises, regras de alerta personalizadas e exportações do Excel ou do 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 Guardar.
Agora você pode selecionar Exibir logs de auditoria para exibir dados de eventos do banco de dados.
Importante
Consulte Auditoria do Banco de dados SQL sobre como personalizar ainda mais os eventos de auditoria usando o PowerShell ou a API REST.
Máscara de dados dinâmica
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 bancos de dados SQL no menu à esquerda e selecione seu banco de dados na página Bancos de dados SQL.
Na seção Segurança, selecione Mascaramento dinâmico de dados.
Em Configurações dinâmicas de mascaramento 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 Guardar. 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 criptografar dados usando o SSMS e o recurso Sempre criptografado .
Para ativar ou verificar a encriptação:
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 seção Segurança, selecione Criptografia de dados transparente.
Se necessário, defina a criptografia de dados como ON. Selecione Guardar.
Nota
Para exibir o status da criptografia, conecte-se ao banco de dados usando o SSMS e consulte a encryption_state
coluna do modo de exibição sys.dm_database_encryption_keys. Um estado de indica que o banco de 3
dados está criptografado.
Nota
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údos relacionados
- Experimente a Base de Dados SQL do Azure gratuitamente (pré-visualização)
- 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
- Planear e gerir os custos da Base de Dados SQL do Azure
Gorjeta
Pronto para começar a desenvolver um aplicativo .NET? Este módulo gratuito do Learn mostra como desenvolver e configurar um aplicativo ASP.NET que consulta um Banco de Dados SQL do Azure, incluindo a criação de um banco de dados simples.
Próximo passo
Avance para o próximo tutorial para aprender a implementar a distribuição geográfica.