Auditoria do Banco de Dados SQL do Azure e Azure Synapse Analytics

Aplica-se a: Banco de Dados SQL do Azure Azure Synapse Analytics

A auditoria do Banco de Dados SQL e do Azure Synapse Analytics rastreia eventos do banco de dados e os grava em um log de auditoria na sua conta de armazenamento do Azure, no workspace do Log Analytics ou nos Hubs de Eventos.

A auditoria também:

  • Ajuda a manter conformidade com as normas, entender a atividade do banco de dados e aprofundar-se sobre discrepâncias e anomalias que podem indicar preocupações comerciais ou violações suspeitas de segurança.

  • Permite e facilita a adesão aos padrões de conformidade, embora não garanta a conformidade. Para saber mais, confira a Central de Confiabilidade do Microsoft Azure, onde é possível encontrar a lista mais atual de certificações de conformidade do Banco de Dados SQL.

Observação

Para obter informações sobre a auditoria da Instância Gerenciada de SQL do Azure, consulte o artigo Introdução à auditoria de Instância Gerenciada de SQL.

Visão geral

É possível usar a auditoria do Banco de Dados SQL para:

  • Retenha uma trilha de auditoria dos eventos selecionados. Definir categorias de ações de banco de dados a ser auditadas.
  • Relate sobre a atividade do banco de dados. Você pode usar relatórios pré-configurados e um painel para se familiarizar rapidamente com a atividade e o relatório de eventos.
  • Analise relatórios. Encontrar eventos suspeitos, atividades incomuns e tendências.

Importante

A auditoria do Banco de Dados SQL do Azure, do Azure Synapse e da Instância Gerenciada de SQL do Azure é otimizada para disponibilidade e desempenho dos bancos de dados ou das instâncias que estão sendo auditadas. Durante períodos de atividade muito alta ou alta carga de rede, o recurso de auditoria pode permitir que as transações prossigam sem registrar todos os eventos marcados para auditoria.

Limitações da auditoria

  • No momento, não há suporte para o tipo de autenticação de identidade gerenciada pelo usuário para habilitar a auditoria no armazenamento protegido por firewall.
  • Não há compatibilidade para habilitar a auditoria no Synapse do Azure em pausa. Para habilitar a auditoria, retome o Azure Synapse.
  • A auditoria de pools do Azure Synapse Analytics dá suporte apenas a grupos de ação de auditoria padrão.
  • Quando você configura a auditoria no servidor lógico no Azure ou no Banco de Dados SQL do Azure com o destino de log como a conta de armazenamento, a conta de armazenamento de destino precisa ser habilitada com acesso às chaves da conta de armazenamento. Se a conta de armazenamento estiver configurada para usar somente a autenticação do Azure AD e não estiver configurada para uso da chave de acesso, a auditoria não poderá ser configurada.

Definir a política de auditoria no nível do servidor versus no nível do banco de dados

Uma política de auditoria pode ser definida para um banco de dados específico ou como política de servidor padrão no Azure (que hospeda um banco de dados SQL ou o Azure Synapse):

  • Uma política de servidor se aplica a todos os bancos de dados existentes e recém-criados no servidor.

  • Se a opção auditoria de servidor estiver habilitada, ela sempre será aplicada ao banco de dados. O banco de dados será auditado, independentemente das configurações de auditoria do banco de dados.

  • Quando a política de auditoria é definida no nível do banco de dados para um workspace do Log Analytics ou um destino do Hubs de Eventos, as seguintes operações não manterão a política de auditoria no nível do banco de dados de origem:

  • A habilitação da auditoria no banco de dados, além de sua habilitação no servidor, não substitui nem altera as configurações de auditoria do servidor. Ambas as auditorias existirão lado a lado. Em outras palavras, o banco de dados é auditado duas vezes em paralelo: uma vez pela política de servidor e outra, pela política de banco de dados.

    Observação

    Evite habilitar a auditoria de servidor e a auditoria do blob de banco de dados juntas, a menos que:

    • Você deseja usar outra conta de armazenamento, outro período de retenção ou outro workspace do Log Analytics para um banco de dados específico.
    • Você deseja auditar tipos de evento ou categorias de um banco de dados específico diferentes do restante dos bancos de dados no servidor. Por exemplo, talvez você tenha inserções de tabela que precisam ser auditadas somente em um banco de dados específico.

    Caso contrário, recomendamos habilitar somente a auditoria no nível do servidor e deixar a auditoria no nível do banco de dados desabilitada para todos os bancos de dados.

Comentários

  • Há suporte para o armazenamento Premium com o BlockBlobStorage. Há suporte para o armazenamento Standard. No entanto, para que a auditoria seja gravada em uma conta de armazenamento protegida por uma VNet ou um firewall, você precisa ter uma conta de armazenamento v2 de uso geral. Se tiver uma conta de armazenamento de uso geral v1 ou de armazenamento de blobs, atualize para uma conta de armazenamento de uso geral v2. Para ver instruções específicas, consulte Gravar auditoria em uma conta de armazenamento atrás de uma VNet e um firewall. Para obter mais informações, veja Tipos de contas de armazenamento.
  • Há suporte para o namespace hierárquico para todos os tipos de conta de armazenamento Standard e Premium com o BlockBlobStorage.
  • Os logs de auditoria são gravados nos Blob de acréscimo em um armazenamento de blob do Azure em sua assinatura do Azure
  • Os logs de auditoria estão no formato .xel e podem ser abertos usando o SSMS (SQL Server Management Studio).
  • Para configurar um repositório de logs imutável ou eventos de auditoria no nível do banco de dados, siga as instruções fornecidas pelo Armazenamento do Azure. Verifique se você selecionou Permitir acréscimos adicionais ao configurar o armazenamento de blob imutável.
  • Você pode gravar logs de auditoria em uma conta do Armazenamento do Azure protegida por uma VNet ou um firewall.
  • Para obter detalhes sobre o formato de log, a hierarquia da pasta de armazenamento e as convenções de nomenclatura, consulte a Referência de formato do log de auditoria de blob.
  • A auditoria em réplicas somente leitura é habilitada automaticamente. Para obter mais detalhes sobre a hierarquia das pastas de armazenamento, as convenções de nomenclatura e o formato do log, consulte Formato do log de auditoria do Banco de Dados SQL.
  • Ao usar a autenticação do Azure Active Directory, falha logons registros serão não aparecem no log de auditoria do SQL. Para exibir logs de auditoria de logon com falha, você precisa visitar o portal do Azure Active Directory, que registra os detalhes desses eventos.
  • Os logons são encaminhados pelo gateway para a instância específica em que o banco de dados está localizado. No caso de logons do Azure AD, as credenciais são verificadas antes da tentativa de usar esse usuário para fazer logon no banco de dados solicitado. Em caso de falha, o banco de dados solicitado nunca é acessado, portanto, a auditoria não é realizada. Em caso de logons do SQL, as credenciais são verificadas nos dados solicitados e, portanto, nesse caso, elas podem ser auditadas. Os logons bem-sucedidos, que obviamente alcançaram o banco de dados, são auditados em ambos os casos.
  • Depois de definir as configurações de auditoria, você poderá ativar o novo recurso de detecção de ameaças e configurar emails para receber alertas de segurança. Ao usar a detecção de ameaças, você recebe alertas proativos sobre atividades anômalas do banco de dados que podem indicar possíveis ameaças à segurança. Para obter mais informações, consulte Introdução à detecção de ameaças.
  • Depois que um banco de dados com auditoria habilitada for copiado para outro servidor lógico, pode ser que você receba um email notificando que a auditoria falhou. Trata-se de um problema conhecido; a auditoria deve funcionar conforme o esperado no banco de dados recém-copiado.

Configurar a auditoria para o servidor

A política de auditoria padrão inclui todas as ações e o seguinte conjunto de grupos de ação, que farão a auditoria de todas as consultas e todos os procedimentos armazenados executados no banco de dados, bem como os logons com falha e bem-sucedidos:

  • BATCH_COMPLETED_GROUP
  • SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP
  • SUCCESSFUL_DATABASE_AUTHENTICATION_GROUP

Você pode configurar a auditoria para diferentes tipos de ações e grupos de ação usando o PowerShell, conforme descrito na seção Gerenciar a auditoria do Banco de Dados SQL usando o Azure PowerShell.

A auditoria de Banco de Dados SQL do Azure e a Auditoria do Azure Synapse armazenam 4000 caracteres de dados para campos de caracteres em um registro de auditoria. Quando os valores de instrução ou data_sensitivity_information retornados de uma ação auditável contêm mais de 4000 caracteres, os dados após os primeiros 4000 caracteres serão truncados e não auditados. A seção a seguir descreve a configuração de auditoria usando o Portal do Azure.

Observação

  • Não é possível habilitar a auditoria em um pool de SQL dedicado pausado. Para habilitar a auditoria, cancele a pausa do pool de SQL dedicado. Saiba mais sobre o pool de SQL dedicado.
  • Quando a auditoria é configurada para um workspace do Log Analytics ou para um destino do Hubs de Eventos por meio do cmdlet do portal do Azure ou do PowerShell, uma Configuração de Diagnóstico é criada com a categoria "SQLSecurityAuditEvents" habilitada.
  1. Acesse o portal do Azure.

  2. Navegue até Auditoria sob o título de segurança no seu painel de banco de dados SQL ou servidor SQL.

  3. Se preferir configurar uma política de auditoria de servidor, selecione o link Exibir configurações do servidor na página de auditoria do banco de dados. Depois, é possível exibir ou modificar as configurações de auditoria do servidor. As políticas de auditoria de servidor se aplicam a todos os bancos de dados existentes e recém-criados nesse servidor.

    Captura de tela que mostra o link Exibir configurações do servidor realçado na página de auditoria do banco de dados.

  4. Se você preferir habilitar a auditoria no nível do banco de dados, alterne Auditoria para LIGADO. Se a auditoria do servidor estiver habilitada, a auditoria configurada para o banco de dados existirá lado a lado com a auditoria do servidor.

  5. Você tem várias opções para configurar o local em que os logs de auditoria serão gravados. Você pode gravar logs em uma conta de armazenamento do Azure, em um workspace do Log Analytics para consumo dos logs do Azure Monitor ou em um hub de eventos para consumo usando o hub de eventos. Você pode configurar qualquer combinação dessas opções, e os logs de auditoria serão gravados em cada uma.

    opções de armazenamento

Auditoria das operações de Suporte da Microsoft

A auditoria de operações de Suporte da Microsoft para o servidor lógico permite auditar as operações dos engenheiros de suporte da Microsoft quando eles precisam acessar o servidor durante uma solicitação de suporte. O uso desse recurso, juntamente com a auditoria, garante mais transparência a sua equipe e permite a detecção de anomalias, a visualização de tendências e a prevenção de perda de dados.

Para habilitar a auditoria de operações do Suporte da Microsoft, navegue até Auditoria no título Segurança no painel do SQL Server do Azure e alterne Habilitar auditoria de operações do Suporte da Microsoft para ATIVADO.

Captura de tela das operações de Suporte da Microsoft

Para examinar os logs de auditoria das operações de Suporte da Microsoft em seu workspace do Log Analytics, use a seguinte consulta:

AzureDiagnostics
| where Category == "DevOpsOperationsAudit"

Você tem a opção de escolher um destino de armazenamento diferente para o log de auditoria ou usar a mesma configuração de auditoria para o servidor.

Captura de tela da Configuração de auditoria para a auditoria de Operações de suporte

Auditoria para destino de armazenamento

Para configurar a gravação de logs de auditoria em uma conta de armazenamento, selecione Armazenamento quando chegar à seção Auditoria. Selecione a conta de armazenamento do Azure na qual deseja salvar os logs. Você pode usar estes dois tipos de autenticação de armazenamento: identidade gerenciada e chaves de acesso de armazenamento. Para identidade gerenciada, há suporte para identidade gerenciada pelo sistema e pelo usuário. Por padrão, a identidade de usuário primária atribuída ao servidor é selecionada. Se não houver uma identidade de usuário, uma identidade atribuída pelo sistema será criada e usada para fins de autenticação. Depois de escolher um tipo de autenticação, selecione um período de retenção abrindo *Propriedades avançadas e selecionando Salvar. Os logs anteriores ao período de retenção são excluídos.

Observação

Se você estiver implantando por meio do portal do Azure, verifique se a conta de armazenamento está na mesma região que o banco de dados e o servidor. Se você estiver implantando por meio de outros métodos, a conta de armazenamento pode estar em qualquer região.

  • O valor padrão do período de retenção é 0 (retenção ilimitada). Você pode alterar esse valor movendo o controle deslizante de Retenção (dias) nas Propriedades avançadas ao configurar a conta de armazenamento para auditoria.

    • Se você alterar o período de retenção de 0 (retenção ilimitada) para qualquer outro valor, observe que a retenção será aplicada somente aos logs gravados após a alteração do valor de retenção (os logs gravados durante o período em que a retenção era definida como ilimitada serão preservados, mesmo após a retenção ser habilitada).

    do Azure

Auditoria para destino do Log Analytics

Para configurar a gravação de logs de auditoria em um workspace do Log Analytics, selecione Log Analytics e abra Detalhes do Log Analytics. Selecione o workspace do Log Analytics, onde os logs serão gravados e, em seguida, clique em Ok. Caso você ainda não tenha criado um workspace do Log Analytics, confira Criar um workspace do Log Analytics no portal do Azure.

LogAnalyticsworkspace

Para saber mais sobre o workspaces do Log Analytics do Azure Monitor, confira Criar sua implantação de Logs do Azure Monitor

Auditoria para o destino Hubs de Eventos

Para configurar a gravação de logs de auditoria para um hub de eventos, selecione Hub de Eventos. Selecione o hub de eventos no qual os logs serão gravados e, em seguida, clique em Salvar. Verifique se o hub de eventos está na mesma região que o banco de dados e o servidor.

Eventhub

Analise os logs e relatórios de auditoria

Se você optar por gravar logs de auditoria no Log Analytics:

  • Use o portal do Azure. Abra o banco de dados relevante. Na parte superior da página Auditoria do banco de dados, selecione Exibir logs de auditoria.

    exibir logs de auditoria

  • Em seguida, você tem duas maneiras de exibir os logs:

    Clicar no Log Analytics na parte superior da página Registros de auditoria abrirá a exibição de logs no workspace do Log Analytics, onde você pode personalizar o intervalo de tempo e a consulta de pesquisa.

    abrir no workspace do Log Analytics

    Clicar em Exibir painel na parte superior da tela Registros de auditoria abrirá um painel que mostra as informações dos logs de auditoria, onde você poderá analisar detalhadamente insights de segurança, aceso a dados confidenciais e muito mais. Esse painel foi projetado para ajudar a obter informações de segurança dos seus dados. Você também pode personalizar o intervalo de tempo e a consulta de pesquisa. Exibir painel do Log Analytics

    Painel do Log Analytics

    Insights de segurança do Log Analytics

  • Como alternativa, você também pode acessar os logs de auditoria na folha Log Analytics. Abra seu espaço de trabalho do Log Analytics e, na seção Geral, clique em Logs. Você pode começar com uma consulta simples, como: pesquisar "SQLSecurityAuditEvents" para exibir logs de auditoria. A partir desse ponto, você também pode usar os logs do Azure Monitor para executar pesquisas avançadas em seus dados de log de auditoria. Os logs do Azure Monitor fornecem insights operacionais em tempo real usando pesquisa integrada e painéis personalizados para analisar prontamente milhões de registros em todas as suas cargas de trabalho e servidores. Para ver informações úteis adicionais sobre o idioma e os comandos da pesquisa de logs do Azure Monitor, consulte Referência de pesquisa dos logs do Azure Monitor.

Se você tiver escolhido gravar logs de auditoria no Hub de Eventos:

  • Para consumir dados de logs de auditoria do Hub de Eventos, você precisará configurar um fluxo para consumir eventos e gravá-las em um destino. Para obter mais informações, veja a Documentação de Hubs de Eventos do Azure.
  • Os logs de auditoria no Hub de Eventos são capturados no corpo dos eventos do Apache Avro e armazenados usando a formatação JSON com codificação UTF-8. Para ler os logs de auditoria, você pode usar as Ferramentas Avro ou ferramentas similares que processam esse formato.

Se você optar por gravar logs de auditoria em uma conta de Armazenamento do Azure, poderá usar vários métodos para exibir os logs:

  • Os logs de auditoria são agregados na conta escolhida durante a instalação. Explore os logs de auditoria usando uma ferramenta como o Gerenciador de Armazenamento do Azure. No Armazenamento do Azure, os logs de auditoria de blob são salvos como uma coleção de arquivos de blob em um contêiner chamado sqldbauditlogs. Para obter mais detalhes sobre a hierarquia das pastas de armazenamento, as convenções de nomenclatura e o formato do log, consulte Formato do log de auditoria do Banco de Dados SQL.

  • Use o portal do Azure. Abra o banco de dados relevante. Na parte superior da página Auditoria do banco de dados, clique em Exibir logs de auditoria.

    exibir logs de auditoria

    Registros de auditoria é aberto, no qual você pode exibir os logs.

    • Exiba datas específicas clicando em Filtro na parte superior da página Registros de auditoria.

    • Você pode alternar entre os registros de auditoria que foram criados pela política de auditoria de servidor e o política de auditoria de banco de dados ativando/desativando origem auditoria.

      Captura de tela que mostra as opções para exibir os registros de auditoria.

  • Use a função do sistema sys.fn_get_audit_file (T-SQL) para retornar os dados do log de auditoria em um formato tabular. Para obter mais informações sobre como usar essa função, veja sys.fn_get_audit_file.

  • Use a opção Mesclar Arquivos de Auditoria no SQL Server Management Studio (a partir do SSMS 17):

    1. No menu do SSMS, selecione Arquivo>Abrir>Mesclar Arquivos de Auditoria.

      Captura de tela que mostra a opção de menu Mesclar arquivos de auditoria.

    2. A caixa de diálogo Adicionar Arquivos de Auditoria será aberta. Selecione uma das opções Adicionar, escolha se deseja mesclar arquivos de auditoria de um disco local ou importá-los do Armazenamento do Azure. Você deve fornecer os detalhes do Armazenamento do Azure e a chave de conta.

    3. Depois que todos os arquivos a serem mesclados forem adicionados, clique em OK para concluir a operação de mesclagem.

    4. O arquivo mesclado é aberto no SSMS, no qual você pode exibi-lo e analisá-lo, bem como exportá-lo para um arquivo XEL ou CSV ou para uma tabela.

  • Use o Power BI. Você pode exibir e analisar dados do log de auditoria no Power BI. Para obter mais informações e para acessar um modelo para download, confira Analisar dados de log de auditoria no Power BI.

  • Baixe os arquivos de log do contêiner de Azure Storage Blob por meio do portal ou usando uma ferramenta como o Gerenciador de Armazenamento do Azure.

    • Depois de baixar um arquivo de log localmente, clique duas vezes no arquivo para abrir, exibir e analisar os logs no SSMS.
    • Baixe também vários arquivos simultaneamente por meio do Gerenciador de Armazenamento do Azure. Para isso, clique com o botão direito do mouse em uma subpasta específica e selecione Salvar como para salvar em uma pasta local.
  • Métodos adicionais:

    • Depois de baixar vários arquivos ou uma subpasta que contém arquivos de log, você pode mesclá-los localmente, conforme descrito nas instruções de Arquivos de Auditoria de Mesclagem do SSMS indicadas anteriormente.
    • Exibir logs de auditoria de blob programaticamente: consultar arquivos de eventos estendidos usando o PowerShell.

Práticas de produção

Auditoria de bancos de dados replicados geograficamente

Com bancos de dados com replicação geográfica, quando você habilitar a auditoria no banco de dados primário, o banco de dados secundário terá uma política de auditoria idêntica. Também é possível configurar a auditoria no banco de dados secundário, habilitando a auditoria no servidor secundário, independentemente do banco de dados primário.

  • Nível do servidor (recomendado): Ativa a auditoria do servidor primário e do servidor secundário - os bancos de dados primário e secundário serão auditados independentemente, com base na respectiva política no nível do servidor.
  • Nível do banco de dados: A auditoria de nível do banco de dados para bancos de dados secundários só pode ser definida nas configurações de auditoria do banco de dados primário.
    • A auditoria precisa estar habilitada no banco de dados primário, não no servidor.

    • Depois que a auditoria estiver habilitada no banco de dados primário, ela também será habilitada no banco de dados secundário.

      Importante

      Com a auditoria de nível de banco de dados, as configurações de armazenamento do banco de dados secundário serão idênticas às do banco de dados primário, causando um tráfego entre regiões. Recomendamos habilitar somente a auditoria no nível do servidor e deixar a auditoria no nível do banco de dados desabilitada para todos os bancos de dados.

Regeneração de chave de armazenamento

Em produção, você provavelmente atualizará suas chaves de armazenamento periodicamente. Ao gravar logs de auditoria no armazenamento do Azure, é necessário salvar novamente sua política de auditoria ao atualizar suas chaves. O processo é o seguinte:

  1. Abra Propriedades avançadas em Armazenamento. Na caixa Chave de Acesso de Armazenamento, selecione Secundária. Em seguida, clique em Salvar na parte superior da página de configuração de auditoria.

    Captura de tela que mostra o processo para selecionar uma chave de acesso de armazenamento secundária.

  2. Acesse a página de configuração de armazenamento e gere novamente a chave de acesso primária.

    Painel de navegação

  3. Volte para a página de configuração de auditoria, alterne a chave de acesso de armazenamento de secundária para primária e, depois, clique em OK. Em seguida, clique em Salvar na parte superior da página de configuração de auditoria.

  4. Volte para a página de configuração de armazenamento e regenere a chave de acesso secundária (em preparação para o próximo ciclo de atualização da chave).

Gerenciar auditoria do Banco de Dados SQL do Azure

Usando o PowerShell do Azure

Cmdlets do PowerShell (incluindo suporte para a cláusula WHERE da filtragem adicional) :

Para obter um exemplo de script, confira Configurar a auditoria e a detecção de ameaças usando o PowerShell.

Usando a API REST

API REST:

Diretiva estendida com suporte em que a cláusula de filtragem adicional:

Usando a CLI do Azure

Usar modelos do Azure Resource Manager

Você pode gerenciar a auditoria de Banco de Dados SQL do Azure usando os modelos do Azure Resource Manager, de acordo com estes exemplos:

Observação

Os exemplos vinculados estão em um repositório público externo e são fornecidos “no estado em que se encontram”, sem garantias e não têm suporte de nenhum programa/serviço de suporte da Microsoft.

Confira também