O pgAudit gera logs de auditoria detalhados para o PolarDB for PostgreSQL (Compatible with Oracle). Use esse recurso para atender a requisitos de conformidade governamental, financeira e de certificações ISO, rastrear acessos a dados, investigar incidentes e analisar atividades do banco de dados.
Pré-requisitos
Antes de começar, verifique se você tem:
-
Um cluster do PolarDB for PostgreSQL (Compatible with Oracle) executando uma versão secundária do mecanismo compatível:
Sintaxe Oracle compatível 2.0: versão secundária do mecanismo 2.0.14.5.1.0 ou posterior
Sintaxe Oracle compatível 1.0: versão secundária do mecanismo 2.0.11.9.25.0 ou posterior
Uma conta privilegiada para definir os parâmetros da extensão
Para verificar sua versão secundária do mecanismo, execute SHOW polardb_version; ou visualize-a no console . Caso seu cluster não atenda ao requisito de versão, atualize a versão secundária do mecanismo .
Instale a extensão
CREATE EXTENSION pgaudit;
Configure os logs de auditoria
Audite operações de leitura
Para auditar todas as operações de leitura em um banco de dados:
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ';
Operações como SELECT e outras leituras são auditadas. Operações de escrita, como INSERT e UPDATE, não são incluídas.
Audite operações de leitura e escrita
Para auditar operações de leitura e escrita:
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'READ,WRITE';
Todas as operações de leitura e escrita, incluindo SELECT, INSERT e UPDATE, são auditadas.
Configurações de auditoria muito abrangentes podem gerar grande volume de logs e dificultar a identificação de eventos importantes. Use o escopo mais restrito possível que atenda aos seus requisitos de conformidade e monitore o consumo de armazenamento.
Desative a auditoria
ALTER DATABASE pgaudit_testdb SET pgaudit.log = 'NONE';
Audite operações em um objeto específico
A auditoria no nível de objeto permite rastrear atividades em tabelas individuais ou outros objetos do banco de dados, em vez de registrar todas as operações do banco. Para configurar:
-
Crie uma função dedicada para auditoria.
CREATE USER audit_role; -
Atribua a função de auditoria ao banco de dados. O pgAudit audita apenas operações em objetos concedidos a essa função.
ALTER DATABASE pgaudit_testdb SET pgaudit.role = 'audit_role'; -
Crie a tabela que deseja auditar.
CREATE TABLE test_audit (id INT); -
Conceda permissões na tabela à função de auditoria.
GRANT ALL ON test_audit TO audit_role;
Após concluir essas etapas, apenas as operações na tabela test_audit no banco pgaudit_testdb serão auditadas.
Visualize os logs de auditoria
Os logs de auditoria estão disponíveis no SQL Explorer.
Desinstale a extensão
DROP EXTENSION pgaudit;
Próximos passos
Para obter a lista completa de opções de configuração do pgAudit, consulte a documentação do pgAudit.