Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Pode auditar as atividades da base de dados no Base de Dados do Azure para PostgreSQL usando a pgaudit extensão.
pgaudit fornece registos detalhados de auditoria de sessões e objetos.
Se quiseres Logs ao nível de Recursos do Azure para operações como computação e dimensionamento de armazenamento, consulta o Log de Atividades do Azure.
Considerações sobre o uso
Por defeito, pgaudit regista instruções, e o mecanismo padrão de registo do Postgres emite as suas mensagens de registo normais. No Base de Dados do Azure para PostgreSQL, pode configurar todos os logs para serem enviados para a Azure Monitor Log store para análise posterior no Log Analytics. Se ativar o registo de recursos do Azure Monitor, os seus registos são automaticamente enviados (em formato JSON) para o Armazenamento do Azure, Event Hubs e Azure Monitor, dependendo da sua escolha.
Para saber de que forma configurar o registo para o Armazenamento do Azure, o Azure Event Hubs ou os registos do Azure Monitor, visite a secção de registos de recursos do artigo Registos do servidor.
Instalando a extensão
Para usar a extensão pgaudit, autorizar, carregar e criar a extensão na base de dados onde pretende utilizá-la.
Definir configurações de extensão
pgaudit permite configurar o registo de auditoria da sessão ou do objeto.
O registo de auditoria de sessão emite logs detalhados das instruções executadas.
O log de auditoria de objetos é específico para relações específicas. Você pode optar por configurar um ou ambos os tipos de registro.
Depois de ativares pgaudit, configura os seus parâmetros para começar a registar.
Para configurar pgaudit, siga estas instruções:
Utilize o portal do Azure:
Selecione a sua instância do Base de Dados do Azure para PostgreSQL flexible server.
No menu de recursos, na secção Definições , selecione Parâmetros.
Pesquise os
pgauditparâmetros.Escolha o parâmetro apropriado para editar. Por exemplo, para começar a registar as instruções
INSERT,UPDATE,DELETE,TRUNCATEeCOPY, definapgaudit.logcomoWRITE.Selecione Guardar para guardar as alterações.
A documentação oficial do pgaudit fornece a definição de cada parâmetro. Teste os parâmetros primeiro e confirme se você está obtendo o comportamento esperado.
Por exemplo, definir pgaudit.log_client como ON não só escreve eventos de auditoria no registo do servidor, como também os envia para processos cliente (como o psql). Geralmente, deixe esta definição desativada.
pgaudit.log_level é ativado apenas quando pgaudit.log_client está ativado.
No servidor flexível do Base de Dados do Azure para PostgreSQL, não é possível definir pgaudit.log utilizando um atalho de sinal - (menos), conforme descrito na documentação pgaudit. Especifique individualmente todas as classes de declaração necessárias (READ, WRITE, e assim sucessivamente).
Se definires o log_statement parâmetro como DDL ou ALL e executares um CREATE ROLE/USER ... WITH PASSWORD ... ; comando ou ALTER ROLE/USER ... WITH PASSWORD ... ; , o PostgreSQL cria uma entrada nos registos do PostgreSQL onde a palavra-passe está registada em texto claro, o que pode causar um risco potencial de segurança. Este comportamento é esperado segundo o design do motor PostgreSQL.
No entanto, você pode usar a pgaudit extensão e definir pgaudit.log como DDL, que não registra nenhuma CREATE/ALTER ROLE instrução no log do servidor Postgres, ao contrário do que acontece quando você define log_statement como DDL. Se precisar de registar estas instruções, também pode definir pgaudit.log como ROLE, o que omite a palavra-passe dos registos ao mesmo tempo que regista CREATE/ALTER ROLE.
Formato do log de auditoria
Cada entrada de auditoria começa com AUDIT:. O formato do resto da entrada é detalhado na documentação do pgaudit.
Como Começar
Para iniciar rapidamente, defina pgaudit.log como ALL, e abra os logs do servidor para revisar a saída.
Ver registos de auditoria
O método para aceder aos registos depende do endpoint que escolheres. Para o armazenamento do Azure, consulte o artigo sobre a conta de armazenamento de logs. Para os Hubs de Eventos, consulte o artigo de logs de fluxo do Azure.
Para o Azure Monitor Logs, envias os logs para o espaço de trabalho que selecionaste. Os registos Postgres usam o modo de recolha AzureDiagnostics , por isso pode consultá-los a partir da tabela AzureDiagnostics. Para saber mais sobre consultas e alertas, consulte a visão geral da consulta do Azure Monitor Logs.
Você pode usar essa consulta para começar. Você pode configurar alertas com base em consultas.
Pesquise todas as entradas pgaudit nos registos do Postgres para um servidor específico do último dia.
AzureDiagnostics
| where Resource =~ "<flexible-server-name>"
| where Category == "PostgreSQLLogs"
| where TimeGenerated > ago(1d)
| where Message contains "AUDIT:"
Atualização principal de versão com a extensão pgaudit instalada
Durante uma grande atualização de versão, o processo elimina automaticamente a extensão pgaudit e depois recria-a após a conclusão da atualização. Embora o processo restaure a extensão, não preserva automaticamente quaisquer configurações personalizadas definidas pgaudit.log ou outros parâmetros relacionados.