【问题标题】:Finding & Appending bucket to Cloudtrail logging查找存储桶并将其附加到 Cloudtrail 日志记录
【发布时间】:2020-05-28 09:42:19
【问题描述】:

一位同事创建并设置了一个有效的 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,然后一旦我找到它,就把这个存储桶附加到记录器中。

【问题讨论】:

  • 将存储桶附加到 Cloudtrail 是什么意思?您想在这里实现什么目标?
  • 当我创建一个新的存储桶时,我需要它使用创建的名为“logger”的 cloudtrail 资源(上面的代码)打开对象级日志记录。 terraform 网站上的每个示例都让您在创建 cloudtrail 资源时添加存储桶,但我需要一些相反的东西,将此存储桶添加到该资源的规范中。

标签: amazon-web-services terraform terraform-provider-aws amazon-cloudtrail


【解决方案1】:

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

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

根据terraform's documentation,需要单独开启数据事件。

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

来自their documentation,这将是更合适的 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-01-17
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 2021-10-18
    • 2017-07-10
    • 1970-01-01
    • 2018-12-30
    • 1970-01-01
    相关资源
    最近更新 更多