從稽核記錄中排除使用者或資料庫 - Amazon Relational Database Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

從稽核記錄中排除使用者或資料庫

如中所述的SQL數據庫日誌文件,Postgre SQL 日誌消耗存儲空間。根據您追蹤的變更,使用 pgAudit 擴充功能會增加記錄中收集的資料量,在不同程度上增加。您可能不需要稽核 中的每個使用者或資料庫。RDS對於後置SQL數據庫實例。

若要將對儲存的影響降到最低,並避免不必要地擷取稽核記錄,您可以將使用者和資料庫排除在稽核之外。您也可以在給定的工作階段中變更記錄。下列範例向您展示做法。

注意

參數群組中的設定。RDS SQL如果您不想要資料庫使用者略過稽核記錄組態設定,請務必變更其許可。

假設RDS適用於 Postgre SQL 資料庫執行個體的 Aurora Postgre SQL 資料庫已設定為稽核所有使用者和資料庫的相同活動層級。然後,您決定不想要稽核使用者 myuser。您可以myuser使用下列SQL命令關閉的稽核。

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

然後,您可以使用下列查詢來檢查 pgaudit.loguser_specific_settings 欄,以確認參數已設定為 NONE

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

您會看到如下輸出。

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

您可以使用下列命令,在資料庫的工作階段當中關閉特定使用者的記錄。

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

使用下列查詢,針對特定使用者和資料庫組合檢查 pgaudit.log 的 settings 欄。

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;

您會看到類似下列的輸出。

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

在關閉 myuser 的稽核之後,您決定不想要追蹤 mydatabase 的變更。您可以使用下列命令來關閉該特定資料庫的稽核。

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

然後,使用下列查詢來檢查資料庫特定設定資料行,以確認 pgaudit.log 已設定為。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';

您會看到如下輸出。

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

若要將設定回復為 myuser 的預設設定,請使用下列命令:

ALTER USER myuser RESET pgaudit.log;

若要將設定回復為資料庫的預設設定,請使用下列命令。

ALTER DATABASE mydatabase RESET pgaudit.log;

若要將使用者和資料庫重設為預設設定,請使用下列命令。

ALTER USER myuser IN DATABASE mydatabase RESET pgaudit.log;

您也可以將 pgaudit.log 設定為 pgaudit.log 參數的其他允許值之一,將特定事件擷取至日誌。如需詳細資訊,請參閱允許的 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'