本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
稽核資料庫物件
在RDS適用於 Postgre 資料庫執行個體的 Aurora Postgre 資SQL料SQL庫上 pgAudit 設定並針對您的需求進行設定後,將在 Post SQL gre 記錄中擷取更詳細的資訊。例如,雖然預設 Postgre SQL 記錄組態會識別在資料庫表格中進行變更的日期和時間,但記錄項目可以包括結構描述、進行變更的使用者,以及其他詳細資訊 (視擴充功能參數的設定方式而定)。pgAudit您可以將稽核設定為以下列方式追蹤變更。
對於每個工作階段,依使用者。對於工作階段層級,您可以擷取完整的命令文字。
對於每個物件,依使用者和資料庫。
在系統上建立 rds_pgaudit
角色,然後將此角色新增至自訂參數群組中的 pgaudit.role
參數時,便會啟用物件稽核功能。根據預設,未設定 pgaudit.role
參數,且唯一允許的值為 rds_pgaudit
。下列步驟假設 pgaudit
已初始化,且您已遵循設定 pgAudit 擴充功能中的程序建立 pgaudit
擴充功能。
如此範例所示,"LOG:AUDIT:SESSION" 行提供有關資料表及其結構定義的資訊,以及其他詳細資訊。
設定物件稽核
用於連線
psql
至您的 。 RDS對於後置SQL數據庫實例。psql --host=
your-instance-name
.aws-region
.rds.amazonaws.com --port=5432 --username=postgres
postgres --password --dbname=labdb
-
使用下列命令建立名為
rds_pgaudit
的資料庫角色。labdb=>
CREATE ROLE rds_pgaudit;
CREATE ROLE
labdb=>
關閉
psql
工作階段。labdb=>
\q
在接下來的幾個步驟中,使用 AWS CLI ,以修改自訂參數群組中的稽核記錄參數。
-
使用以下 AWS CLI 用於將
pgaudit.role
參數設定為的指令rds_pgaudit
。根據預設,此參數是空的,且rds_pgaudit
是唯一允許的值。aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=pgaudit.role,ParameterValue=rds_pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region
-
使用以下 AWS CLI 此指令可將適用於 Postgre 資料庫入器執行個體重新啟動,以便對參數所做的變更生效。SQL
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
執行下列命令來確認
pgaudit.role
已設定為rds_pgaudit
。SHOW pgaudit.role;
pgaudit.role ------------------ rds_pgaudit
若要測試 pgAudit 記錄,您可以執行數個要稽核的範例命令。例如,您可以執行下列命令。
CREATE TABLE t1 (id int); GRANT SELECT ON t1 TO rds_pgaudit; SELECT * FROM t1;
id ---- (0 rows)
資料庫記錄應包含類似以下的項目。
...
2017-06-12 19:09:49 UTC:...:rds_test@postgres:[11701]:LOG: AUDIT:
OBJECT,1,1,READ,SELECT,TABLE,public.t1,select * from t1;
...
如需有關檢視日誌的資訊,請參閱 監控 Amazon RDS Amazon 日誌檔。
有關 pgAudit 擴展程序的更多信息,請參閱 pgAudit