0

可以使用以下指南在 S3 存储桶上将对象记录到 Cloud 跟踪,但这是通过控制台进行的。

https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-cloudtrail-events.html

我一直试图找出一种通过 cli 执行此操作的方法,因为我想为许多存储桶执行此操作,但运气不佳。我在我的帐户上设置了一个新的云跟踪,并希望将其映射到 s3 存储桶以进行对象记录。有这个的cli吗?

# This is to grant s3 log bucket access (no link to cloudtrail here)
aws s3api put-bucket-logging  
4

2 回答 2

3

看起来您需要使用 CloudTrailput_event_selectors()命令:

数据资源

CloudTrail 支持 Amazon S3 对象和 AWS Lambda 函数的数据事件日志记录。

(dict):您在事件选择器中为您的跟踪指定的 Amazon S3 存储桶或 AWS Lambda 函数以记录数据事件。

object-level文档页面中进行搜索。

于 2019-03-27T20:48:00.443 回答
1

免责声明:puji已接受答案中的评论有效。这是该答案与资源的扩展。

这是有关如何通过 AWS CLI 执行此操作的 AWS 文档

https://docs.aws.amazon.com/cli/latest/reference/cloudtrail/put-event-selectors.html

您感兴趣的特定 CLI 命令是上述文档中的以下内容。原始文档列出了同一个存储桶中的两个对象。我已经修改它以覆盖两个桶中的所有对象。

aws cloudtrail put-event-selectors --trail-name TrailName --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::mybucket1/","arn:aws:s3:::mybucket2/"]}]}]'

如果您希望涵盖 AWS 账户中的所有 S3 存储桶,您可以使用arn:aws:s3:::如下所示的存储桶列表来代替。

aws cloudtrail put-event-selectors --trail-name TrailName2 --event-selectors '[{"ReadWriteType": "All","IncludeManagementEvents": true,"DataResources": [{"Type":"AWS::S3::Object", "Values": ["arn:aws:s3:::"]}]}]'
于 2019-09-28T22:32:41.543 回答