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:

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:

  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.

    Screenshot of the Azure portal page for a logical SQL database, highlighting the server name.

    Nota

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

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

    Screenshot of the Azure portal Networking page for a logical SQL Server, showing the server-level IP firewall rule.

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

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

  1. Conecte-se ao banco de dados, por exemplo, usando o 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.

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.

Screenshot of the Azure portal showing the Directory + subscription filter page, where you would choose the directory.

Para definir o administrador do Microsoft Entra:

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

    Screenshot of the Azure portal Microsoft Entra ID page for a logical server.

    Importante

    Você precisa ser um "Administrador Global" para executar essa tarefa.

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

    Screenshot of the Azure portal page to add a Microsoft Entra admin.

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

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:

  1. Conecte-se ao banco de dados, por exemplo, usando o 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 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:

  1. Conecte-se ao seu servidor no Azure usando uma conta do Microsoft Entra com pelo menos a permissão ALTER ANY USER .

  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;
    

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:

  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 Mostrar cadeias de conexão de banco de dados.

  3. Selecione uma guia de driver e copie a cadeia de conexão completa.

    Screenshot of the Azure portal showing the connection strings page. The ADO.NET tab is selected and the ADO.NET (SQL authentication) connection string is displayed.

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:

  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 SQL Server , localize a seção Segurança e selecione Defender for Cloud.

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

      Screenshot of the Azure portal Navigation pane for threat detection settings.

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

    Screenshot of the Azure portal Threat status page showing pie charts for Data Discovery & Classification, Vulnerability Assessment, and Threat Detection.

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.

Screenshot of a sample email from Azure, indicating a Potential Sql Injection Threat detection. A link in the body of the email to Azure SQL DB Audit Logs is highlighted.

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:

  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 seção Segurança, selecione Auditoria.

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

    1. Defina a opção Auditoria como Ativar.

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

    3. Selecione Guardar.

      Screenshot of the Azure portal Audit settings page. The Save button is highlighted. Audit log destination fields are highlighted.

  4. Agora você pode selecionar Exibir logs de auditoria para exibir dados de eventos do banco de dados.

    Screenshot of the Azure portal page showing Audit records for a SQL database.

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:

  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 seção Segurança, selecione Mascaramento dinâmico de dados.

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

    Screenshot of the Azure portal page to Save or Add Dynamic Data Mask fields. Recommended fields to mask display schema, table, and columns of tables.

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

    Screenshot of SQL Server Management Studio (SSMS) showing a simple INSERT and SELECT statement. The SELECT statement displays masked data in the LastName column.

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:

  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 seção Segurança, selecione Criptografia de dados transparente.

  3. Se necessário, defina a criptografia de dados como ON. Selecione Guardar.

    Screenshot of the Azure portal page to enable Transparent Data Encryption.

Nota

Para exibir o status da criptografia, conecte-se ao banco de dados usando o SSMS e consulte a encryption_statecoluna 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.

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.