本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
從多個帳戶接收 CloudTrail 日誌文件
您可以將多個日誌檔 CloudTrail 交付 AWS 帳戶 到單一 Amazon S3 儲存貯體。例如,您有四個 AWS 帳戶 帳戶識別碼 1111111111、2222222222、333333333333 和 4444444444,而且您想要設定為將這四個帳戶的記錄檔傳遞至屬於帳戶 1111111111 的值區。 CloudTrail 為了達成這個目標,請依序完成下列步驟:
-
在目的地儲存貯體所屬的帳戶 (在此範例中為 111111111111) 中建立追蹤。此時不要為任何其他帳戶建立追蹤。
如需說明,請參閱在主控台中建立追蹤。
-
更新目標值區上的儲存貯體政策,以授與跨帳戶權限。 CloudTrail
如需說明,請參閱設定多帳戶的儲存貯體政策。
-
在您想要記錄其活動的其他帳戶 (在此範例中為 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" } ]