Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode auditar as atividades do banco de dados em Banco de Dados do Azure para PostgreSQL usando a pgaudit extensão.
pgaudit fornece registros detalhados de auditoria de sessão e de objeto.
Se você quiser logs no nível de recursos do Azure para operações como o dimensionamento de computação e armazenamento, veja o Log de atividades do Azure.
Considerações de uso
Por padrão, pgaudit registra instruções, e o mecanismo padrão de registro em log do Postgres emite suas mensagens de log regulares. Em Banco de Dados do Azure para PostgreSQL, você pode configurar todos os logs a serem enviados para o repositório de logs do Azure Monitor para análise posterior no Log Analytics. Se você habilitar o log de recursos do Azure Monitor, seus logs serão enviados automaticamente (no formato JSON) para o Armazenamento do Azure, o Event Hubs e os logs do Azure Monitor, dependendo da sua escolha.
Para saber como configurar o log no Armazenamento do Microsoft Azure, nos Hubs de Eventos ou nos logs de Azure Monitor, visite a seção de logs de recursos do artigo de logs do servidor.
Instalando a extensão
Para usar a extensão pgaudit, coloque na lista de permissões, carregue e crie a extensão no banco de dados onde você planeja usá-la.
Definir as configurações da extensão
pgaudit permite que você configure o log de auditoria de sessão ou objeto.
O log de auditoria de sessão emite logs detalhados de instruções executadas.
O log de auditoria de objeto tem o escopo de auditoria para relações específicas. Você pode optar por configurar um ou ambos os tipos de registro em log.
Depois de habilitar pgaudit, configure os parâmetros para iniciar o registro.
Para configurar pgaudit, siga estas instruções:
Use o portal do Azure:
Selecione sua instância do Banco de Dados do Azure para PostgreSQL – Flexible Server.
No menu de recursos, na seção Configurações , selecione Parâmetros.
Pesquise os
pgauditparâmetros.Escolha o parâmetro apropriado para editar. Por exemplo, para começar a registrar em log as declarações
INSERT,UPDATE,DELETE,TRUNCATEeCOPY, definapgaudit.logcomoWRITE.Selecione Salvar para salvar as alterações.
A documentação oficial de pgaudit fornece a definição de cada parâmetro. Teste os parâmetros primeiro e confirme que você está obtendo o comportamento esperado.
Por exemplo, definir pgaudit.log_client como ON não apenas grava eventos de auditoria no log do servidor, mas também os envia para processos clientes (como o psql). Em geral, deixe essa configuração desabilitada.
pgaudit.log_level é habilitado somente quando pgaudit.log_client está ativado.
No servidor flexível do Banco de Dados do Azure para PostgreSQL, você não pode definir pgaudit.log usando o atalho de sinal de - (menos), conforme descrito na documentação do pgaudit. Especifique individualmente todas as classes de declaração necessárias (READ, WRITE e assim por diante).
Se você definir o log_statement parâmetro como DDL ou ALL executar um CREATE ROLE/USER ... WITH PASSWORD ... ; ou ALTER ROLE/USER ... WITH PASSWORD ... ; comando, o PostgreSQL criará uma entrada nos logs do PostgreSQL em que a senha é registrada em texto limpo, o que pode causar um risco potencial à segurança. Esse comportamento é esperado de acordo com o design do mecanismo PostgreSQL.
No entanto, você pode usar a extensão pgaudit e definir pgaudit.log para DDL, o que não registra nenhuma instrução CREATE/ALTER ROLE no log do servidor Postgres, ao contrário do que ocorre quando você define log_statement para DDL. Se você precisar registrá-las em log, também poderá definir pgaudit.log como ROLE, o que mascara a senha nos logs ao mesmo tempo que registra CREATE/ALTER ROLE.
Formato do log de auditoria
Cada entrada de auditoria começa com AUDIT:. O formato do restante da entrada é detalhado na documentação de pgaudit.
Como começar
Para começar rapidamente, defina pgaudit.log como ALLe abra os logs do servidor para examinar a saída.
Exibir logs de auditoria
O método para acessar os logs depende do endpoint escolhido. Para o Armazenamento do Microsoft Azure, veja o artigo sobre conta de armazenamento de logs. Para os hubs de eventos, veja o artigo sobre fluxos de logs do Azure.
No Azure Monitor Logs, você envia logs para o espaço de trabalho que selecionou. Os logs do Postgres usam o modo de coleção AzureDiagnostics , para que você possa consultá-los na tabela AzureDiagnostics. Para saber mais sobre consultas e alertas, consulte a visão geral das consultas do Azure Monitor Logs.
Você pode usar essa consulta para começar. Você pode configurar alertas com base em consultas.
Pesquise todas as pgaudit entradas nos logs do Postgres para um servidor específico no último dia.
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Atualização de versão principal com a extensão pgaudit instalada
Durante uma atualização de versão principal, o processo descarta automaticamente a extensão pgaudit e a recria após a conclusão da atualização. Embora o processo restaure a extensão, ele não preserva automaticamente nenhuma configuração personalizada definida em pgaudit.log ou em outros parâmetros relacionados.