产品展示

Our Projects

使用生成性 AI 在 Security Lake 和 Amazon Q 中创建安全可观察性 安全博客

产品展示

使用生成性 AI 在 Security Lake 和 Amazon Q 中创建安全可观察性 安全博客

2026-01-27 13:09:58 9

使用生成式 AI 和 Security Lake 以及 Amazon Q 在 QuickSight 中创建安全可观察性

由 Priyank Ghedia、Anthony Harvey 和 Matt Meck 撰写于 2024 年 9 月 16 日,发布于 Advanced (300)、Amazon Q、Amazon QuickSight、Amazon Security Lake、AWS CloudTrail、AWS Lake Formation、AWS Security Hub、安全、身份与合规

关键要点

本文介绍了使用 Amazon Q 和 Amazon QuickSight 在 AWS Security Lake 中生成安全可观察性。该解决方案可通过自然语言查询 CloudTrail 和 VPC 流日志,提高检测与响应的效率。通过 Security Lake,可以自动化集中管理安全数据,并采用 OCSF 格式进行标准化处理。示范了如何搭建一个完全无服务器的数据查询架构,从而快速生成可视化分析。

生成式人工智能AI在现代快速发展的科技环境中越来越受欢迎,用户可以通过输入提示获取问题答案、编写代码、创作图像、改善写作以及综合信息。随着人们对生成式 AI 的适应,企业也在寻求将这些概念应用于其使用案例,以简单、可扩展和经济高效的方式满足各种需求。这种需求在许多安全领域中同样适用。例如,安全主管希望能以自然语言概述其安全态势,安全架构师则需对警报或发现进行分类,并调查 AWS CloudTrail 日志,以识别优先 remediation 行动或检测潜在威胁气魄。这些用例的解决方案有多种部署方法。

在本文中,我们回顾了一种完全无服务器的解决方案,利用 自然语言人类语言通过 Amazon Q 在 QuickSight 中查询存储在 Amazon Security Lake 中的数据。该解决方案有多种用例,例如生成可视化和查询有关漏洞管理的信息,使用像 Amazon Inspector 这样的工具,数据可流入 AWS Security Hub。该解决方案帮助减少从检测到调查的时间,使用自然语言对 CloudTrail 日志和 Amazon 虚拟私有云 (VPC) 流日志 进行查询,从而快速应对环境中的威胁。

解决方案概述

该解决方案使用 Security Lake 作为数据湖,其本地支持 CloudTrail、VPC 流日志和 Security Hub 发现如图 1 所示。这些源的日志将发送到您 AWS 账户中的 S3 存储桶,并由 Security Lake 维护。接着,我们从由 Security Lake 为 Security Hub 发现、CloudTrail 日志和 VPC 流日志创建的表中创建 Amazon Athena 视图,以定义每个日志源的有趣字段。这些视图将被摄取到 QuickSight 数据集中。从这些数据集中,我们生成分析和仪表盘。我们使用 Amazon Q 主题 来标记数据集中人类可读的列,并创建一个 命名实体,以根据问题提供上下文和多可视化的答案。创建主题后,用户可以使用 Q 主题、QuickSight 分析或 QuickSight 仪表盘来进行分析。

您可以使用 rollup AWS 区域 功能在多个区域中聚合日志到一个区域。指定滚集区域可以帮助您遵守区域合规要求。如果您使用了滚集区域,则必须为仅在滚集区域收集数据设置本文所述的解决方案。如果不使用滚集区域,则必须为所需收集数据的每个区域单独部署此解决方案。

使用生成性 AI 在 Security Lake 和 Amazon Q 中创建安全可观察性 安全博客

前提条件

要实现本文描述的解决方案,您必须满足以下要求:

对 Security Lake、Athena 和 QuickSight 有基本了解。已经部署 Security Lake,并接受 CloudTrail 管理事件、VPC 流日志和 Security Hub 发现作为源。如果您还未部署 Security Lake,建议遵循 安全参考架构 中建立的最佳实践。此解决方案使用 Security Lake 数据源版本 2 创建仪表盘和可视化。如果您尚未使用数据源版本 2,您将在 Security Lake 控制台中看到一条带有更新说明的横幅。现有的 QuickSight 部署,将用于可视化 Security Lake 数据,或者可以创建 QuickSight 帐户以进行可视化。使用 Amazon Q 功能需要 QuickSight Author Pro 和 Reader Pro 许可证。非专业作者和读者仍可以访问 Q 主题,前提是专业作者或管理员 Pro 用户与他们共享主题。非专业作者和读者也可以访问数据故事,前提是某位阅读者 Pro、作者 Pro 或管理员 Pro 用户与他们分享了数据故事。请查看 各 QuickSight 许可级别支持的生成式 AI 功能。AWS 身份与访问管理 (IAM) 权限,用于访问 QuickSight、Athena、Lake Formation、Security Lake 和 AWS 资源访问管理器。

在接下来的部分中,我们将逐步介绍如何通过 Athena 视图将 Security Lake 数据摄取到 QuickSight,然后使用 Amazon Q 在 QuickSight 中创建可视化并通过自然语言查询数据。

免费加速器官网

提供跨账户查询访问

根据我们的安全参考架构,最好将 Security Lake 账户与运行可视化和查询工作负载的账户隔离。建议在 安全工具账户 中部署 QuickSight。有关如何设置跨账户查询访问的信息,请参见 如何使用 Amazon QuickSight 可视化 Amazon Security Lake 发现。遵循配置 Security Lake 订阅者部分和配置 Athena 可视化数据部分中的步骤。

当您到达创建资源链接步骤时,将为 Security Hub、CloudTrail 和 VPC 流日志表创建数据源版本 2 的资源链接,总共需要三个资源链接。识别数据源版本 2 表的方法是其名称以 20 结尾。例如:

amazonsecuritylaketableuseast1shfindings20amazonsecuritylaketableuseast1cloudtrailmgmt20amazonsecuritylaketableuseast1vpcflow20

在本文的其余部分中,我们将引用数据库名称为 securitylakevisualization,以及 Security Hub 发现、CloudTrail 日志和 VPC 流日志的资源链接名称,如图 2 所示:

securitylakesharedresourcelinksecurityhub20useast1securitylakesharedresourcelinkcloudtrail20useast1securitylakesharedresourcelinkvpcflow20useast1

我们将快速视图账户称为可视化账户。如果您打算使用与 Security Lake 委派管理者相同的账户和 QuickSight,请跳过此步骤,直接进入下节内容中创建 Athena 视图的步骤。

在 Athena 中创建视图

在 Athena 中,视图是一个逻辑表,有助于通过仅处理相关数据的子集来简化查询。遵循以下步骤在可视化账户的 Athena 中创建三个视图,分别用于 Security Hub 发现、CloudTrail 日志和 VPC 流日志。

这些查询默认为上周的数据,自前一天开始,但您可以通过修改查询中最后一行的数字从 8 改为您希望的天数来更改时间框架。请注意,每个 SPICE 表的大小限制为 1 TB。如果您想要限制数据量,可以删除您认为不必要的行。我们已经包含了客户识别为相关的字段,以减少您自己编写解析细节的负担。

创建视图的步骤:

登录到可视化账户的 AWS 管理控制台并导航到 Athena 控制台。如果使用了 Security Lake 的滚集区域,请选择该区域。选择 启动查询编辑器。如果这是您首次使用 Athena,您需要选择一个存储查询结果的存储桶。选择 编辑设置。选择 浏览 S3。搜索您的存储桶名称。选中存储桶名称前的选项框。选择 选择。在 数据源 中选择 AWSDataCatalog。将 数据库 选为 securitylakevisualization。如果您为跨账户查询访问使用了不同的数据库名称,则选择该数据库。

从 GitHub 仓库 复制此帖中 securityhubview 的查询。如果您使用与本文中指定的名称不同的数据库和表资源链接,请编辑查询底部的 FROM 语句,以反映正确的名称。将查询粘贴到查询编辑器中,然后选择 运行。视图的名称在查询的第一行中设置,即 securityinsightssecurityhubvw2。为确认视图正确创建,选择已创建的视图旁的三个点,选择 预览视图。

通过重复步骤 59,创建 CloudTrail 和 VPC 流日志视图。每个视图的查询可以在 GitHub 仓库 中找到。

创建 QuickSight 数据集

现在您已经创建了视图,可以利用 Athena 作为数据源 创建 QuickSight 数据集。为 Security Hub 发现、CloudTrail 日志和 VPC 流日志重复这些步骤。首先为 Security Hub 发现创建数据集。

配置表权限的步骤:

登录到可视化账户的 QuickSight 控制台。如果使用了 Security Lake 的滚集区域,请选择该区域。如果这是您首次使用 QuickSight,则必须 注册 QuickSight 订阅。虽然有多种方式可以登录 QuickSight,但我们使用了基于 IAM 的访问来构建仪表盘。为使用 QuickSight 与 Athena 和 Lake Formation,您首先需要 授权通过 Lake Formation 的连接。当使用跨账户配置与 AWS Glue 数据目录 时,需要配置对通过 Lake Formation 共享的表的权限。针对本文中的用例,使用以下步骤授予对 Glue 目录中跨账户表的访问权限。您必须对在前述 跨账户查询访问 部分中创建的每个 Security Hub、CloudTrail 和 VPC 流日志表执行这些步骤。因在资源链接上授予权限并不等于对目标链接的数据库或表授予权限,因此您需要分别授予这两个权限,即一次授予目标链接表,然后授予资源链接。

在 Lake Formation 控制台,导航到 表 部分,选择 Security Hub 表的资源链接。例如:

securitylakesharedresourcelinksecurityhub20useast1

选择 操作。在 权限 下,选择 目标上授权。

在下一步中,您需要 QuickSight 用户或组的 Amazon 资源名称ARN。通过 AWS 命令行界面 (CLI) 获取 ARN 的命令如下替换为可视化账户的账户 ID 和区域。您可以使用 AWS CloudShell 来实现此目的。

对于用户

aws quicksight listusers awsaccountid 111122223333 namespace default region useast1

对于组

aws quicksight listgroups awsaccountid 111122223333 namespace default region useast1

在获取了用户或组的 ARN 后,复制该 ARN 并返回 LakeFormation 控制台的 目标上授权 页面。在 主体 部分,选择 SAML 用户和组,然后添加 QuickSight 用户的 ARN。

对于 LF 标签或目录资源,保留默认设置。

对于 表权限,选择 选择 以及 可授权权限 的 选择,然后选择 授权 。

返回到 表 部分,选择 Security Hub 表的资源链接。例如:

securitylakesharedresourcelinksecurityhub20useast1

选择 操作。这一次在 权限 下,选择 授权。

在 主体 部分,选择 SAML 用户和组,然后添加之前捕获的 QuickSight 用户的 ARN。对于 LF 标签或目录资源 部分,使用默认设置。对于 资源链接权限,选择 描述 的 表权限 和 可授权权限。对 CloudTrail 和 VPC 流日志资源链接重复步骤 ak。

从视图创建数据集