使用 AWS CloudTrail 進行應用程式日誌記錄和監控 - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 AWS CloudTrail 進行應用程式日誌記錄和監控

AWS CloudTrail 是一種 AWS 服務,可協助您啟用 AWS 帳戶 的營運和風險稽核、控管和合規。使用者、角色或 AWS 服務 所執行的動作會在 CloudTrail 中記錄為事件。事件可以包含在 AWS Management Console、AWS Command Line Interface (AWS CLI) 以及 AWS SDK 和 API 中採取的動作。

使用 CloudTrail

當您建立帳戶時,系統即會在 AWS 帳戶 中啟用 CloudTrail。AWS 帳戶 中發生活動時,該活動會記錄在 CloudTrail 事件中。您可以在 CloudTrail 主控台中前往事件歷史記錄輕鬆地檢視最近事件。

若要持續記錄 AWS 帳戶 中的活動和事件,請建立追蹤。您可以為單一 AWS 區域 或所有區域建立追蹤。追蹤可記錄每個區域中的日誌檔案,CloudTrail 可以將日誌檔案交付至單一合併的 Amazon Simple Storage Service (Amazon S3) 儲存貯體。

您可以分別設定多筆追蹤,以便追蹤只處理和記錄您指定的事件。當您想要將 AWS 帳戶 中發生的事件與應用程式中發生的事件進行分類時,這可能很有用。

注意

CloudTrail 具有驗證功能,您可以使用此功能確定日誌檔案在 CloudTrail 交付後是否已修改、已刪除或保持不變。此功能以產業標準演算法建置:SHA-256 適用於進行雜湊,而含 RSA 的 SHA-256 適用於進行數位簽署。這可透過運算方式防止修改、刪除或偽造 CloudTrail 日誌檔案,而無需偵測。您可以使用 AWS CLI 驗證 CloudTrail 交付檔案之位置中的檔案。如需有關此功能以及如何啟用它的詳細資訊,請參閱驗證 CloudTrail 日誌檔案完整性 (CloudTrail 文件)。

CloudTrail 的使用案例

  • 合規協助 – 使用 CloudTrail 可以透過提供您 AWS 帳戶 中的事件歷史記錄來協助您遵守內部政策和法規標準。

  • 安全分析 – 您可以透過將 CloudTrail 日誌檔案擷取到日誌管理和分析解決方案 (例如 CloudWatch Logs、Amazon EventBridge、Amazon Athena、Amazon OpenSearch Service 或其他第三方解決方案) 來執行安全分析並偵測使用者行為模式。

  • 資料外洩 – 您可以透過 CloudTrail 中記錄的物件層級 API 事件收集 Amazon S3 物件上的活動資料來偵測資料外洩。收集活動資料後,您可以使用其他 AWS 服務 (例如 EventBridge 和 AWS Lambda) 來觸發自動回應。

  • 操作問題疑難排解 – 您可以使用 CloudTrail 日誌檔案對操作問題進行疑難排解。例如,您可以快速識別對環境中的資源所做的最新變更,包括建立、修改和刪除 AWS 資源。

CloudTrail 的最佳實務

  • 在所有 AWS 區域 中啟用 CloudTrail。

  • 啟用日誌檔案完整性驗證。

  • 加密日誌。

  • 將 CloudTrail 日誌檔案擷取到 CloudWatch Logs。

  • 集中所有 AWS 帳戶 和區域的日誌。

  • 將生命週期政策套用至包含日誌檔案的 S3 儲存貯體。

  • 防止使用者關閉 CloudTrail 中的日誌記錄。在 AWS Organizations 中套用下列服務控制政策 (SCP)。此 SCP 為整個組織內的 StopLoggingDeleteTrail 動作設定了明確的拒絕規則。

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudtrail:StopLogging", "cloudtrail:DeleteTrail" ], "Resource": "*", "Effect": "Deny" } ] }