從多個帳戶接收 CloudTrail 日誌文件 - AWS CloudTrail

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

從多個帳戶接收 CloudTrail 日誌文件

您可以將多個日誌檔 CloudTrail 交付 AWS 帳戶 到單一 Amazon S3 儲存貯體。例如,您有四個 AWS 帳戶 帳戶識別碼 1111111111、2222222222、333333333333 和 4444444444,而且您想要設定為將這四個帳戶的記錄檔傳遞至屬於帳戶 1111111111 的值區。 CloudTrail 為了達成這個目標,請依序完成下列步驟:

  1. 在目的地儲存貯體所屬的帳戶 (在此範例中為 111111111111) 中建立追蹤。此時不要為任何其他帳戶建立追蹤。

    如需說明,請參閱在主控台中建立追蹤

  2. 更新目標值區上的儲存貯體政策,以授與跨帳戶權限。 CloudTrail

    如需說明,請參閱設定多帳戶的儲存貯體政策

  3. 在您想要記錄其活動的其他帳戶 (在此範例中為 222222222222、333333333333 和 444444444444) 中建立追蹤。當在每個帳戶中建立追蹤時,請指定屬於您在步驟 1 中指定之帳戶 (在此範例中為 111111111111) 的 Amazon S3 儲存貯體。如需說明,請參閱在其他帳戶中建立追蹤

    注意

    如果您選擇啟用 SSE-KMS 加密,KMS 金鑰原則必須允許 CloudTrail 使用金鑰來加密記錄檔,並允許您指定的使用者以未加密格式讀取記錄檔。如需手動編輯金鑰政策的資訊,請參閱「設定 AWS KMS 金鑰原則 CloudTrail」。

編輯其他帳戶呼叫之資料事件的儲存貯體擁有者帳戶 ID

從歷史上看,如果在 Amazon S3 CloudTrail 資料事件 API 呼叫者中啟用了資料事件,則會在資料事件中 CloudTrail 顯示 S3 儲存貯體擁有者的帳戶 ID (例如PutObject)。 AWS 帳戶 即使儲存貯體擁有者帳戶沒有啟用 S3 資料事件,仍會發生此情況。

現在,如果符合下列兩個條件,則 CloudTrail 移除resources區塊中 S3 儲存貯體擁有者的帳戶 ID:

  • 資料事件 API 呼叫的來自不同 AWS 帳戶 於 Amazon S3 儲存貯體擁有者。

  • API 呼叫者收到僅適用於呼叫者帳戶的 AccessDenied 錯誤。

進行 API 呼叫的資源的擁有者仍然收到完整的事件。

以下事件記錄片段為預期行為的範例。在 Historic 片段中,S3 儲存貯體擁有者的帳戶 ID 123456789012 顯示給來自不同帳戶 API 呼叫者。在當前行為範例中,並未顯示儲存貯體擁有者的帳戶 ID。

# Historic "resources": [ { "type": "AWS::S3::Object", "ARNPrefix": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/" }, { "accountId": "123456789012", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2" } ]

以下為當前行為。

# Current "resources": [ { "type": "AWS::S3::Object", "ARNPrefix": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2/" }, { "accountId": "", "type": "AWS::S3::Bucket", "ARN": "arn:aws:s3:::DOC-EXAMPLE-BUCKET2" } ]