稽核資料庫物件 - Amazon Relational Database Service

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

稽核資料庫物件

RDS適用於 Postgre 資料庫執行個體的 Aurora Postgre 資SQL料SQL庫上 pgAudit 設定並針對您的需求進行設定後,將在 Post SQL gre 記錄中擷取更詳細的資訊。例如,雖然預設 Postgre SQL 記錄組態會識別在資料庫表格中進行變更的日期和時間,但記錄項目可以包括結構描述、進行變更的使用者,以及其他詳細資訊 (視擴充功能參數的設定方式而定)。pgAudit您可以將稽核設定為以下列方式追蹤變更。

  • 對於每個工作階段,依使用者。對於工作階段層級,您可以擷取完整的命令文字。

  • 對於每個物件,依使用者和資料庫。

在系統上建立 rds_pgaudit 角色,然後將此角色新增至自訂參數群組中的 pgaudit.role 參數時,便會啟用物件稽核功能。根據預設,未設定 pgaudit.role 參數,且唯一允許的值為 rds_pgaudit。下列步驟假設 pgaudit 已初始化,且您已遵循設定 pgAudit 擴充功能中的程序建立 pgaudit 擴充功能。

設定後的後記SQL錄檔的影像。pgAudit

如此範例所示,"LOG:AUDIT:SESSION" 行提供有關資料表及其結構定義的資訊,以及其他詳細資訊。

設定物件稽核
  1. 用於連線psql至您的 。 RDS對於後置SQL數據庫實例。

    psql --host=your-instance-name.aws-region.rds.amazonaws.com --port=5432 --username=postgrespostgres --password --dbname=labdb
  2. 使用下列命令建立名為 rds_pgaudit 的資料庫角色。

    labdb=> CREATE ROLE rds_pgaudit; CREATE ROLE labdb=>
  3. 關閉 psql 工作階段。

    labdb=> \q

    在接下來的幾個步驟中,使用 AWS CLI ,以修改自訂參數群組中的稽核記錄參數。

  4. 使用以下 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" \ --region aws-region
  5. 使用以下 AWS CLI 此指令可將適用於 Postgre 資料庫入器執行個體重新啟動,以便對參數所做的變更生效。SQL

    aws rds reboot-db-instance \ --db-instance-identifier your-instance \ --region aws-region
  6. 執行下列命令來確認 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(詳見) GitHub。