Esclusione di utenti o database dalla registrazione di audit - Amazon Relational Database Service

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Esclusione di utenti o database dalla registrazione di audit

Come illustrato in File di log del database RDS per PostgreSQL, i registri di PostgreSQL consumano spazio di archiviazione. L'uso dell'estensione pgAudit consente di aumentare il volume di dati raccolti nei registri in misura diversa, a seconda delle modifiche che vengono monitorate. Potrebbe non essere necessario eseguire l'audit di ogni utente o database l'istanza database RDS per PostgreSQL.

Per ridurre al minimo l'impatto sull'archiviazione ed evitare di acquisire inutilmente i record di audit, è possibile escludere utenti e database dall'audit. È anche possibile modificare la registrazione all'interno di una determinata sessione. Negli esempi seguenti viene mostrato come fare.

Nota

Le impostazioni dei parametri a livello di sessione hanno la precedenza sulle impostazioni nel gruppo di parametri database personalizzato per l'istanza database RDS per PostgreSQL. Per evitare che gli utenti del database ignorino le impostazioni di configurazione della registrazione di audit, accertati di modificare le loro autorizzazioni.

Supponi che l'istanza database RDS per PostgreSQL sia configurata per eseguire l'audit dello stesso livello di attività per tutti gli utenti e i database. Decidi quindi di non voler eseguire l'audit dell'utente myuser. Puoi disattivare l'audit per myuser con il comando SQL seguente.

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

Quindi, puoi utilizzare la seguente query per controllare la colonna user_specific_settings per pgaudit.log per verificare che sia impostata su NONE.

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

Viene visualizzato l'output riportato di seguito.

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

Puoi disattivare la registrazione per un determinato utente durante la sessione con il database con il seguente comando.

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

Utilizza la seguente query per controllare la colonna delle impostazioni per pgaudit.log per una combinazione specifica di utente e database.

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;

L'output visualizzato è simile al seguente.

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

Dopo aver disattivato l'audit per myuser, decidi di non voler tenere traccia delle modifiche apportate a mydatabase. Puoi disattivare l'audit per il database specifico utilizzando il comando seguente.

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

Quindi, utilizza la seguente query per controllare la colonna database_specific_settings per verificare che pgaudit.log sia impostato su 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';

Viene visualizzato l'output riportato di seguito.

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

Per ripristinare le impostazioni predefinite di myuser, utilizza il comando seguente:

ALTER USER myuser RESET pgaudit.log;

Per ripristinare i valori predefiniti delle impostazioni di un database, utilizza il comando seguente.

ALTER DATABASE mydatabase RESET pgaudit.log;

Per ripristinare l'impostazione predefinita di utente e database, utilizza il comando seguente.

ALTER USER myuser IN DATABASE mydatabase RESET pgaudit.log;

Puoi anche acquisire eventi specifici nel registro impostando pgaudit.log su uno degli altri valori consentiti per il parametro pgaudit.log. Per ulteriori informazioni, consulta Elenco delle impostazioni consentite per il parametro 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'