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 você a manter a conformidade regulatória, entender a atividade do banco de dados e obter informações sobre discrepâncias e anomalias que podem indicar preocupações para os negócios ou suspeitas de violações de segurança.

  • Permite e facilita a adesão aos padrões de conformidade, embora não garanta a conformidade. Para saber mais sobre os programas do Azure com suporte à conformidade de padrões, confira a Central de Confiabilidade do Azure, onde é possível encontrar a lista mais atual de certificações de conformidade do Azure 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. Durante uma atividade muito alta, ou alta carga de rede, o Banco de Dados SQL do Azure, o Azure Synapse e a Instância Gerenciada de SQL do Azure permitem que as operações continuem e podem não registrar alguns eventos auditados.

Limitações da auditoria

  • Atualmente, não há suporte para o Armazenamento Premium.
  • O namespace hierárquico da conta de armazenamento do Azure Data Lake Storage Gen2 não tem suporte no momento.
  • 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.

Definir a política de auditoria no nível do servidor e 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 Hub 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

  • 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 Microsoft Azure atrás de uma VNet ou um firewall. Para ver instruções específicas, consulte Gravar auditoria em uma conta de armazenamento atrás de uma VNet e 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 AAD, as credenciais são verificadas antes de tentar utilizar 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 do SQL do Azure, 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 Hub 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. Vá para 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.

    Screenshot that shows the View server settings link highlighted on the database auditing page.

  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.

    storage options

Auditoria das operações de Suporte da Microsoft

A auditoria de operações de Suporte da Microsoft para o Azure SQL Server permite a auditoria de operações de engenheiros de suporte da Microsoft quando eles precisarem 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.

Screenshot of Microsoft Support Operations

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.

Screenshot of Auditing configuration for auditing Support operations

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 os logs serão salvos e, em seguida, selecione o período de retenção abrindo as Propriedades avançadas. Em seguida, clique em Salvar. Os logs anteriores ao período de retenção são excluídos.

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

    storage account

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 destino do hub 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.

    view audit logs

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

    open in Log Analytics workspace

    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. View Log Analytics Dashboard

    Log Analytics Dashboard

    Log Analytics Security Insights

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

    view audit logs

    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.

      Screenshot that shows the options for viewing the audit records.

  • 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 ArquivoAbrirMesclar Arquivos de Auditoria.

      Screenshot that shows the Merge Audit Files menu option.

    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): ative 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 em sua respectiva política no nível do servidor.
  • Nível de banco de dados: a auditoria de nível de banco de dados para bancos de dados secundários só pode ser configurada 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.

    Screenshot that shows the process for selecting a secondary storage access key.

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

    Navigation pane

  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

Usando modelos do Gerenciador de Recursos do Azure

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