0

一位同事创建并设置了一个有效的 Cloudtrail 记录器:

resource "aws_cloudtrail" "cloudtrail" {                                       
  name                          = "logger"
  s3_bucket_name                = "bucket-name"
  include_global_service_events = true
  enable_logging                = true
  is_multi_region_trail         = true
  enable_log_file_validation    = true
}

现在我创建了一个存储桶,当我转到 AWS GUI 时,我可以看到“记录器”作为存储桶对象级别日志记录的一个选项。但是,当我用 terraform 为我的一生创建存储桶时,我无法弄清楚如何“找到”这个 cloudtrail,然后一旦我找到它,就把这个存储桶附加到记录器上。

4

1 回答 1

0

CloudTrail 有两种主要类型的事件: * 管理事件:在 S3 的情况下是存储桶级操作,以及 * 数据事件:在 S3 的情况下是对象级操作。

鉴于您需要在打开对象级日志记录的情况下创建新存储桶,那么您需要创建启用数据事件的 CloudTrail Trail。

根据terraform 的文档,您需要单独启用数据事件。

(根据 CloudTrail 的文档,数据事件是通过PutEventSelectors启用的。)

根据他们的文档,这将是更合适的 CloudTrail 配置,以在所有 S3 存储桶上启用 S3 对象级别日志记录:

resource "aws_cloudtrail" "cloudtrail" {                                       
  name                          = "logger"
  s3_bucket_name                = "bucket-name"
  include_global_service_events = true
  enable_logging                = true
  is_multi_region_trail         = true
  enable_log_file_validation    = true

  event_selector {
    read_write_type           = "All" # Include read and write events
    include_management_events = true  # Include management events as well

    data_resource {
      type = "AWS::S3::Object"
      values = ["arn:aws:s3:::"]
    }
  }
}
于 2020-05-28T01:42:19.873 回答