Tutorial: configurar logs de auditoria usando o Banco de Dados do Azure para MySQL - Servidor Flexível
Você pode usar o Servidor Flexível do Banco de Dados do Azure para MySQL para configurar logs de auditoria. Os logs de auditoria podem ser usados para rastrear atividades no nível do banco de dados, incluindo eventos de conexão, administração, DDL (linguagem de definição de dados) e DML (linguagem de manipulação de dados). Esses tipos de logs são comumente usados para fins de conformidade. Normalmente, você usa a auditoria de banco de dados para:
- Contabilizar todas as ações que ocorrem dentro de um esquema, tabela ou linha específica ou que afetam um conteúdo específico.
- Impedir que usuários (ou outras pessoas) executem ações inadequadas de acordo com a respectiva responsabilidade.
- Investigar atividades suspeitas.
- Monitorar e coletar dados sobre atividades específicas do banco de dados.
Este artigo descreve como usar logs de auditoria do MySQL, ferramentas do Log Analytics ou um modelo de pasta de trabalho para visualizar informações de auditoria do Servidor Flexível do Banco de Dados do Azure para MySQL.
Neste tutorial, você aprenderá como:
- Configurar a auditoria usando o portal do Azure ou a CLI do Azure
- Configurar os diagnósticos
- Exibir logs de auditoria usando o Log Analytics
- Exibir logs de auditoria usando pastas de trabalho
Pré-requisitos
- Início Rápido: Criar uma instância do Banco de Dados do Azure para MySQL com o portal do Azure.
- Criar um espaço de trabalho do Log Analytics.
Configurar a auditoria usando o portal do Azure
Entre no portal do Azure.
Selecione a sua instância de servidor flexível.
No painel à esquerda, em Configurações, selecione Parâmetros do servidor.
Para o parâmetro audit_log_enabled, selecione ATIVADO.
Para o parâmetro audit_log_events, na lista suspensa, selecione os tipos de evento a serem registrados.
Para os parâmetros audit_log_exclude_users e audit_log_include_users, especifique os usuários do MySQL a serem incluídos ou excluídos do registro em log fornecendo os nomes de usuário do MySQL deles.
Clique em Salvar.
Configurar a auditoria usando a CLI do Azure
Como alternativa, você pode habilitar e configurar a auditoria para o servidor flexível na CLI do Azure executando o seguinte comando:
# Enable audit logs
az mysql flexible-server parameter set \
--name audit_log_enabled \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
Configurar os diagnósticos
Os logs de auditoria são integrados às configurações de diagnóstico do Azure Monitor para permitir que você redirecione seus logs para qualquer um destes três coletores de dados:
- Um workspace do Log Analytics
- Um hub de eventos
- Uma conta de armazenamento
Observação
Você deve criar os coletores de dados antes de definir as configurações de diagnóstico. Você pode acessar os logs de auditoria nos coletores de dados que configurou. Pode levar até 10 minutos para que os logs sejam exibidos.
No painel esquerdo, em Monitoramento, selecione Configurações de diagnóstico.
No painel Configurações de diagnóstico, selecione Adicionar configuração de diagnóstico.
Na caixa Nome, insira um nome para a configuração de diagnóstico.
Especifique para quais destinos (workspace do Log Analytics, um hub de eventos ou uma conta de armazenamento) enviar os logs de auditoria marcando as caixas de seleção correspondentes.
Observação
Neste tutorial, você enviará os logs de auditoria para um workspace do Log Analytics.
Em Log, para o tipo de log, marque a caixa de seleção MySqlAuditLogs.
Depois de configurar os coletores de dados para redirecionar os logs de auditoria, selecione Salvar.
Exibir logs de auditoria usando o Log Analytics
No Log Analytics, no painel esquerdo, em Monitoramento, selecione Logs.
Feche a janela Consultas.
Na janela da consulta, você pode escrever a consulta a ser executada. Por exemplo, para encontrar um resumo dos eventos auditados em um servidor específico, utilizamos a seguinte consulta:
AzureDiagnostics |where Category =='MySqlAuditLogs' |project TimeGenerated, Resource, event_class_s, event_subclass_s, event_time_t, user_s ,ip_s , sql_text_s |summarize count() by event_class_s,event_subclass_s |order by event_class_s
Exibir logs de auditoria usando pastas de trabalho
O modelo de pasta de trabalho usado para auditoria exige a criação de configurações de diagnóstico para enviar os logs da plataforma.
No Azure Monitor, no painel esquerdo, selecione Log de atividades e escolha Configurações de diagnóstico.
No painel Configuração de diagnóstico, você pode adicionar uma configuração ou editar uma existente. Cada configuração pode ter apenas um destino de cada tipo.
Observação
Você pode acessar os logs de consultas lentas nos coletores de dados (workspace do Log Analytics, conta de armazenamento ou hub de eventos) que já configurou. Pode levar até 10 minutos para que os logs sejam exibidos.
No portal do Azure, no painel esquerdo, em Monitoramento na sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL, selecione Pastas de trabalho.
Selecione a pasta de trabalho Auditoria.
Na pasta de trabalho, você pode exibir as seguintes visualizações:
- Ações Administrativas no serviço
- Resumo da Auditoria
- Resumo de Eventos de Conexão de Auditoria
- Eventos de Conexão de Auditoria
- Resumo de Acesso à Tabela
- Erros Identificados
Observação
- Você também poderá editar esses modelos e personalizá-los de acordo com suas necessidades. Para saber mais, confira a seção “Modo de edição” das Pastas de trabalho do Azure.
- Para uma exibição rápida, você também pode fixar as pastas de trabalho ou a consulta do Log Analytics em seu painel. Para obter informações, confira Criar um painel excluído no portal do Azure.
A exibição Ações Administrativas no serviço fornece detalhes sobre as atividades executadas no serviço. Ela ajuda a determinar o quê, quem e quando para as operações de gravação (PUT, POST e DELETE) executadas nos recursos na sua assinatura.
Você pode usar outras visualizações para entender os detalhes da atividade do banco de dados. A segurança do banco de dados tem quatro partes:
- Segurança do servidor: responsável por impedir que pessoas não autorizadas acessem o banco de dados.
- Conexão de banco de dados: o administrador deve verificar se alguma atualização de banco de dados foi executada por pessoas autorizadas.
- Controle de acesso de tabela: mostra as chaves de acesso dos usuários autorizados e quais tabelas no banco de dados cada um está autorizado a manipular.
- Restrição de acesso ao banco de dados: é especialmente importante para aqueles que carregaram um banco de dados na Internet e ajuda a impedir que fontes externas tenham acesso ao banco de dados.