本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 pgAudit 擴充功能
若要在 Postgre 資料庫執行個體 Aurora Postgre SQL 資料SQL庫叢集上設定 pgAudit 擴充功能,RDS請 資料庫執行個體新增 pgAudit 至自訂資料庫參數群組上的共用程式庫。RDS 如需建立自訂資料庫叢集參數群組的相關資訊,請參閱 的參數組 RDS。接下來,安裝 pgAudit 擴展程序。最後,您會指定要稽核的資料庫和物件。本節中的程序展示做法。您可以使用 AWS Management Console 或 AWS CLI.
您必須具有做為 rds_superuser
角色的許可,才能執行所有這些任務。
以下步驟假設 RDS與自訂資料庫參數群組相關聯。
若要設定 pgAudit 擴充功能
登入 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/
。 -
在瀏覽窗格中,RDS為 Postgre 資料庫執行個體選擇 。SQL
-
開啟 的組態索引標籤。RDS對於後置SQL數據庫實例。在執行個體詳細資訊之間,尋找 Parameter group (參數群組) 連結。
-
選擇連結以開啟與您的 相關聯的自訂參數。RDS對於後置SQL數據庫實例。
-
在 Parameters (參數) 搜尋欄位中,輸入
shared_pre
以尋找shared_preload_libraries
參數。 -
選擇 Edit parameters (編輯參數) 以存取屬性值。
-
在 Values (值) 欄位中,將
pgaudit
新增至清單。使用逗號區隔值清單中的項目。 重新啟動RDS適用於 Postgre 入器執行個體,以便您對
shared_preload_libraries
參數的變更生效。當執行個體可用時,請確認是否pgAudit已初始化。用RDS於連線
psql
至 Postgre SQL 資料庫執行個體,然後執行下列命令。SHOW shared_preload_libraries;
shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)
pgAudit 初始化後,您現在可以創建擴展名。您必須在初始化程式庫之後建立擴充功能,因為
pgaudit
擴充功能會安裝稽核資料定義語言 (DDL) 陳述式的事件觸發器。CREATE EXTENSION pgaudit;
關閉
psql
工作階段。labdb=>
\q
登入 AWS Management Console 並在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/
。 在清單中尋找
pgaudit.log
參數,並設定為適合您使用案例的適當值。例如,將pgaudit.log
參數設定為write
(如下圖所示) 會擷取日誌的插入、更新、刪除,以及其他一些類型的變更。您也可以針對
pgaudit.log
參數選擇下列其中一個值。none – 這是預設值。不會記錄任何資料庫變更。
all – 記錄一切 (read、write、function、role、ddl、misc)。
ddl — 記錄
ROLE
類別中未包含的所有資料定義語言 (DDL) 陳述式。function – 記錄函數呼叫和
DO
區塊。misc – 記錄其他命令,例如
DISCARD
、FETCH
、CHECKPOINT
、VACUUM
和SET
。read – 來源為關聯 (例如資料表) 或查詢時,記錄
SELECT
和COPY
。role – 記錄與角色和權限相關的陳述式,例如
GRANT
、REVOKE
、CREATE ROLE
、ALTER ROLE
和DROP ROLE
。write – 目的地為關聯 (資料表) 時,記錄
INSERT
、UPDATE
、DELETE
、TRUNCATE
和COPY
。
選擇 Save changes (儲存變更)。
在打開 Amazon RDS 控制台https://console.aws.amazon.com/rds/
。 從資料庫清單中選擇適用於 入器執行個體
若要設定 pgAudit
若要 pgAudit 使用 AWS CLI,您可以呼叫modify-db-parameter-group作業來修改自訂參數群組中的稽核記錄參數,如下列程序所示。
使用以下內容 AWS CLI 要新增
pgaudit
至shared_preload_libraries
參數的指令。aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=shared_preload_libraries,ParameterValue=pgaudit,ApplyMethod=pending-reboot" \ --regionaws-region
-
使用以下內容 AWS CLI 命令重新啟動適用於 Postgre 資料庫入器執行個體,以便初始化 pgaudit 程式庫。SQL
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region
當執行個體可用時,您可以驗證
pgaudit
是否已初始化。用RDS於連線psql
至 Postgre SQL 資料庫執行個體,然後執行下列命令。SHOW shared_preload_libraries;
shared_preload_libraries -------------------------- rdsutils,pgaudit (1 row)
pgAudit 初始化後,您現在可以創建擴展名。
CREATE EXTENSION pgaudit;
關閉工
psql
作階段,以便您可以使用 AWS CLI.labdb=>
\q
使用以下內容 AWS CLI 命令來指定要通過會話審核日誌記錄記錄的語句類。此範例會將
pgaudit.log
參數設定為write
,此參數會擷取日誌的插入、更新和刪除操作。aws rds modify-db-parameter-group \ --db-parameter-group-name
custom-param-group-name
\ --parameters "ParameterName=pgaudit.log,ParameterValue=write
,ApplyMethod=pending-reboot" \ --regionaws-region
您也可以針對
pgaudit.log
參數選擇下列其中一個值。none – 這是預設值。不會記錄任何資料庫變更。
all – 記錄一切 (read、write、function、role、ddl、misc)。
ddl — 記錄
ROLE
類別中未包含的所有資料定義語言 (DDL) 陳述式。function – 記錄函數呼叫和
DO
區塊。misc – 記錄其他命令,例如
DISCARD
、FETCH
、CHECKPOINT
、VACUUM
和SET
。read – 來源為關聯 (例如資料表) 或查詢時,記錄
SELECT
和COPY
。role – 記錄與角色和權限相關的陳述式,例如
GRANT
、REVOKE
、CREATE ROLE
、ALTER ROLE
和DROP ROLE
。write – 目的地為關聯 (資料表) 時,記錄
INSERT
、UPDATE
、DELETE
、TRUNCATE
和COPY
。
使用以下方法重新啟動RDS適用於 Postgre SQL 資料庫執行個體的 Aurora Postgre SQL 資料庫 AWS CLI 指令。
aws rds reboot-db-instance \ --db-instance-identifier
your-instance
\ --regionaws-region