使用 CloudWatch Unified Data Store 的安全可视性 Dashboard
Amazon CloudWatch Unified Data Store 提供了一种集中方式来发现、组织和查询跨 AWS 服务的日志数据,无需知道各个日志组名称。为实现这一点,CloudWatch Unified Data Store 使用 facets — 日志数据中的字段,CloudWatch 将其呈现用于交互式过滤、分组和分析。默认 facets(如 @data_source_name、@data_source_type 和 @data_format)在所有 Standard 日志类别的日志组上自动可用,无需任何配置。在 CloudWatch Logs Insights 控制台中,您可以选择 facet 值来直观地探索数据,或在查询中引用它们以高效地将搜索范围缩小到仅匹配的日志组和事件。
通过这些 facets,CloudWatch 自动按源数据源对日志进行分类 — 如 AWS CloudTrail 和 Amazon VPC Flow Logs — 这样您就可以使用 @data_source_name facet 跨日志组查询所有 CloudTrail 或 VPC Flow Log 日志数据,无论存在多少日志组或它们的名称是什么。
借助 CloudWatch Cross-account cross-Region log centralization,您可以在此基础上构建安全分析。本指南介绍了如何通过 AWS CloudFormation 部署预构建的 CloudWatch Dashboard 示例,该示例利用 CloudWatch 数据源提供对 CloudTrail 和 VPC Flow Logs 活动的近实时可见性。它解释了每个 widget 提供的内容,并描述了如何使用 dashboard 进行安全监控、事件调查和合规可见性。
为什么这个 Dashboard 很重要
安全团队需要集中的、近实时的 API 活动和网络流量可见性,覆盖所有 AWS 账户。如果没有集中的 dashboard,团队必须手动在多个日志组中运行查询、关 联 CloudTrail 和 VPC Flow Logs 之间的数据,并从不同来源拼凑安全上下文。
此 dashboard 解决了几个关键挑战:
- 不依赖日志组名称:使用
SOURCE logGroups() | filterIndex @data_source_name通过 CloudWatch Unified Data Store 默认 facets 动态发现 CloudTrail 和 VPC Flow Logs,无论日志组在您的账户中叫什么名字。 - 双格式支持:根据您的日志格式偏好部署 Standard(原生 AWS 字段名)或 OCSF(Open Cybersecurity Schema Framework)版本的 dashboard。
- 跨服务关联:将 CloudTrail API 活动和 VPC Flow Log 网络数据并排放置,以便对安全事件进行可视化关联。
- 跨账户可移植:相同的 CloudFormation 模板可在任何将 CloudTrail 和 VPC Flow Logs 流入 CloudWatch Logs 的账户中工作,无需更改日志组名称参数。
先决条件
在部署之前,验证您的账户是否具有所需的数据源:
aws logs list-aggregate-log-group-summaries --group-by DATA_SOURCE_NAME_AND_TYPE
您应该在输出中看到 aws_cloudtrail 和 amazon_vpc 的条目。如果缺失,请确保:
- CloudTrail 已配置为将日志传送到 CloudWatch Logs。
- VPC Flow Logs 已配置为至少为一个 VPC 传送到 CloudWatch Logs。
部署 Dashboard
- 下载 CloudWatch_Dashboard_CloudTrail_VPC.yaml 模板。
- 导航到 CloudFormation → Create stack → With new resources。
- 上传
CloudWatch_Dashboard_CloudTrail_VPC.yaml模板。 - 配置参数:
- DashboardName:您的 dashboard 名称(默认:
CloudTrail-VPC-Dashboard)。 - LogFormat:选择
Standard使用原生 AWS CloudTrail/VPC Flow Log 字段名,或选择OCSF使用 Open Cybersecurity Schema Framework 规范化字段。
- DashboardName:您的 dashboard 名称(默认:
- 审查并创建堆栈。
CloudFormation 参数
| 参数 | 默认值 | 描述 |
|---|---|---|
DashboardName | CloudTrail-VPC-Dashboard | CloudWatch dashboard 的名称 |
LogFormat | Standard | Standard(原生 AWS 字段)或 OCSF(规范化 schema) |
查询工作原理
此 dashboard 中的每个 CloudWatch Logs Insights 查询都使用相同的模式:
SOURCE logGroups() | filterIndex @data_source_name in ["aws_cloudtrail"]
| <your query logic here>