配置CloudTrail和Config日志跨AWS账户日志存储

Hello大家好,欢迎回来,我们今天的视频课程内容是集中式日志存储,从头开始将一个AWS账户中的CloudTrail和AWS Config日志转发到另外一个作为集中日志存储账户的S3存储桶中。

这个是接下来演示采用的架构,上节课已经介绍过了,使用两个AWS账户,在后面的演示中我们统一把左边的账户称为中央账户或者ACCOUNT A,将右边的账户称为ACCOUNT B。我们最终的目标是要让ACCOUNT B的config和CloudTrail日志集中存储至中央账户的S3对应的两个存储桶中。

所以首先,我们现在要做的是在左边的中央账户中创建S3存储桶,我们现在登陆下左边的中央账户管理控制台。

创建存储桶

我们现在已经登陆了中央账户管理控制台,0960是我们中央账户的账户ID后四位

然后进入到S3,开始创建存储桶。

我们先创建一个iloveaws-central-cloudtrail存储桶,负责存储来自其他账户也就是account b的cloudtrail日志。
我们在创建一个iloveaws-central-config的存储桶,也是负责存储来自account b的 aws config日志。

现在两个存储桶就都成功创建了。

创建跟踪

接下来我们要做的是配置将account b的cloudtrail日志转发到存储桶。

切换到account b,打开Cloudtrail控制台,创建跟踪。跟踪名称的话我们个它起一个iloveawscn-account2732,然后到存储位置部分,默认情况下他会创建一个新的存储桶,我们选择否,然后必须指定存储桶名称,我们输入中央账户的存储桶名称iloveaws-central-cloudtrail,在创建跟踪前,我们还需要在做一项配置,我们看下PPT。

我们现在想要将account b的cloudtrail日志转发到account a的central-cloudtrail这个存储桶 ,在转发日志前在中央账户的cloudtrail存储桶要配置相应的的存储桶策略,允许account b 的cloudtrail日志写入存储桶。

所以让我们现在切换到中央账户的s3控制台,进入cloudtrail存储桶,我们需要到权限这里,创建一个存储桶策略。

我们已经提前准备好了策略内容,这个策略我们会附在课程后面,大家可以直接使用。

建立存储桶策略

{
“Version”: “2012-10-17”,
“Statement”: [
{
“Sid”: “AWSCloudTrailAclCheck20150319”,
“Effect”: “Allow”,
“Principal”: {
“Service”: “cloudtrail.amazonaws.com”
},
“Action”: “s3:GetBucketAcl”,
“Resource”: “arn:aws:s3:::iloveawscn-central-config”
},
{
“Sid”: “AWSCloudTrailWrite20150319”,
“Effect”: “Allow”,
“Principal”: {
“Service”: “cloudtrail.amazonaws.com”
},
“Action”: “s3:PutObject”,
“Resource”: “arn:aws:s3:::iloveawscn-central-config/*”,
“Condition”: {
“StringEquals”: {
“s3:x-amz-acl”: “bucket-owner-full-control”
}
}
}
]
}
我们现在将策略复制到这里,策略要做一些修改,在复制完成后你需要修改resource部分,将这里替换为您的存储桶的arn,arn
在策略的上方。我们现在替换下,注意要替换两个位置,还要注意一点的是,在putobject的arn地址后面,需要保留斜杠和星号,否则会出问题,然后我们保存策略。

我们在看下策略内容,策略定义了两个动作,允许GetBucketAcl和s3:PutObject。然后principal委托人,我们配置的内容为cloudtrail.amazonaws.com,配置的是cloudtrail的一个dns域名,这对于cloudtrail是可以工作的。如果你有一个EC2在其他账户,然后想要在中央账户中保存日志,您就必须在这里指定account id。在这个演示案例中,我们指定了principal是AWS 的cloudtrail服务,不需要明确指定账户id。

接下来我们复制这个策略,将策略附加到另一个s3存储桶中,也就是用于保存aws config日志的存储桶。
复制完成后我们修改下策略中的service内容,将它修改成config.amazonaws.com。然后将resource的arn修改为这个存储桶的arn,我们复制一下。同样注意putobject的resource地址的最后面要保留/*,然后保存。

好的,现在我们有了2个存储桶,分别作为存储其他账户也就是account b的aws config和cloudtrail日志,而且我们分别为两个存储桶创建了存储桶策略,策略的内容是允许cloudtrail和config日志存储至相应的存储桶。

现在我们再次切换到accout b 账户,回到创建跟踪步骤,我们之前已经填入了中央账户的存储桶名称,我们继续,创建。
创建完成后会在跟踪这里出现创建的跟踪的详细信息。现在cloudtrail就配置就配置完成了。

配置 AWS Config

接下来我们快速配置下AWS config的日志部分
来到AWS config控制台,开始配置

在S3存储桶配置部分,可以创建存储桶,可以选择在现在这个账户的已经存在存储桶,可以从另外账户选择存储桶,我们选择第三个,然后输入我们在中央账户创建好的用于存储config的存储桶名称:,下一步,跳过规则,下一步然后确认。

资源发现需要一些时间,我们现在就已经配置完成了,让我们切换到中央账户

以上,我们完成了cloudtrail和config日志的配置,现在我们要做的是到中央账户s3中,看一下日志的生成情况。

检查日志转发情况

进入到中央账户S3控制台,先进入到config存储桶,我们看到有一个新建的AWSlogs文件夹,进去后会看到发送config 日志的账户的账户id,就是我们account b的账户id,在继续会发现一个checkfile。在aws config配置中指定存储桶后,aws config会生成一个checkfile到这个存储桶中,用以检测所需相应的权限是否已经正确配置。所以当我们配置完成后,如果能看到存储桶中已经正确生成了checkfile,说明我们的配置是没有问题的,当有新的config日志生成发送到我们中央账户存储桶时,也一样能够正确的写入并存储。所以checkfile是一个快速确认配置的一个方式。因为生成account b 的config日志还需要等待一些时间,我们这里就没必要等了。

同样我们来到中央账户用于集中存储cloudtrail的S3存储桶ioveaws-central-cloudtrail,然后依次进入目录,可以看到已经有从我们的其他账户也就是account b的cloudtrail日志生成并写入到中央账户的存储桶了。我们已经在中央账户的两个存储桶中成功的收到了来自其他账户也就是account b的cloudtrail和aws config日志。

以上就是我们今天的课程内容, 我们演示了配置clouidtrail和aws config日志,实现了跨aws账户日志存储,将其他账户的日志存储到了中央账户存储桶。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问,请联系我们:

  • 如果您想获取本课程全部课时,请扫PPT的二维码加入。
  • AWS爱好者的网址是www.iloveaws.cn,认证视频课程,免费的认证考试仿真题以及认证课程文章,都可以在网站找得到
  • 可以通过扫码加入【AWS爱好者】微信公众号,查看原创的AWS知识点相关文章。
  • 加入【AWS爱好者】微信群,和其他同学一起备考,以及探讨交流AWS相关知识。
  • 我们今天的视频课程就到这里,感谢大家的观看,我们下一课程再见。
2022年12月21日

0 responses on "配置CloudTrail和Config日志跨AWS账户日志存储"

Leave a Message

Setup Menus in Admin Panel

error: Content is protected !!