Amazon S3 CloudTrail events - Amazon Simple Storage Service

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

Amazon S3 CloudTrail events

重要

Amazon S3 現在會套用伺服器端加密,搭配 Amazon S3 受管金鑰 (SSE-S3) 作為 Amazon S3 中每個儲存貯體的基本加密層級。從 2023 年 1 月 5 日起,所有上傳到 Amazon S3 的新物件都會自動加密,無需額外費用,也不會影響效能。S3 儲存貯體預設加密組態和新物件上傳的自動加密狀態可在 AWS CloudTrail 日誌、S3 庫存、S3 Storage Lens、Amazon S3 主控台,以及 AWS Command Line Interface 和 中的其他 Amazon S3 API回應標頭中使用 AWS SDKs。如需詳細資訊,請參閱預設加密。 FAQ

本節提供有關 S3 記錄到 的事件的資訊 CloudTrail。

中的 Amazon S3 資料事件 CloudTrail

資料事件提供在資源上或在資源中執行的資源操作的相關資訊 (例如,讀取或寫入 Amazon S3 物件)。這些也稱為資料平面操作。資料事件通常是大量資料的活動。根據預設, CloudTrail 不會記錄資料事件。 CloudTrail 事件歷史記錄不會記錄資料事件。

資料事件需支付額外的費用。如需 CloudTrail 定價的詳細資訊,請參閱AWS CloudTrail 定價。

您可以使用 CloudTrail 主控台或 CloudTrail API 操作 AWS CLI來記錄 Amazon S3 資源類型的資料事件。如需如何記錄資料事件的詳細資訊,請參閱 AWS CloudTrail 使用者指南 中的使用 記錄資料 AWS Management Console事件,以及使用 記錄資料事件 AWS Command Line Interface

下表列出您可以記錄資料事件的 Amazon S3 資源類型。資料事件類型 (主控台) 欄顯示從 CloudTrail 主控台上的資料事件類型清單中選擇的值。resources.type 值欄顯示值,您會在使用 AWS CLI 或 設定進階事件選取器時指定該resources.type值 CloudTrail APIs。APIs 記錄到的資料 CloudTrail欄顯示記錄到 CloudTrail 資源類型的API呼叫。

資料事件類型 (主控台) resources.type 值 APIs 記錄到 的資料 CloudTrail
S3 AWS::S3::Object
S3 Express 單區域 AWS::S3Express::Object
S3 存取點 AWS::S3::Access Point
S3 Object Lambda AWS::S3ObjectLambda::AccessPoint
S3 Outposts AWS::S3Outposts::Object

您可以設定進階事件選取器,以在 eventName、 和 resources.ARN 欄位上篩選readOnly,以僅記錄對您重要的事件。如需這些欄位的詳細資訊,請參閱 AdvancedFieldSelectorAWS CloudTrail API參考 中。

中的 Amazon S3 管理事件 CloudTrail

Amazon S3 會將所有控制平面操作記錄為管理事件。如需 S3 API操作的詳細資訊,請參閱 Amazon S3 API參考

如何 CloudTrail 擷取對 Amazon S3 提出的請求

根據預設, 會 CloudTrail 記錄過去 90 天內進行的 S3 儲存貯體層級API呼叫,但不會記錄對物件提出的請求。儲存貯體層級呼叫包括 CreateBucketDeleteBucketPutBucketLifecyclePutBucketPolicy 等事件。您可以在 CloudTrail 主控台上查看儲存貯體層級事件。不過,您無法在那裡檢視資料事件 (Amazon S3 物件層級呼叫),您必須為它們剖析或查詢 CloudTrail日誌。

CloudTrail 記錄追蹤的 Amazon S3 帳戶層級動作

CloudTrail 會記錄帳戶層級動作。Amazon S3 記錄會與日誌檔案中的其他 AWS 服務 記錄一起寫入。 CloudTrail 決定何時根據期間和檔案大小來建立和寫入新檔案。

本節中的資料表列出 支援記錄的 Amazon S3 帳戶層級動作 CloudTrail。

CloudTrail 記錄追蹤的 Amazon S3 帳戶層級API動作會顯示為下列事件名稱。 CloudTrail 事件名稱與API動作名稱不同。例如, DeletePublicAccessBlock 為 DeleteAccountPublicAccessBlock。

CloudTrail 記錄追蹤的 Amazon S3 儲存貯體層級動作

根據預設, 會 CloudTrail 記錄一般用途儲存貯體的儲存貯體層級動作。Amazon S3 記錄會與日誌檔案中的其他 AWS 服務記錄一起寫入。 CloudTrail 根據時段和檔案大小決定何時建立新檔案並寫入。

本節列出 支援記錄的 Amazon S3 儲存貯體層級動作 CloudTrail。

透過 CloudTrail 記錄追蹤的 Amazon S3 儲存貯體層級API動作會顯示為下列事件名稱。在某些情況下, CloudTrail 事件名稱與API動作名稱不同。例如,PutBucketLifecycleConfigurationPutBucketLifecycle

除了這些API操作之外,您也可以使用 OPTIONS 物件物件層級動作。此動作在 CloudTrail 日誌中被視為儲存貯體層級動作,因為該動作會檢查儲存貯體的CORS組態。

CloudTrail 記錄追蹤的 Amazon S3 Express One Zone 儲存貯體層級 (區域API端點) 動作

根據預設, 會將目錄儲存貯體的儲存貯體層級動作 CloudTrail 記錄為管理事件。S3 Express One Zone eventsource 的 CloudTrail 管理事件為 s3express.amazonaws.com

下列區域端點API操作會記錄到 CloudTrail。

如需詳細資訊,請參閱使用 AWS CloudTrail for S3 Express One Zone 登入

跨帳戶案例中的 Amazon S3 物件層級動作

以下是涉及跨帳戶案例中物件層級API呼叫的特殊使用案例,以及 CloudTrail 日誌的回報方式。 CloudTrail 會將日誌傳遞給請求者 (撥打電話的帳戶API),但部分存取遭拒的情況除外,其中日誌項目會遭到編輯或省略。設定跨帳戶存取時,請考慮本節中的範例。

注意

這些範例假設 CloudTrail 日誌已正確設定。

範例 1: CloudTrail將日誌交付給儲存貯體擁有者

CloudTrail 即使儲存貯體擁有者沒有相同物件API操作的許可, 也會將日誌傳遞給儲存貯體擁有者。請考慮下列跨帳戶案例:

  • 帳戶 A 擁有儲存貯體。

  • 帳戶 B (申請者) 嘗試存取該儲存貯體中的物件。

  • 帳戶 C 擁有物件。帳戶 C 可能與 A 帳戶相同,也可能不相同。

注意

CloudTrail 一律將物件層級API日誌交付給請求者 (帳戶 B)。此外,即使儲存貯體擁有者不擁有物件 (帳戶 C) 或在該物件上具有相同API操作的許可, CloudTrail 也會將相同的日誌傳遞給儲存貯體擁有者 (帳戶 A)。

範例 2: CloudTrail 不會傳播用於設定物件的電子郵件地址 ACLs

請考慮下列跨帳戶案例:

  • 帳戶 A 擁有儲存貯體。

  • 帳戶 B (請求者) 會使用電子郵件地址傳送設定物件ACL授予的請求。如需 的詳細資訊ACLs,請參閱 存取控制清單 (ACL) 概觀

請求者會取得日誌與電子郵件資訊。不過,儲存貯體擁有者如果符合接收日誌的資格,如範例 1 所示,就會取得報告事件的 CloudTrail 日誌。不過,儲存貯體擁有者不會取得ACL組態資訊,特別是受讓者電子郵件地址和授予。日誌告知儲存貯體擁有者的唯一資訊是帳戶 B 已進行ACLAPI呼叫。