Auditar objetos de banco de dados
Com a pgAudit configurada em seu cluster de banco de dados do Aurora PostgreSQL e configurada para seus requisitos, informações mais detalhadas são capturadas no log do PostgreSQL. Por exemplo, enquanto a configuração de registro em padrão do PostgreSQL identifica a data e a hora em que uma alteração foi feita em uma tabela do banco de dados, com a extensão pgAudit, a entrada do log pode incluir o esquema, o usuário que fez a alteração e outros detalhes, dependendo de como os parâmetros da extensão estão configurados. Você pode configurar a auditoria para monitorar as alterações das maneiras a seguir.
- Para cada sessão, por usuário. Para o nível da sessão, você pode capturar o texto do comando totalmente qualificado. 
- Para cada objeto, por usuário e por banco de dados. 
O recurso de auditoria de objetos é ativado quando você cria a função rds_pgaudit no sistema e depois a adiciona ao parâmetro pgaudit.role no grupo de parâmetros personalizado. Por padrão, o parâmetro pgaudit.role não está definido e o único valor permitido é rds_pgaudit. As etapas a seguir pressupõem que a pgaudit tenha sido inicializada e que você tenha criado a extensão pgaudit seguindo o procedimento em Configurar a extensão pgAudit. 
 
     
     
  Conforme mostrado neste exemplo, a linha “LOG: AUDIT: SESSION” fornece informações sobre a tabela e o respectivo esquema, entre outros detalhes.
Como configurar a auditoria de objetos
- Use - psqlpara se conectar à instância do gravador do cluster de banco de dados do Aurora PostgreSQL.- psql --host=- your-instance-name.- aws-region.rds.amazonaws.com --port=5432 --username=- postgrespostgres --password --dbname=- labdb
- 
Crie uma função de banco de dados chamada rds_pgauditusando o comando a seguir.labdb=>CREATE ROLE rds_pgaudit;CREATE ROLElabdb=>
- Feche a sessão - psql.- labdb=>- \q- Nas próximas etapas, use a AWS CLI para modificar os parâmetros de log de auditoria no grupo de parâmetros personalizado. 
- 
Use o comando AWS CLI a seguir para definir o parâmetro pgaudit.rolecomords_pgaudit. Por padrão, esse parâmetro está vazio, erds_pgaudité o único valor permitido.aws rds modify-db-parameter-group \ --db-parameter-group-namecustom-param-group-name\ --parameters "ParameterName=pgaudit.role,ParameterValue=rds_pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region
- 
Use o comando AWS CLI a seguir para reinicializar a instância do gravador do cluster de banco de dados do Aurora PostgreSQL para que as alterações nos parâmetros tenham efeito. aws rds reboot-db-instance \ --db-instance-identifierwriter-instance\ --regionaws-region
- Execute o comando a seguir para confirmar que - pgaudit.roleestá definido como- rds_pgaudit.- SHOW pgaudit.role;- pgaudit.role ------------------ rds_pgaudit
Para testar o registro em log da extensão pgAudit, execute vários comandos de exemplo semelhantes ao que você deseja auditar. Por exemplo, você pode executar os seguintes comandos.
CREATE TABLE t1 (id int); GRANT SELECT ON t1 TO rds_pgaudit; SELECT * FROM t1;id ---- (0 rows)
Os logs do banco de dados devem conter uma entrada semelhante à seguinte.
...
2017-06-12 19:09:49 UTC:...:rds_test@postgres:[11701]:LOG: AUDIT:
OBJECT,1,1,READ,SELECT,TABLE,public.t1,select * from t1;
...Para obter informações sobre como visualizar os logs, consulte Monitorar arquivos de log do Amazon Aurora.
Para saber mais sobre a extensão pgAudit, consulte pgAudit