如何通过Scheduler自动拉取AWS Security Hub中的数据?
AWS Security Hub 常见使用问题解答
1. Security Hub 数据导出格式支持
AWS Security Hub 控制台不提供原生一键导出为CSV/Excel格式的功能,默认仅支持导出JSON格式的发现(Findings)数据。如果需要CSV/Excel格式,可通过jq、Python脚本对导出的JSON做扁平化结构转换,也可以在后续ETL流程中内置格式转换逻辑实现。
2. Security Hub 与 EventBridge 的集成规则
所有Security Hub的新增发现结果、洞察更新都会自动发送到Amazon EventBridge的默认事件总线,无需额外手动开启。
要查看相关配置可按以下路径操作:打开EventBridge控制台,依次进入「事件总线」-「默认事件总线」,在「规则」页面筛选事件源为aws.securityhub的规则,即可看到所有关联Security Hub事件的EventBridge配置。默认状态下没有预置处理规则,仅完成事件投递。
3. 12小时周期自动拉取数据的实现方案
可选实现方案
- EventBridge 定时触发:创建cron表达式为
0 */12 * * ? *的EventBridge定时规则,触发Lambda调用Security Hub的GetFindingsAPI拉取数据,直接推送至ETL流程入口(如S3、Glue、Kinesis等) - 自建定时任务:在EC2、EKS等自有计算资源中部署定时任务,通过AWS SDK调用
GetFindings接口拉取数据后传入ETL,适合已有成熟自建调度体系的场景 - Security Hub 自动导出S3:配置Security Hub自动将全量发现结果导出到指定S3桶,导出频率最低可设为每日,若能接受最长24小时的延迟,该方案无需额外开发接口调用逻辑,直接将S3作为ETL输入源即可
方案优劣对比
EventBridge不是该场景的唯一实现方式,但属于绝大多数通用场景下的最优选择:它是全托管服务,无需维护服务器资源,定时精度高,和AWS原生服务集成成本极低,且按调用次数计费,成本几乎可忽略。仅当你已有成熟自建调度体系、或者存在特殊自定义逻辑需求时,才需要考虑其他实现方案。
内容的提问来源于stack exchange,提问作者Bokambo
相关产品推荐
相关产品推荐

