如何为AWS组织帐户实现集中日志记录



我正在进行一个集中AWS安全日志的项目。我们遇到的问题是我们刚刚启用了组织级别的日志记录。以前,我们将安全平台转换为每个单独的aws帐户。现在我们正在遵循这种做法。这种情况的问题是,我们有多个帐户,多个s3桶,多个cloudwatch日志,多个cloudwatch警报。将所有这些集中到一个单一的"安全"/"组织"中会更容易。帐户。

创建一个单独的aws帐户只是为了日志记录有意义吗?如果是这样,那么创建安全组(security Admin)和安全角色(ops-sec-role)有意义吗?例如,我们可以将安全用户(sec-op-1)添加到组中,以便他们可以在安全帐户中承担角色。理性的存在是遵循角色分离的哲学。

我正在寻找CloudFormation的潜在解决方案,但最好使用terraform来实现。

以前这样做过吗?

是的,拥有一个集中的日志帐户绝对是有意义的。如果你在整个组织中推广它,我建议这实际上是使用CloudFormation堆栈集的最佳时机。

  1. 在主组织帐户中定义一个堆栈集,它将为每个帐户创建日志基础设施,以及它如何转发到中心帐户(IAM角色,Cloudtrail日志,桶复制等)
  2. 将此堆栈集应用于整个组织。这将自动在每个子帐户中创建一个堆栈实例。以后添加的任何新帐户也将自动创建此堆栈。
  3. 使用组织服务控制策略来阻止任何人修改子帐户中的日志基础设施。

您可以在Terraform中做同样的事情,但是您必须编写自己的自动化来将其应用于许多帐户,并且还必须记住或自动运行新的组织帐户。我通常更喜欢使用Terraform来代替IaC,但这是CloudFormation真正发挥作用的少数情况之一。一个混合的方法也可以工作,使用CloudFormation的标准的东西,如CloudTrail和IAM和自定义Terraform的账户有自己的特定需求。

您可能还想看看AWS Control Tower服务,它可以为您自动执行其中一些操作,并应用其他一些安全最佳实践。

来源:我是一名经过认证的AWS解决方案架构师和DevOps工程师。

你们有没有试过塔台服务AWS吗?它在Security OU下为您创建了一个审计和日志帐户,并设置了SNS、lambda、config、s3等来实现日志聚合和审计。它还创建角色,并为您提供从管理员帐户管理用户的控制,还配置Active Directory来管理用户。控制塔服务按照管理组织内多个帐户的最佳标准,即按照架构良好的框架实践。它为你提供了一个沙盒OU,你可以在其中拥有自己的产品、开发账户等。它为你做集中的日志记录和审计,但是你必须为它提供的服务付费。如果你自己编写lambda、配置api、sns等来聚合东西,你可以考虑使用这个服务。也可以配置护栏例如,如果有人删除s3桶,通知等。或者预防性护栏,比如防止任何人从prod环境中删除桶。总的来说,简化了我们的工作。您可以从一个管理员帐户管理所有用户,加上许多服务,如传输网关,路由53规则在帐户之间共享

否则你也可以创建一个cloudformation堆栈,并根据你的需要旋转。

最新更新