我想為我的 Amazon Redshift 叢集或 Amazon Redshift Serverless 開啟稽核記錄功能。
簡短說明
Amazon Redshift 會將系統日誌儲存在系統資料表和檢視中,保留期限最長可達七天。這些日誌有助於監控資料庫安全性和疑難排解資料庫問題。
若要延長日誌儲存時間,請開啟 Amazon Redshift 的稽核記錄功能。您可以將日誌儲存在 Amazon Simple Storage Service (Amazon S3) 儲存貯體或 Amazon CloudWatch 中。CloudWatch 具有視覺化稽核記錄資料的功能。
Amazon Redshift 會記錄下列類型的日誌中的資訊:
- 連線日誌 -- 日誌驗證嘗試、連線和中斷連線。
- 使用者日誌 - 記錄資料庫使用者定義變更的相關資訊。
- 使用者活動日誌 - 在資料庫上執行查詢之前記錄每個查詢。
**注意:**對於使用者活動日誌,請確定已設定參數群組以正確儲存日誌。
解決方法
在 Amazon Redshift 佈建叢集中開啟稽核記錄功能
若要使用主控台在 Amazon Redshift 佈建叢集中開啟稽核記錄功能,請完成下列步驟:
- 開啟 Amazon Redshift 主控台。
- 在導覽窗格中選擇「叢集」,然後選擇要更新的叢集。
- 選擇「屬性」索引標籤。
- 在「資料庫組態」面板上選擇「編輯」,然後選擇「編輯稽核記錄」。
- 選擇「編輯稽核記錄」中的「開啟」,然後選取「S3 bucket」(S3 儲存貯體) 或「CloudWatch」。
如果您選取「S3 bucket」(S3 儲存貯體),您可以選擇「現有的儲存貯體」或「建立新的儲存貯體」以儲存資料庫稽核日誌。
如果您選取「CloudWatch」,則可以從下列日誌類型中加以選取: 連線日誌、使用者日誌,以及使用者活動日誌。
- 選擇「儲存變更」。
若要使用 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 參數,請完成下列步驟:
- 建立新參數群組。
- 修改參數群組,將 enable_user_activity_logging 參數設定為 true。
若要將新參數群組與叢集建立關聯,請完成下列步驟:
- 在導覽窗格中選擇「叢集」。然後選取要修改的叢集。
- 選擇「屬性」。
- 向下捲動至「參數群組」區段,然後選擇「編輯」。
- 從清單中選擇新參數群組。
- 選擇「儲存變更」。
修改已與叢集關聯之參數群組中的參數值後,您可能需要重新啟動叢集。您也可能需要將其他參數群組與叢集建立關聯,才能讓更新的參數值生效。如果叢集在維護期間重新啟動,則不會套用變更。
如果您開啟稽核記錄功能,但未開啟參數群組中的 enable_user_activity_logging 參數,則會發生下列情況:
- 資料庫稽核日誌僅會儲存連線日誌和使用者日誌的資訊
- 未儲存使用者活動日誌
如需詳細資訊,請參閱 Amazon Redshift 參數群組。
開啟 Amazon Redshift Serverless 的稽核記錄功能
若要開啟 Amazon Redshift Serverless 的稽核記錄功能,請完成下列步驟:
- 開啟 Amazon Redshift 主控台。
- 在導覽窗格中選擇「Redshift Serverless」,然後選擇「無伺服器儀表板」。
- 選取您要開啟稽核記錄的命名空間。
- 選擇「安全與加密」索引標籤。
- 選擇「安全與加密」中的「編輯」。
- 在「Export these logs」(匯出這些日誌) 中,選取要儲存在 CloudWatch 中的日誌。您可以從下列日誌類型中進行選取: 使用者日誌、連線日誌,以及使用者活動日誌。
- 選擇「儲存變更」。
**注意:**Amazon Redshift Serverless 無法將日誌匯出至 S3 儲存貯體。
如需如何監控稽核日誌的詳細資訊,請參閱 CloudWatch 中的日誌事件。
相關資訊
資料庫稽核記錄功能
Amazon Redshift Serverless 的稽核記錄功能