如何在 Amazon Redshift 和 Amazon Redshift Serverless 中開啟稽核日誌記錄?

上次更新日期:2022 年 10 月 07 日

我想要為 Amazon Redshift 叢集或 Amazon Redshift Serverless 開啟稽核日誌記錄。該如何進行?

簡短描述

Amazon Redshift 會將系統日誌存放在系統資料表和檢視中,保留期最長可達七天。這些日誌有助於監控資料庫安全,並對資料庫問題進行疑難排解。

若要將日誌存放較長時間,請開啟 Amazon Redshift 的稽核日誌記錄功能。日誌可存放在 Amazon Simple Storage Service (Amazon S3) 儲存貯體或 Amazon CloudWatch 中。Amazon CloudWatch 具有可視覺化稽核日誌記錄資料的功能。

Amazon Redshift 會記錄下列類型日誌中的資訊:

  • 連線日誌 – 記錄驗證嘗試、連線和中斷連線。
  • 使用者日誌 – 記錄資料庫使用者定義變更的相關資訊。
  • 使用者活動日誌 – 記錄在資料庫執行之前的每個查詢。

注意:針對使用者活動日誌,請務必設定參數群組以正確儲存日誌。

解決方案

在 Amazon Redshift 佈建叢集中開啟稽核日誌記錄

若要使用主控台在 Amazon Redshift 佈建叢集中開啟稽核日誌記錄,請執行下列動作:

  1. 開啟 Amazon Redshift 主控台
  2. 在導覽窗格中,選擇 Clusters (叢集),然後選擇您想要更新的叢集。
  3. 選擇 Properties (屬性) 標籤。
  4. Database configurations (資料庫組態) 面板上,選擇 Edit (編輯),然後選擇 Edit audit logging (編輯稽核日誌記錄)。
  5. 針對 Edit audit logging (編輯稽核日誌記錄),選擇 Turn on (開啟),然後選取 S3 bucket (S3 儲存貯體) 或 CloudWatch
    如果選取 S3 bucket (S3 儲存貯體),您可以選擇選擇 existing bucket (現有儲存貯體) 或 Create new bucket (建立新儲存貯體),以存放資料庫稽核日誌。
    如果選取 CloudWatch,則可以從下列日誌類型中選取:連線日誌使用者日誌使用者活動日誌
  6. 選擇 Save changes (儲存變更)。

若要使用 AWS CLI 開啟稽核記錄,請參閱啟用日誌記錄
注意:如果您在執行 AWS CLI 命令時收到錯誤,請確保您使用的是最新版 AWS CLI

以下是執行啟用日誌記錄命令的範例,以將 Amazon S3 儲存貯體作為稽核日誌記錄目的地來開啟稽核日誌記錄:

aws redshift enable-logging --cluster-identifier redshift-cluster-1 --log-destination-type s3  --bucket-name mybucket --s3-key-prefix mybucket/test --region us-east-1

輸出類似於以下內容:

{    “LoggingEnabled”: true,    “BucketName”: “mybucket”,    “S3KeyPrefix”: “mybucket/test/“,    “LastSuccessfulDeliveryTime”: “2022-09-14T12:04:42.558000+00:00"}

注意:在 Amazon S3 儲存貯體或 Amazon CloudWatch 中出現的日誌可能會有所延遲。您可以在叢集屬性中檢查上次成功傳遞日期和時間,以檢查上次執行日誌傳遞的時間。

使用者活動日誌的參數群組

若要記錄使用者活動日誌,請確定已在連接至 Amazon Redshift 叢集的叢集參數群組中,將 enable_user_activity_logging 參數設定為 true

若要開啟 enable_user_activity_logging 參數請執行下列操作:

  1. 建立新參數群組
  2. 修改參數群組,以將 enable_user_activity_logging 參數設定為 true
  3. 修改叢集,以將新參數群組連接至 Amazon Redshift 叢集。

注意:依預設,會將 enable_user_activity_logging 設定為 false,並且無法修改預設參數群組。

如果開啟稽核日誌記錄,但不開啟參數群組中的 enable_user_activity_logging 參數,則會發生下列情況:

  • 資料庫稽核日誌只會存放連線日誌和使用者日誌的資訊
  • 不存放使用者活動日誌

開啟 Redshift Serverless 的稽核日誌記錄

若要開啟 Amazon Redshift Serverless 的稽核日誌記錄,請執行下列操作:

  1. 開啟 Amazon Redshift 主控台
  2. 在導覽窗格中,選擇 Redshift Serverless,然後選擇 Serverless dashboard (Serverless 儀表板)。
  3. 選取要開啟稽核日誌記錄的命名空間
  4. 選擇 Security and Encryption (安全與加密) 索引標籤。
  5. 針對 Security and encryption (安全與加密),選擇 Edit (編輯)。
  6. Export these logs (匯出這些日誌) 中,選取您要儲存在 CloudWatch 中的日誌。您可以從下列日誌類型中選取:使用者日誌連線日誌使用者活動日誌
  7. 選擇 Save changes (儲存變更)。

注意:Amazon Redshift Serverless 無法將日誌匯出至 Amazon S3 儲存貯體。

如需監控稽核日誌的詳細資訊,請參閱在 CloudWatch 中監控日誌事件


此文章是否有幫助?


您是否需要帳單或技術支援?