Partilhar via


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:

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:

  1. 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.

    Captura de ecrã da página do portal do Azure para uma base de dados SQL lógica, realçando o nome do servidor.

    Observação

    Certifique-se de copiar o nome do servidor totalmente qualificado (como yourserver.database.windows.net) para uso posterior no tutorial.

  2. 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 .

    Captura de tela da página Rede do portal do Azure para um SQL Server lógico, mostrando a regra de firewall IP no nível do servidor.

  3. 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.

  4. 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:

  1. Conecte-se ao banco de dados, por exemplo, usando SQL Server Management Studio.

  2. No Pesquisador de Objetos , clique com o botão direito do mouse no banco de dados e selecione Nova Consulta.

  3. 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';
    
  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.

Captura de tela do portal do Azure mostrando a página Diretório + filtro de assinatura, onde você escolheria o diretório.

Para definir o administrador do Microsoft Entra:

  1. 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.

    Captura de ecrã da página Microsoft Entra ID do portal do Azure para um servidor lógico.

    Importante

    Você precisa ser um Administrador de Função Privilegiada ou uma função superior para executar essa tarefa.

  2. 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.

    Captura de ecrã da página do portal do Azure para adicionar um administrador 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.

  3. 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:

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:

  1. Conecte-se ao banco de dados, por exemplo, usando SQL Server Management Studio.

  2. No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados e escolha Nova Consulta.

  3. Na janela de consulta, digite o seguinte comando:

    CREATE USER ApplicationUser WITH PASSWORD = 'YourStrongPassword1';
    
  4. Na barra de ferramentas, selecione Executar para criar o usuário.

  5. 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:

  1. Conecte-se ao seu servidor no Azure usando uma conta Microsoft Entra com a permissão ALTERAR QUALQUER USUÁRIO, no mínimo.

  2. No Pesquisador de Objetos , clique com o botão direito do mouse no banco de dados e selecione Nova Consulta.

  3. 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:

  1. 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.

  2. Na página Visão Geral do, selecione Mostrar cadeias de ligação da base de dados.

  3. Selecione um separador do driver e copie a cadeia de conexão completa.

    Captura de tela do portal do Azure mostrando a página de cadeias de conexão. A guia ADO.NET é selecionada e a cadeia de conexão ADO.NET (autenticação SQL) é exibida.

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:

  1. 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.

  2. Na página Visão Geral, selecione o link Nome do servidor. A página do servidor será aberta.

  3. Na página do SQL Server, localize a seção de Segurança e selecione Defender para a Nuvem.

    1. 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.

      Captura de ecrã do painel de navegação do portal do Azure para definições de deteção de ameaças.

      Você também pode configurar e-mails para receber alertas de segurança, detalhes de armazenamento e tipos de deteção de ameaças.

  4. 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.

    Captura de ecrã da página Estado da ameaça do portal do Azure a mostrar gráficos circulares para Deteção de Dados & Classificação, Avaliação de Vulnerabilidades e Deteção de Ameaças.

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.

Captura de tela de um email de exemplo do Azure, indicando uma deteção de ameaça potencial de injeção de SQL. Um link no corpo do email para os Logs de Auditoria do Banco de Dados SQL do Azure é realçado.

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:

  1. 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.

  2. Na seção Segurança, selecione Auditoria.

  3. Em configurações de de auditoria, defina os seguintes valores:

    1. Defina de Auditoria como ON.

    2. 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

    3. Selecione Salvar.

      Captura de ecrã da página Definições de auditoria do portal do Azure. O botão Salvar está realçado. Os campos de destino do log de auditoria são realçados.

  4. Agora você pode selecionar Visualizar logs de auditoria para visualizar dados de eventos do banco de dados.

    Captura de ecrã da página do portal do Azure a mostrar registos de auditoria para uma base de dados SQL.

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:

  1. 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.

  2. Na seção de Segurança, selecione Mascaramento Dinâmico de Dados .

  3. 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.

    Captura de ecrã da página do portal do Azure para Guardar ou Adicionar campos de Máscara de Dados Dinâmicos. Campos recomendados para mascarar esquema de exibição, tabela e colunas de tabelas.

  4. Selecione Salvar. As informações selecionadas agora são mascaradas para privacidade.

    Captura de tela do SQL Server Management Studio (SSMS) mostrando uma instrução INSERT e SELECT simples. A instrução SELECT exibe dados mascarados na coluna LastName.

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:

  1. 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.

  2. Na seção Segurança, selecione Criptografia de dados transparente.

  3. Se necessário, defina de criptografia de dados para ON. Selecione Salvar.

    Captura de ecrã da página do portal do Azure para ativar a Encriptação de Dados Transparente.

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.

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.