如何在 Amazon Redshift 和 Amazon Redshift Serverless 中開啟稽核記錄功能?

2 分的閱讀內容
0

我想為我的 Amazon Redshift 叢集或 Amazon Redshift Serverless 開啟稽核記錄功能。

簡短說明

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

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

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

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

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

解決方法

在 Amazon Redshift 佈建叢集中開啟稽核記錄功能

若要使用主控台在 Amazon Redshift 佈建叢集中開啟稽核記錄功能,請完成下列步驟:

  1. 開啟 Amazon Redshift 主控台
  2. 在導覽窗格中選擇「叢集」,然後選擇要更新的叢集。
  3. 選擇「屬性」索引標籤。
  4. 在「資料庫組態」面板上選擇「編輯」,然後選擇「編輯稽核記錄」。
  5. 選擇「編輯稽核記錄」中的「開啟」,然後選取「S3 bucket」(S3 儲存貯體) 或「CloudWatch」。
    如果您選取「S3 bucket」(S3 儲存貯體),您可以選擇「現有的儲存貯體」或「建立新的儲存貯體」以儲存資料庫稽核日誌。
    如果您選取「CloudWatch」,則可以從下列日誌類型中加以選取: 連線日誌使用者日誌,以及使用者活動日誌
  6. 選擇「儲存變更」。

若要使用 AWS Command Line Interface (AWS CLI) 開啟稽核記錄功能,請參閱 enable-logging

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請參閱對 AWS CLI 錯誤進行疑難排解。此外,請確定您使用的是最新的 AWS CLI 版本

下列範例說明如何使用 enable-logging 命令開啟稽核記錄功能,並使用 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"}

**注意:**顯示在 S3 儲存貯體或 CloudWatch 中的日誌可能會出現延遲。您可以檢查叢集屬性中的「上次成功交付」日期和時間,以檢查上次執行日誌交付的時間。

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

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

**注意:**在最初建立 Amazon Redshift 叢集時,其會自動與預設參數群組建立關聯。在此組態中,enable_user_activity_logging 參數設定為 false。您無法直接修改預設參數群組本身。

若要開啟 enable_user_activity_logging 參數,請完成下列步驟:

  1. 建立新參數群組
  2. 修改參數群組,將 enable_user_activity_logging 參數設定為 true

若要將新參數群組與叢集建立關聯,請完成下列步驟:

  1. 在導覽窗格中選擇「叢集」。然後選取要修改的叢集。
  2. 選擇「屬性」。
  3. 向下捲動至「參數群組」區段,然後選擇「編輯」。
  4. 從清單中選擇新參數群組。
  5. 選擇「儲存變更」。

修改已與叢集關聯之參數群組中的參數值後,您可能需要重新啟動叢集。您也可能需要將其他參數群組與叢集建立關聯,才能讓更新的參數值生效。如果叢集在維護期間重新啟動,則不會套用變更。

如果您開啟稽核記錄功能,但未開啟參數群組中的 enable_user_activity_logging 參數,則會發生下列情況:

  • 資料庫稽核日誌僅會儲存連線日誌和使用者日誌的資訊
  • 未儲存使用者活動日誌

如需詳細資訊,請參閱 Amazon Redshift 參數群組

開啟 Amazon Redshift Serverless 的稽核記錄功能

若要開啟 Amazon Redshift Serverless 的稽核記錄功能,請完成下列步驟:

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

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

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

相關資訊

資料庫稽核記錄功能

Amazon Redshift Serverless 的稽核記錄功能

AWS 官方
AWS 官方已更新 4 個月前