我想要為 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 佈建叢集中開啟稽核日誌記錄,請執行下列動作:
- 開啟 Amazon Redshift 主控台。
- 在導覽窗格中,選擇 Clusters (叢集),然後選擇您想要更新的叢集。
- 選擇 Properties (屬性) 標籤。
- 在 Database configurations (資料庫組態) 面板上,選擇 Edit (編輯),然後選擇 Edit audit logging (編輯稽核日誌記錄)。
- 針對 Edit audit logging (編輯稽核日誌記錄),選擇 Turn on (開啟),然後選取 S3 bucket (S3 儲存貯體) 或 CloudWatch。
如果選取 S3 bucket (S3 儲存貯體),您可以選擇選擇 existing bucket (現有儲存貯體) 或 Create new bucket (建立新儲存貯體),以存放資料庫稽核日誌。
如果選取 CloudWatch,則可以從下列日誌類型中選取:連線日誌、使用者日誌和使用者活動日誌。
- 選擇 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 參數**,**請執行下列操作:
- 建立新參數群組。
- 修改參數群組,以將 enable_user_activity_logging 參數設定為 true。
- 修改叢集,以將新參數群組連接至 Amazon Redshift 叢集。
**注意:**依預設,會將 enable_user_activity_logging 設定為 false,並且無法修改預設參數群組。
如果開啟稽核日誌記錄,但不開啟參數群組中的 enable_user_activity_logging 參數,則會發生下列情況:
- 資料庫稽核日誌只會存放連線日誌和使用者日誌的資訊
- 不存放使用者活動日誌
開啟 Redshift Serverless 的稽核日誌記錄
若要開啟 Amazon Redshift Serverless 的稽核日誌記錄,請執行下列操作:
- 開啟 Amazon Redshift 主控台。
- 在導覽窗格中,選擇 Redshift Serverless,然後選擇 Serverless dashboard (Serverless 儀表板)。
- 選取要開啟稽核日誌記錄的命名空間。
- 選擇 Security and Encryption (安全與加密) 索引標籤。
- 針對 Security and encryption (安全與加密),選擇 Edit (編輯)。
- 在 Export these logs (匯出這些日誌) 中,選取您要儲存在 CloudWatch 中的日誌。您可以從下列日誌類型中選取:使用者日誌、連線日誌和使用者活動日誌。
- 選擇 Save changes (儲存變更)。
**注意:**Amazon Redshift Serverless 無法將日誌匯出至 Amazon S3 儲存貯體。
如需監控稽核日誌的詳細資訊,請參閱在 CloudWatch 中監控日誌事件。
相關資訊
資料庫稽核日誌記錄
Amazon Redshift Serverless 的稽核日誌記錄