Faça login com pgaudit

A Extensão de Auditoria do PostgreSQL (pgaudit) permite ativar o registro de sessões para suas implantações do IBM Cloud® Databases for PostgreSQL. Para visualizar os registros de auditoria, certifique-se de ter habilitado o Registro para Cloud Databases e concluído a etapa de Criação de uma S2S autorização para conceder acesso ao envio de registros para IBM® Cloud Logs.

Criação de log de sessão

A criação de log de sessão fica desligada por padrão. É possível ativar os parâmetros de registro de sessão que registram todas as atividades relacionadas a conjuntos de tipos de eventos de auditoria. A criação de log de sessão fica ativada para todo o cluster do BD e é on ou off para um tipo de evento específico.

Tipos de evento

A criação de log de sessão é configurada por tipo de evento. Os tipos de eventos suportados em todas as versões são:

  • FUNÇÃO
  • CARGO
  • DDL
  • LIDO
  • GRAVAR
  • MISC
  • MISC_SET
  • NONE (para desativar o registro)

Para obter mais informações, consulte pgaudit.

Ativação do registro de sessões d pgaudit

Para habilitar o registro de sessões d pgaudit , conecte-se como usuário administrador e chame a função set_pgaudit_session_logging com os parâmetros de evento apropriados especificados. A criação de log de sessão é ativada diretamente no banco de dados e não é fornecido nenhum acesso de API ou de CLI.

Por exemplo, para ativar DDL e ROLE você chamaria:

SELECT public.set_pgaudit_session_logging(current_database(),'{ddl, role}');

Você pode especificar um banco de dados com dbname em vez da função current_database().

Ativação do registro de usuários d pgaudit

Para habilitar o registro de usuários d pgaudit, faça login como usuário administrador e chame a função set_pgaudit_user_logging, especificando os parâmetros de evento apropriados. O registro de usuários é ativado para um usuário específico em vez de todos os usuários no banco de dados.

Por exemplo, para habilitar READ e WRITE, use o seguinte comando:

SELECT public.set_pgaudit_user_logging(<CREATED USER>,'{read, write}');

Ativação do registro em banco de dados do pgaudit

Para habilitar o registro de eventos específico do banco de dados “ pgaudit ”, conecte-se como usuário “admin” e chame a função “ set_pgaudit_database_logging ” com os parâmetros de evento apropriados especificados. O registro de banco de dados é ativado para um banco de dados específico, no caso de vários bancos de dados disponíveis em uma instância.

Por exemplo, para habilitar DDL e ROLE em current_database, use o seguinte comando:

SELECT public.set_pgaudit_database_logging(current_database(),'{ddl, role}');

ou

SELECT public.set_pgaudit_database_logging('sampledatabase','{read, write, ddl}');

As chamadas subsequentes substituem a configuração existente; elas não são aditivas. Por exemplo, uma chamada subsequente a SELECT public.set_pgaudit_session_logging('{misc}'); registra apenas misc , mas desativa ddl e role``.

Desativando pgaudit

Para desativar o registro de auditoria, chame a mesma função especificando none . Por exemplo:

SELECT public.set_pgaudit_session_logging(current_database(),'{none}');

A mudança dos níveis de auditoria acontece imediatamente ao chamar a função sem interromper a atividade do banco de dados.

Logs de auditoria

Os eventos de auditoria aparecem no IBM® Cloud Logs Routing com o formato a seguir:

LOG: AUDIT: SESSION,1,1,DDL,CREATE TABLE,,,create table f2 (id int);,<not logged>

Para obter mais informações, consulte pgaudit format.

Se você quiser ver o nível de log atual, será possível executar o comando:

show pgaudit.log;