Excluir usuários ou bancos de dados do registro em log de auditoria - Amazon Aurora

Excluir usuários ou bancos de dados do registro em log de auditoria

Conforme discutido em Arquivos de log do banco de dados do Aurora PostgreSQL, os logs do PostgreSQL consomem espaço de armazenamento. O uso da extensão pgAudit aumenta o volume de dados reunidos nos logs em vários graus, dependendo das alterações monitoradas. Talvez você não precise auditar todos os usuários nem bancos de dados no cluster de banco de dados do Aurora PostgreSQL.

Para minimizar os impactos no armazenamento e evitar a captura desnecessária de registros de auditoria, você pode excluir usuários e bancos de dados da auditoria. Você também pode alterar o registro em log em determinada sessão. Os exemplos a seguir mostram o procedimento.

nota

As configurações de parâmetros no nível da sessão têm precedência sobre as configurações no grupo de parâmetros de cluster de banco de dados personalizado para a instância do gravador do cluster de banco de dados do Aurora PostgreSQL. Se você não quiser que os usuários do banco de dados ignorem suas configurações de registro em log de auditoria, não se esqueça de alterar as permissões.

Suponha que seu cluster banco de dados do Aurora RDS PostgreSQL esteja configurado ) para auditar o mesmo nível de atividade para todos os usuários e bancos de dados. Depois, decida que não quer auditar o usuário myuser. Você pode desativar a auditoria para myuser com o comando SQL a seguir.

ALTER USER myuser SET pgaudit.log TO 'NONE';

Depois, você pode usar a consulta a seguir para conferir a coluna user_specific_settings para pgaudit.log a fim de confirmar se o parâmetro está definido como NONE.

SELECT usename AS user_name, useconfig AS user_specific_settings FROM pg_user WHERE usename = 'myuser';

Você deve ver a saída da forma a seguir.

user_name | user_specific_settings -----------+------------------------ myuser | {pgaudit.log=NONE} (1 row)

Você pode desativar o registro em log de determinado usuário no meio da sessão com o banco de dados com o comando a seguir.

ALTER USER myuser IN DATABASE mydatabase SET pgaudit.log TO 'none';

Use a consulta a seguir para conferir a coluna de configurações de pgaudit.log para uma combinação específica de usuário e banco de dados.

SELECT usename AS "user_name", datname AS "database_name", pg_catalog.array_to_string(setconfig, E'\n') AS "settings" FROM pg_catalog.pg_db_role_setting s LEFT JOIN pg_catalog.pg_database d ON d.oid = setdatabase LEFT JOIN pg_catalog.pg_user r ON r.usesysid = setrole WHERE usename = 'myuser' AND datname = 'mydatabase' ORDER BY 1, 2;

Você verá uma saída semelhante à seguinte.

user_name | database_name | settings -----------+---------------+------------------ myuser | mydatabase | pgaudit.log=none (1 row)

Depois de desativar a auditoria de myuser, você decide que não deseja monitorar as alterações em mydatabase. Você pode desativar a auditoria para esse banco de dados específico usando o comando a seguir.

ALTER DATABASE mydatabase SET pgaudit.log to 'NONE';

Depois, use a consulta a seguir para conferir a coluna database_specific_settings a fim de confirmar se pgaudit.log está definido como NONE.

SELECT a.datname AS database_name, b.setconfig AS database_specific_settings FROM pg_database a FULL JOIN pg_db_role_setting b ON a.oid = b.setdatabase WHERE a.datname = 'mydatabase';

Você deve ver a saída da forma a seguir.

database_name | database_specific_settings ---------------+---------------------------- mydatabase | {pgaudit.log=NONE} (1 row)

Para restaurar as configurações padrão para myuser, use o seguinte comando:

ALTER USER myuser RESET pgaudit.log;

Para restaurar as configurações padrão para um banco de dados, use o comando a seguir.

ALTER DATABASE mydatabase RESET pgaudit.log;

Para restaurar as configurações padrão de usuário e banco de dados, use o comando a seguir.

ALTER USER myuser IN DATABASE mydatabase RESET pgaudit.log;

Você também pode capturar eventos específicos no log definindo pgaudit.log como um dos outros valores permitidos para o parâmetro pgaudit.log. Para ter mais informações, consulte Lista de configurações permitidas para o parâmetro pgaudit.log.

ALTER USER myuser SET pgaudit.log TO 'read'; ALTER DATABASE mydatabase SET pgaudit.log TO 'function'; ALTER USER myuser IN DATABASE mydatabase SET pgaudit.log TO 'read,function'