将特定日志从 AWS Cloudtrail 移动到 S3

Moving specific Logs from AWS Cloudtrail to S3

t我想将 Cloudtrail 日志(特别是当秘密管理器密钥轮换时)发送到 S3 存储桶。我们已经在 Cloudtrail 中有了日志,是否有一种简单的方法可以将 Cloudtrail 配置为在发生这些日志时立即将这些日志发送到 S3?我正在考虑设置一个按 CRON 计划运行的 Lambda 函数来为我执行此操作,但是否有更简单的方法?

有一种稍微简单的方法,虽然不一定具有成本效益(取决于您的情况)并且您不会避免使用 Lambda。您可以为您的跟踪启用 CloudWatch 导出,而不是设置 cron,您可以从中设置 Lambda 订阅过滤器。这样一来,您就可以将所需的事件准确地导出到 S3(不必将过滤器编码为函数)。但是 - 您必须为 CloudWatch Logs 支付额外费用,因此如果您的足迹很大,这不是一个好的选择。

如果您想在发生时从 CT 实时获取特定事件,那么您应该为它们设置 CloudWatch 事件规则

规则可以是:

{
  "source": [
    "aws.secretsmanager"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "secretsmanager.amazonaws.com"
    ],
    "eventName": [
      "RotateSecret"
    ]
  }
}

为您选择的 S3 存储桶设置 Firehose 传输流 目标。